tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルFontの判別
記事No8849
投稿日: 2009/04/06(Mon) 23:58
投稿者はりお
初めて投稿させていただきます。

現在VisualStudio2005にて、システムにインストールされているFont
を使うアプリケーションを作成しています。

フォントを使用する際に、英語フォントか、日本語フォントかを
判別させる事は可能なものでしょうか?
Fontクラスのプロパティを各種見ていったのですが、それらを判別する
ための情報は見当たりませんでした。

ネット上でも検索しているのですが、なかなか見つかりません。
・一般的な方法をご存じのかた
・そのあたりの記述のある書籍を知っている
などご教授いただければ幸いです。

以上よろしくお願いいたします。

[ツリー表示へ]
タイトルRe: Fontの判別
記事No8850
投稿日: 2009/04/07(Tue) 03:24
投稿者YuO
> フォントを使用する際に、英語フォントか、日本語フォントかを
> 判別させる事は可能なものでしょうか?
> Fontクラスのプロパティを各種見ていったのですが、それらを判別する
> ための情報は見当たりませんでした。

「英語フォント」「日本語フォント」の定義は何でしょうか。

例えば,Arial Unicode MSというフォントは
・U+005Cはバックスラッシュを表示
・CJK統合漢字を含む
という情報を返します (前者はVSのフォント設定で確認,後者はGetFontUnicodeRanges APIで確認)。
これはどちらのフォントになるでしょうか。

ちなみに,EnumFontFamiliesEx APIで列挙させると,
・SHIFTJIS_CHARSET
・ANSI_CHARSET
・HANGUL_CHARSET
・JOHAB_CHARSET
・GB2312_CHARSET
・CHINESEBIG5_CHARSET
・HEBREW_CHARSET
・ARABIC_CHARSET
・GREEK_CHARSET
・TURKISH_CHARSET
・BALTIC_CHARSET
・EASTEUROPE_CHARSET
・RUSSIAN_CHARSET
・THAI_CHARSET
・VIETNAMESE_CHARSET
が取得できました。

[ツリー表示へ]
タイトルRe^2: Fontの判別
記事No8856
投稿日: 2009/04/08(Wed) 22:05
投稿者はりお
Yuoさん。

早々の返信をいただきましてありがとうございます。

> 「英語フォント」「日本語フォント」の定義は何でしょうか。
すみません。曖昧な表現ですね。
英語フォント:英字+数字+記号の書体が含まれる
日本語フォント:ひらがな、漢字などマルチバイト+英語フォント
という表現でも曖昧でしょうか?

> 例えば,Arial Unicode MSというフォントは
> ・U+005Cはバックスラッシュを表示
> ・CJK統合漢字を含む
> という情報を返します (前者はVSのフォント設定で確認,後者はGetFontUnicodeRanges APIで確認)。
> これはどちらのフォントになるでしょうか。
申し訳ありません、そこまでの知識がなく・・・回答ができません。

> ちなみに,EnumFontFamiliesEx APIで列挙させると,
> ・SHIFTJIS_CHARSET
> ・・・
> ・VIETNAMESE_CHARSET
> が取得できました。
APIという方法がある事を知りませんでした。
APIを使用したことがないのですが、行き詰っていましたので、
これから調査してみます。本当にありがとうございました。

また、他にも何か情報がございましたら補足いただければ幸いです。

[ツリー表示へ]
タイトルRe^2: Fontの判別
記事No8859
投稿日: 2009/04/10(Fri) 02:01
投稿者はりお
Yuoさん

いろいろ調査して、いろんなサンプルを参考にAPIを呼ぶことで
"欧文"、"日本語","アラビア","シンボル"
などをフォント毎に取得できることができました。

取得できたのはいいのですが、まだまだ、処理の内容を理解できていない
ため、もうちょっといろいろ考えてみないといけないです。

Yuoさん、大変有用な情報ありがとうございました。
また、質問する事もあるかとおもいますが、
その際はよろしくお願いいたします。

[ツリー表示へ]