2012年11月26日月曜日

Android 4.2でのフォント変更・AA対応

 先日Android 4.2がリリースされた。いくつかのバグ抱えていたりディレクトリ構成の変更による混乱等が起きているが、基本的にはブラッシュアップされており好ましいアップデートであるように思う。
 Android 4.2では4.1で追加されたfallback_fonts-ja.xmlが無くなり、fallback_fonts.xmlに再統合されている。これは実際にfallback_fonts.xmlを見ての予想なのだが、4.1では使用している言語によって使用するfallback_fonts-xx.xmlを変更していたものを、4.2ではfallback_fonts.xml内で言語を指定してフォントを設定するように使用変更したのだろう。
 上記の様なフォントの指定方法の変更の他、4.2ではフォント自体の種類も増えている。4.1がリリースされた際に追加された"sans-serif-light"で指定されるフォントの他に、"sans-serif-thin"で指定されるフォントが追加された。
 AAに対応させるための方法は、前回と同じように、system_fonts.xmlの先頭でシステムフォントを指定し、その次にMS Pゴシックを指定するように変更すれば良い。
 私としては、折角RobotoフォントがAndroidのために開発されたのだから、アルファベットには優先的にRobotoフォントを使いつつ、日本語には任意のフォントを指定したいので、基本的な日本語フォントについてはfallback_fonts.xml内で指定し、system_fonts.xml内ではシステムフォントにRobotoを、MS Pゴシックにtextarを指定している。細字フォントについては、文字のバランスが崩れるのを防ぐために直接日本語フォントを指定している。/system/fonts/ディレクトリに追加しているフォントは以下の通り。

 私が使用している変更済みのxmlはこちら。Rootに対応したファイラを使用して上書きし、パーミッションを644に変更するか、adb pushコマンドを使用してファイルをプッシュし、chmodコマンドでパーミッションを変更すれば良い。ここに書いていない細かい手順は関連記事を読んだりGoogleで検索する等して調べて下さい。


関連記事

0 件のコメント: