<Archicad 24>
GDLで文字の高さを取得したい場合、requestの“Height_of_style” を使用します。
n = REQUEST ("Height_of_style", name, height [, descent, leading])
与えられた変数に、ミリメートル単位で測定されたスタイルの高さを返します。メートル単位の高さでスクリプトに記述したい場合は、高さに/1000 * GLOB_SCALEを追加します。上記の例の場合、それぞれが下記のようになります。
height: テキストの高さ
descent: テキスト基準線から下部までの高さ
leading: テキスト下部から次のテキストまでの高さ
記述した2Dスクリプト上で設定したテキストスタイルから文字高さを取得する場合、下記のように記述します。TextSizeが設定し文字高さになるので、その高さをRequestで取得しheightという変数に返します。
2Dスクリプトに記述:
TextSize = 3
DEFINE STYLE "textstyle" "Meiryo UI 日本語", TextSize, 7, 0
SET STYLE "textstyle"
height = 0
descent = 0
leading = 0
n = REQUEST ("Height_of_style", "textstyle", height, descent, leading)
parameters height = height
parameters descent = descent
parameters leading = leading
そちらを線分として記述すると気には、㎜での数値を取得しているので、高さに/1000 * GLOB_SCALEを追加します。先ほどの上記スクリプトに続いて下記のように記述します。
text2 0, 0, "abcdefg"
line2 0, 0, 0, height / 1000 * GLOB_SCALE
こちらで文字の高さに合わせた線分を記述できます。
文字幅を取得したい場合は、GDLでテキスト文字幅を取得する方法をご確認ください。
コメント
0件のコメント
記事コメントは受け付けていません。