2012/06/05

Android 4.0 ICS のフォント入れ替え

Android 4.0 Ice Cream Sandwich をインストールした Xperia arc のフォントを入れ替えたいと思います。海外版 Xperia arc LT15i のファームウェアを書き込んだのでフォントが中国語っぽいんですよね。気になる方は root 取得してフォントを入れ替えてしまいましょう。なお、以下の手順は Xperia arc 以外の Android 4.0 端末にも適用可能です。

以下の手順であなたの Xperia arc や PC 本体に何らかの問題が生じても、
私は責任を負うことができません。ご理解いただける方のみこの文章をお読み下さい。

1. 用意するもの

フォントは ttf 形式なら適用可能です。モトヤマルベリを使っている方が多いと思いますが、Windows に入っている ttf 形式のフォントや、breakttc を使って ttc ファイルから取り出した ttf ファイルを使うことも可能です。ファイル名は DroidSansJapanese.ttf に変更しておきます。

>breakttc.exe XXXXX.ttc
rename FONT00.TTF DroidSansJapanese.ttf

2. /system を書き込み可能に変更

設定アプリの開発者オプション - USB デバッグを有効にしてから PC と USB で接続します。デバイスマネージャで Android ADB Interface として認識されていることを確認します。不明なデバイスになっていたら、Android SDK と一緒にインストールした Google USB Driver を選択すれば OK です。

以下のコマンドを実行して /system を書き込み可能でマウントします。

>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
shell@android:/ $ su
shell@android:/ # mount -o rw,remount /system
shell@android:/ # mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 rw,relatime 0 0
/dev/block/mtdblock2 /data yaffs2 rw,nosuid,nodev,relatime 0 0
/dev/block/mtdblock3 /cache yaffs2 rw,nosuid,nodev,relatime 0 0
/dev/block/mtdblock1 /system/vendor yaffs2 ro,relatime 0 0
/dev/block/vold/179:1 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,a
llow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:1 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0
702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0

3. フォントファイルを転送

次に /system/fonts を書き込み可能に変更します。

shell@android:/ # chmod 777 /system/fonts
shell@android:/ # ls -ld /system/fonts
drwxrwxrwx root     root              2012-06-04 22:07 fonts

フォントファイルを DroidSansJapanese.ttf に rename してから、/system/fonts に転送します。(別のコマンドプロンプトを立ち上げておくと便利です)

>adb push DroidSansJapanese.ttf /system/fonts
3890 KB/s (7514468 bytes in 1.886s)

ファイルの属性を揃えます。

shell@android:/ # chmod 644 /system/fonts/DroidSansJapanese.ttf
shell@android:/ # chown root.root /system/fonts/DroidSansJapanese.ttf
shell@android:/ # ls -l /system/fonts/DroidSansJapanese.ttf
-rw-r--r-- root     root      7514468 2012-04-13 00:54 DroidSansJapanese.ttf

/system/fonts は元に戻しておきます。

shell@android:/ # chmod 755 /system/fonts
shell@android:/ # ls -ld /system/fonts
drwxr-xr-x root     root              2012-06-04 23:44 fonts

3. フォント設定を変更

Android 2.3 Gingerbread までならこれで終了ですが、Android 3.0 Honeycomb 以降では追加したフォントを fallback_fonts.xml に追加しなければなりません。まず /system/etc を書き込み可能に変更します。

shell@android:/ # chmod 777 /system/etc
shell@android:/ # ls -ld /system/etc
drwxrwxrwx root     root              2012-06-04 22:07 etc

端末にある fallback_fonts.xml を PC にコピーします。(別のコマンドプロンプトで作業すると便利です)

>adb pull /system/etc/fallback_fonts.xml
67 KB/s (2689 bytes in 0.039s)

テキストエディタで fallback_fonts.xml を開き、DroidSansFallback.ttf の直前に DroidSansJapanese.ttf を追加します。

    <family>
        <fileset>
            <file>Lohit-Tamil.ttf</file>
        </fileset>
    </family>
    <family>
        <fileset>
            <file>DroidSansJapanese.ttf</file>
        </fileset>
    </family>
    <family>
        <fileset>
            <file>DroidSansFallback.ttf</file>
        </fileset>
    </family>
</familyset>

fallback_fonts.xml を端末に戻します。(別のコマンドプロンプトで作業すると便利です)

>adb push fallback_fonts.xml /system/etc
273 KB/s (2800 bytes in 0.010s)

ファイルの属性を揃えます。

shell@android:/ # chmod 644 /system/etc/fallback_fonts.xml
shell@android:/ # chown root.root /system/etc/fallback_fonts.xml
shell@android:/ # ls -l /system/etc/fallback_fonts.xml
-rw-r--r-- root     root         2800 2012-04-13 00:54 fallback_fonts.xml

/system/etc を元に戻しておきます。

shell@android:/ # chmod 755 /system/etc
shell@android:/ # ls -ld /system/etc
drwxr-xr-x root     root              2012-06-04 23:59 etc

再起動します。

shell@android:/ # sync
shell@android:/ # reboot

再起動前の画面ショットです。無線の「線」や選択の「選」が中国語フォントになっていることが分かると思います。

再起動後は日本語フォントになっています。字形の違い以上に見慣れているフォントというだけで結構使いやすいものです。

この方法は Xperia arc 以外の Android 4.0 端末にも適用可能です。Motorola XOOM と Galaxy Nexus で確認済みです。

上記の手順であなたの Xperia arc や PC 本体に何らかの問題が生じても、
私は責任を負うことができません。ご理解いただける方のみこの文章をお読み下さい。

0 件のコメント:

コメントを投稿