ページ 11

ver2.62 フォントの設定について

Posted: 2005年9月17日(土) 02:26
by jacoby
ver2.62を使っています。
TextOut命令文で画面に色々なフォントの文字を
表示しようとノートパッドのフォント設定を参考に
下の様にプログラムを書いたのですが…

コード: 全て選択


Text$="Font Test"
TextOut 100,100,Text$,7,0,20,20,"MS 明朝"
TextOut 100,120,Text$,7,0,20,20,"MS ゴシック"
TextOut 100,140,Text$,7,0,20,20,"FixedSys"
TextOut 100,160,Text$,7,0,20,20,"Courier"
TextOut 100,180,Text$,7,0,20,20,"Westminster"
TextOut 100,200,Text$,7,0,20,20,"MS Serif"
 画面を見る限り、"MS 明朝"と"MS ゴシック"は
その通り表示されているように思うのですか、
その他、"Courier","Westminster","MS Serif"など
は"MS ゴシック"と同じ様に見えています。
 "FixedSys"もノートパッドで見たのとはちょっと
違うような。

 ver2.62、TextOut命令文でのフォントの正しい
設定の方法は、どのようなものでしょうか。
 教えて頂ければと思っています。

Posted: 2005年9月17日(土) 02:43
by マティ
[AB4]しか使った事がありませんが・・・
一般的に、フォント名を指定する場合は、全角/半角、大文字/小文字を完璧に指定する必要があります。
その辺は大丈夫ですか?

返信ありがとうございます。

Posted: 2005年9月17日(土) 02:59
by jacoby
 返信ありがとうございます。
半角で打ったり、全角にしてみたり色々試してはいるんですが、中々。

上のプログラムでは
"FixedSys","Courier","Westminster"
は半角で、

"MS Serif"
は全角で書いています。

Posted: 2005年9月17日(土) 09:06
by イグトランス
これは私の推測ですが、AB2のTextOut命令はおそらく内部でCreateFontを呼ぶときにSHIFTJIS_CHARSETを指定しているからではないかと思います。
なので必ず日本語フォントが使われるようになっているのではないでしょうか。

Posted: 2005年9月17日(土) 17:52
by ナナシ
フォント名ではなくてText$の中身が問題かもしれません。
Text$の中身はアルファベット(半角文字)ですか?

FixedSys等の多くのフォントはアルファベットや記号のデータしか含まないため、その中に無い2バイト文字はデフォルトのフォント(MS PゴシックかMS UIゴシック辺りと思われる)になってしまいます。
つまり日本語を表示すると"FixedSys","Courier","Westminster"の間に差はありません。

正しい見分け方ではありませんが、コントロールパネルのフォントで数M単位のファイルサイズがあるフォントは日本語データを含んでいる可能性が高いです。

でももしかするとイグトランスさんの説
これは私の推測ですが、AB2のTextOut命令はおそらく内部でCreateFontを呼ぶときにSHIFTJIS_CHARSETを指定しているからではないかと思います。
なので必ず日本語フォントが使われるようになっているのではないでしょうか。
かもしれません。
こっちが原因だとどうにもならないですね。(おそらく関係ない、と思うのですが。)

ありがとうございます。

Posted: 2005年9月18日(日) 23:25
by jacoby
イグトランスさん、ナナシさん、返信ありがとうございます。

ナナシさんの言われていたText$の中身、確認したんですが
半角英数になってました。
イグトランスさんの解説通りなら、これはやっぱり、僕ではどうにも
ならんですね。(笑)
 すっぱり気を変えて、使える範囲内のフォントで設定することに
したいと思います。

返信遅れてすみません。レクありがとうございました。
またよろしくお願いします。