フォント遊び
#wp7dev_jp
Windows Phone はOSとしてフォントを拡張することはできません。しかしSilverlightアプリケーションはアプリケーションの中にフォントを含めて利用することはできます。効率は悪いですが、自分のアプリでぜひ試したいというのであれば、選択肢として考えてみるのもいいでしょう。
ただ、ライセンス上で問題がある場合があるのでそこは注意です。今回はフリーのライセンスフォント Migu 1Cを試してみました。埋め込んで配布の際には、IPAフォントライセンスに従い、例えばIPAフォントライセンスAgreementなどをアプリの中で表示できるようにする必要があります(ヘルプなど)フォントサイズは約3.2MB。大きな画像ファイルと思えば気になるサイズでもない。32GBのIS12Tにはどうって事ないサイズ。
ちなみに、英語フォントなら種類も山ほどあるので、うまく使えるかも。
さて、本題。
フォントはプロジェクトに追加して、コンパイルオプションをResourceとします。コードからの利用方法はこんな感じ。(本ではp397の19.12)
<ListBox Name="listBox1" FontSize="28" FontFamily="/PhoneApp36;component/fonts/migu-1c-regular.ttf#Migu 1C"/>
Yu Gothic を使うならこう変えればいい。
<ListBox Name="listBox1" FontSize="28" FontFamily="Yu Gothic"/>
コードから動的に変える場合も同じ。FontFamily で指定する。
listBox1.FontFamily = new FontFamily("/PhoneApp36;component/fonts/migu-1c-regular.ttf#Migu 1C");
もしくは、
listBox1.FontFamily = new FontFamily("Yu Gothic");
見た感じはこうだ。左が、Migu 1C。右が YuGothic。
下が黒。前も言ったことがあるが、文字を読むなら白背景のほうが見やすいと思う。
デザインによるアプローチもあるがこういった、フォントによるアプローチというのもありかと。Yu Gothic, Meiryo UI、そして追加したフォントの切り替えはそれほど難しくはないので、ユーザーの選択肢として機能を付けてみるのもいいかもしれない。