日本語フォントの一覧作成2018年02月24日 08:47

Windows10で新しい日本語フォントも登場したこともあり、日本語フォントを確認できるツールを用意しようと思い立つ。いつまでも「文字コード表」の小さな画面とにらめっこするのも芸がない。

ところが、UWPで使える.NETでは、フォントの取得はままならない。FontFamilyのclassもプロパティが2つだけ。そこで、nugetでWin2Dを導入する。

日本語フォントのリストアップ

CanvasTextFormatのGetSystemFontFamiliesもあるが、ここでは、CanvasFontSetのGetSystemFontSetを使う(行39)。Fontsプロパティが、CanvasFontFaceで、ここからHasCharacterを使って、文字コードのあるなしを判定できる。

動かしてみると、日本語のフォント一覧が取得できたようだが、何か足りない。Windowsが標準で利用する"Yu Gothic UI"などが入っていない。

Debug出力

CanvasFontFaceのFamilyNamesやFaceNamesはDictionaryになっており、言語を表すキー別に複数保持できるようになっている。当然、日本語フォントは、"ja-jp"だろうと思っていたら、"Yu Gothic UI"は、"en-us"。

結局、両方をチェックすることで(最初の図、行74)、"Yu Gothic UI"を取り出すことができる。副作用として、一部の中華系のフォントも入ってくる。ひらかな、カタカナ、漢字の代表を決めて、HasCharacterで判定をしているが、中華系のフォントにも、カナ文字のコードが割り当ててあり、判別できない。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://c5d5e5.asablo.jp/blog/2018/02/24/8793385/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。