Jw_cad 情報交換室−その3New

 JWW についての情報交換の場としてお使いください
初心者の方などのご相談は Jw_cad 相談 室−その2をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください

2009年9月以前の発言過去ログのページからご覧ください。

それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。


新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム
15 / 328 ツリー    ←次へ | 前へ→

文字列の長さを実寸で知る 英人 21/8/10(火) 14:15

Re:文字列の長さを実寸で知る kojima 21/8/11(水) 13:45
Re:文字列の長さを実寸で知る 英人 21/8/18(水) 13:11

Re:文字列の長さを実寸で知る
 kojima  - 21/8/11(水) 13:45 -
▼英人さん:
>お世話になります。
>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です。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MALNJS; rv:11.0) like Gecko@ai126160215192.39.access-internet.ne.jp>
・ツリー全体表示

Re:文字列の長さを実寸で知る
 英人 E-MAIL  - 21/8/18(水) 13:11 -
▼kojimaさん:
遅くなりまして申し訳ありません。

>▼英人さん:
>>お世話になります。
>>JW ver5.11eから 最新の8.24aへ乗り換え中です。
>>ver5.11eのとき作っていた外変の移植をしていますが、文字列の長さを実寸で求める方法を教えていただけたらと思います。
>>
>>当時は、全角と半角で文字幅を計算し、文字間隔を加える方法で計算していました。現在は、MS ゴシックを使用すれば、同じのように思えますが、
>>他のフォントを使用した場合は、どうなのでしょうか。
>
>図寸・実寸ともフォントの種類は無関係です。
>(見た目の感覚と差異があるかも?)

フォントによっては、文字の配置を調整して表現されているものもありますよね。
それが、JWでは1文字毎に位置調整されて画面と、プリンターに出力されているのかな?
それとも、文字列の幅と高さに倍率をかけて従来と近い値にしているのかな?
と考えた次第です。
PictureBoxに文字を表示するときに、MeasureTextという関数があって、
textSize = TextRenderer.MeasureText(word, dfnt)
こんな風に使っていました。(Visual Basic)

文字の長さの実寸は、今までどおりで良いと教えていただいて、ありがとうございます。

全角と半角の文字をプログラムで判別するのに、
Visual Studio 2005でのBasicで使っていたものが使えなくなったので、
苦労しているときに、上記のことを考えたのです。
一応、そちらも解決いたしましたので、別に投稿しておきます。
ありがとうございました。


>
>>
>>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です。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0@pl39246.ag2525.nttpc.ne.jp>
・ツリー全体表示

15 / 328 ツリー    ←次へ | 前へ→
新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム
 1243994
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b5
Jw_cad Copyright (C)1997-2021 Jiro Shimizu & Yoshifumi Tanaka