どせいたんさき。

ナスダヨー

nexus7 の root 取得と fallback_fonts.xml の編集について

動機

nexus7 を購入した.持ち歩くのに手頃な大きさだしサクサク動くのでとても満足している.ところで,言語設定を英語にして使っているのだけど,どうもフォントの表示がおかしい.レンダリングそのものはとても綺麗なのだけど,どうやら言語設定が日本語ではない場合には俗に言う『中華フォント』が優先的に利用されてしまうらしい. Android 4.0 から日本語には「モトヤフォント」というクオリティの高いフォントが利用できるはずなので,ぜひ“言語設定を英語にしたまま”で日本語のフォントを変えたい.そのためには端末の root 権限をとる必要がありそうである.

なお,『中華フォント』(Droid Sans Fallback)の詳細については以下のエントリが詳しい.

nexus7 の root 取得手順

xda にて公開されている“Google Nexus 7 TOOLKIT V2.0.0”を使用(for Windows).

toolkit の具体的な使用方法については以下のページにスクリーンショット付きで詳しく記述してあるので参考にした. root 権限を取得したついでに ClockWorkMod というカスタムリカバリもインストールしておいた.なお,ブートローダをアンロックすると全データが初期化されるので重要なデータはその前にバックアップしておくこと.また root 権限の奪取はブートローダのアンロック後にする必要があるが,アンロック直後は USB デバッグモードが disable になっているので一度初期設定をやり直して USB デバッグモードを enable にしておく必要がある.

  1. Nexus 7のドライバインストール方法。
  2. Nexus 7のブートローダーアンロック(Bootloader Unlock)方法。
  3. Nexus 7のRoot化方法・手順。
  4. Nexus 7にClockWorkModやTWRPのカスタムリカバリをインストールする方法。

fallback_fonts.xml の編集

どのフォントを優先的に使うかの設定は /system/etc/fallback_fonts.xml に記述されている.言語設定を日本語にすると /system/etc/fallback_fonts-ja.xml という設定ファイルが優先的に使用され,『中華フォント』から日本語フォントに切り替わる.

fallback_fonts.xml の末尾 3 エントリは次のような記述になっている.

  <family>
    <fileset>
      <file>AndroidEmoji.ttf</file>
    </fileset>
  </family>
  <family>
    <fileset>
      <file>DroidSansFallback.ttf</file>
    </fileset>
  </family>
  <family>
    <fileset>
      <file>MTLmr3m.ttf</file>
    </fileset>
  </family>

fallback_fonts-ja.xml のとの違いは MTLmr3m.ttf (モトヤLマルベリ3等幅) と DroidSansFallback.ttf (Droid Sans Fallback) との順番が逆になっているだけ.このリストは上から順に優先的に適用されるので,モトヤフォントを有効にしたければこの 2 つのエントリの順番を交換すればよい.

直接編集できるアプリをインストールしていなかったので fallback_fonts.xml をコピーしてパソコンに送信,編集したのち nexus7 に送信, Android Terminal Emulator というアプリを使用して Donwloads から /system/etc/ にコピーした(参考).単に fallback_fonts.xmlfallback_fonts-ja.xml で上書きコピーするだけでも大丈夫かもしれない.

su
mount -o remount,rw /system
dd if=/sdcard/Download/fallback_fonts.xml of=/system/etc/fallback_fonts.xml
mount -o remount,ro /system


再起動したところ無事に“言語設定を英語にしたままモトヤフォントを有効にする”という当初の目的が達成されており大変満足している.