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

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
jacoby

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

#1 投稿記事 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命令文でのフォントの正しい
設定の方法は、どのようなものでしょうか。
 教えて頂ければと思っています。
マティ
記事: 161
登録日時: 2005年8月23日(火) 00:15
お住まい: 沖縄県
連絡する:

#2 投稿記事 by マティ »

[AB4]しか使った事がありませんが・・・
一般的に、フォント名を指定する場合は、全角/半角、大文字/小文字を完璧に指定する必要があります。
その辺は大丈夫ですか?
jacoby

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

#3 投稿記事 by jacoby »

 返信ありがとうございます。
半角で打ったり、全角にしてみたり色々試してはいるんですが、中々。

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

"MS Serif"
は全角で書いています。
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#4 投稿記事 by イグトランス »

これは私の推測ですが、AB2のTextOut命令はおそらく内部でCreateFontを呼ぶときにSHIFTJIS_CHARSETを指定しているからではないかと思います。
なので必ず日本語フォントが使われるようになっているのではないでしょうか。
ナナシ
記事: 11
登録日時: 2005年6月19日(日) 21:21
お住まい: 石川県
連絡する:

#5 投稿記事 by ナナシ »

フォント名ではなくてText$の中身が問題かもしれません。
Text$の中身はアルファベット(半角文字)ですか?

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

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

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

ありがとうございます。

#6 投稿記事 by jacoby »

イグトランスさん、ナナシさん、返信ありがとうございます。

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

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

 
返信する