さまざまな物や事に関する、役に立ったり立たなかったりするテキストが綴られるブログ。

2017/04/06

[Android] 日本語フォントを変更してみる(Nougat編)

システムフォントをお好みで
メインで使用中のNexus5にはAndroid7.x(Nougat)を入れているのですが、初期導入時にAndroid6.x(MarshMallow)で使用していたフォント変更用のzipファイルをそのまま適用したところ、特に問題なく動きました。

このためROMを書き換えるたびにそのzipファイルをそのまま使用していたのですが、Nougatではフォントの管理が少々変わったらしく、fallback_fonts.xmlが廃止されました。

ただ、fonts.xml自体に大きな違いはなく、MarshMallowの設定でも問題が発生しなかったようです。とは言え、使わなくなったファイルをインストールするのも気持ち悪いので、その辺を修正することに。

今回の作業ですが、root権限がユーザ側にあること(いわゆるroot化済みであること)、LineageOS系のROMであること、の2点が前提条件となります。

システムファイルをいじるので前者に関しては説明の必要もありませんが、LineageOS系以外のROMにおいてはfonts.xmlの記述が異なったりするかもしれないのでご注意くだされ。

また、実際の作業にあたっては、事前にバックアップの実行をお忘れなく。フォントのインストールに失敗した場合、ブートループになったり、メッセージ類を読むことができなくなったりする可能性があります。

作業自体はさほど難しいモノではありません。まずは、適用したいフォントファイル(TrueType)を/system/fontsにコピーし、続いて/system/etc/fonts.xmlを編集すれば基本的には作業完了です。

変更後はこんな感じになります
fonts.xmlの編集に関してですが、PCを使える環境にあるなら一度PCにコピーして加工すると楽に行える...ような気が。

で、具体的な変更部分は以下のとおり。ファイルをテキストエディタなどで開いて該当する行を探します。おそらく文末に近い位置にあるかと。

■変更前
<family lang="ja">
    <font weight="400" style="normal" index="0">NotoSansCJK-Regular.ttc</font>
</family>

上記が見つかったら、以下のように書き換えます。なお、ここではレギュラーなフォントファイルであるmigu-1vs-regular.ttf、および太字のmigu-1vs-bold.ttfの2つを指定しています。

■変更後
<family lang="ja">
    <font weight="400" style="normal">migu-1vs-regular.ttf</font>
    <font weight="700" style="normal">migu-1vs-bold.ttf</font>
</family>

記述に間違いがないかチェックしてファイルを上書き保存。最後に、コピーしたフォントと(念のため)fonts.xmlのパーミッションを確認し、必要があれば書き換えます。ちなみに、いずれも644(rw-r--r--)が正解。

あとは端末を再起動すれば設定したフォントが有効になります。駆け足での解説となりましたが、何かの参考になりますれば。



Related Posts with Thumbnails

0 件のコメント:

新しい投稿へ 以前の投稿へ ホームへ