▼英人さん:
>お世話になります。
>JW ver5.11eから 最新の8.24aへ乗り換え中です。
>ver5.11eのとき作っていた外変の移植をしていますが、文字列の長さを実寸で求める方法を教えていただけたらと思います。
>
>当時は、全角と半角で文字幅を計算し、文字間隔を加える方法で計算していました。現在は、MS ゴシックを使用すれば、同じのように思えますが、
>他のフォントを使用した場合は、どうなのでしょうか。
図寸・実寸ともフォントの種類は無関係です。
(見た目の感覚と差異があるかも?)
>
>Visual Studioで Basicで開発していますが、全角、半角が昔の処理ではうまく判別できないのもあり、さらにフォントが違う場合にはどうするのだろうかと思っています。四角の枠にぴったり文字を入れ、印刷までする予定です。
作図済の文字列の場合は、somenさんのレスの通りです。
そうでない時は、
jwc_temptxtの以下の項目から、図寸*縮尺倍率でだします。
hs 50 100 200 30 30 30 30 30 30 30 30 30 30 30 30 1#レイヤグループ毎の縮尺の逆数
hcw 1.4 1.8 2.4 3.2 3.5 4.2 7 8 9 10#文字種毎の幅
hch 2 2.5 3 4 5 6 7 8 9 10#文字種毎の高さ
hcd 0 0 0 0.5 0.5 1 1 2 2 2#文字種毎の間隔
半角文字の場合は、文字幅・文字間隔ともに1/2になります。
文字列を1文字単位にして、幅と間隔を合計する。(図寸)
合計値に縮尺の逆数(倍率)を掛算する。
半角・全角が混じった文字列の場合は、文字間隔は前の文字に依存します。
半角文字・全角文字の並びだと文字間隔は*1/2となり
全角文字・半角文字の並びだと文字間隔は*1です。