先日、GoogleがAdobeと共同開発でオープンソースなフォント、Noto Sans CJKをリリースしました。
Google Nexus シリーズで、このフォントをシステムフォントとして使う方法を記録しておきます。
前提条件
- Google Nexus シリーズでの設定方法(Nexus 7(2013) と Nexus 4 で確認)。他のAndroid端末で流用できるかは分かりません。
- システム領域を変更するので端末がroot化されている必要があります。
- お約束通り、無保証。端末が文鎮化しても知りません。
フォントを設置する
Noto Sans Japaneseからフォントをダウンロードしてきます。ここでは、
- NotoSansJP-Regular.otf(通常用)
- NotoSansJP-Bold.otf(太字用)
を使用するので、これら2つのフォントをGoogle Nexus端末の /system/fonts ディレクトリに設置します(別に7ウェイト全部置いておいても構わない)。
設置したファイルのパーミッションを644(-rw-r--r--)にします。
※追記
通常用・太字用という区別は無いのかもしれません。
使用するファイルは1つのみで、太字などはそれを元に作成するみたいです。
フォント設定ファイルの書き換え
フォント設定ファイル /system/etc/fallback_fonts.xml の、日本語フォント指定部分を書き換えます。
<family>
<fileset>
<file lang="ja">MTLmr3m.ttf</file>
</fileset>
</family>
上記のMTLmr3m.ttf(モトヤフォント)の指定部分を、以下のようにNoto Sans Japaneseを指定するように書き換えます。
ちなみに、この指定部分のすぐ上にあるDroidSansFallback.ttfの設定より上に記述するように解説しているサイトがありますが、特に記述順は変えなくても良いようです。
<family>
<fileset>
<file lang="ja">NotoSansJP-Regular.otf</file>
<file lang="ja">NotoSansJP-Bold.otf</file>
</fileset>
</family>
fallback_fonts.xmlのパーミッションを644(-rw-r--r--)にします。
※追記
前述の追記のとおり太字用の指定などは無いようなので、NotoSansJP-Regular.otfのみの指定でよさそうです。
パーミッションに注意
太字で注記しましたが、ファイルのパーミッションが644(-rx-r--r--)でなければならない事に注意する必要があります。
上の手順を試すときにfallback_fonts.xmlを一旦Dropboxにあげて編集して書き戻す、という事をやっていたのですが、書き戻した時にパーミッションが660(-rw-rw----)になっており、再起動すると日本語のフォントが表示されないという事態に陥りました。なんとかアルファベットで表示される部分だけをたよりに復旧できましたが、最初は上手くいかない原因がわからず悩みました。
再起動
フォントの設置と、設定ファイルの書き換えが済んだら端末を再起動すれば、システムフォントがNoto Sans Japaneseになります。
追記 源真ゴシックPを使用する
Noto Sans Japaneseはプロポーショナルフォントなのですが、幅が変わるのはアルファベットと記号のみで、ひらがなやカタカナは等幅になるため、日本語の文章がやや間延びした表示になります。
源真ゴシックは、Noto Sans Japaneseを元に色々な調整が施されたフォントファミリーで、ひらがなやカタカナもプロポーショナルフォントに対応させた「源真ゴシックP」が用意されています。幅の狭いひらがなやカタカナの文字が詰めて表示されるので、より自然な表示をすることができます。
上述の NotoSansJP-Regular.otf を GenShinGothic-P-Regular.ttf あたりに置き換えることで、システムフォントに源真ゴシックPを使用することが可能です。