日本語を表示する。(その2)

前の日記で

SetFontSource で TextBlock にフォント設定する方法は、なにか正常に動作しない場合があったような気がします。ちょっとそれは詳しく見てないので、また後日。

って書いてましたが、その内容を思い出したので書きます。結論として先に書いておくと、正常に動作しないのではなく、仕様でした。

メイリオやMS ゴシックなどのフォントで前の日記のコードを実行した場合、下のようなダイアログが表示されました。

これはメイリオやMS ゴシックのフォントが含まれているファイルがフォントコレクションであるため発生します(メイリオmeiryo.ttc 、MS ゴシックはmsgothic.ttc)。ちなみに前回の日記のフォントはIPAゴシックでフォントが単体で含まれるファイルでした。

SDKを見てみるとシレッと以下が記載されてました。

The downloaded content can either be an individual font file or packaged content, such as a Zip file, that contains one or more font files.

individual font file ってことでフォントコレクションのファイルはどうやらだめらしいです。しかし、zipで複数のフォントファイルを固めたものは大丈夫らしいです。

ってことで前回のIPAゴシックと、もうひとつIPAゴシックのプロポーショナルを ZIP で圧縮して試してみたところ、無事両フォントとも表示することができました。



今回はあまり日本語関係なかったですね・・・。

あっ、ちなみに Silverlight のバージョンは 1.1 のPreAlpha です。まぁ、でもここら辺の動きは1.0の機能だけの動きなので 1.0 でも同様の動きをすると思います。