Xperia pro/mini proで日本語と絵文字のフォントを導入する2012/01/29 14:01

Xperia pro/mini proは、そのままでも日本語表示はできるが、漢字フォントのデ
ザインが中華圏のものとなっていて、日本人にはかなり違和感がある。ちゃんとし
た日本語の漢字フォントを導入してしまおう。ついでに、ケータイ絵文字のフォン
トも導入しておくと何かと便利。

この作業は、要rootedなので、事前にrootを取っておくこと。busyboxも必ず導入
しておくこと(busyboxは/system/xbinにリンクを展開しておくこと)。

主な作業は、Windows PCで行っているので、他の環境で行う場合は、独自に対応し
て欲しい。特定のフォントを使って説明しているが、他に好みのフォントがある場
合は、フォント名を読み替えて、同様にやってみると良いだろう。

※注意事項
  以下、すべて自己責任で行うこと。端末が動作しなくなったり、何らかの動作不
  良となった場合でも、一切の保証は行わないので、そのことを了承した上で操作
  する事。

※Xperia pro/mini proでは、DroidSansFallback.ttfにCJK(中華圏、日本、韓国)
  フォントが入っている。絵文字フォントを使うためにDroidSansFallback.ttfを
  絵文字フォントで入れ替えると、中華漢字やハングルが表示できなくなってしま
  う。絵文字フォントは、DroidSansJapanese.ttf側にマージした方が良い。以下、
  マージの手順も含めて説明する。

使用するフォント:
  以下の2つのフォントを使用する。
  (1) Migu 1M
    このフォントの特徴は…
    ・テキストエディタで利用しやすい「等幅フォント」である。
    ・半濁点(゜)を大きくしていて、濁点(゛)と判別しやすい。
    ・漢数字の「一」と長音記号「ー」の字形の差がしっかりしている。
  (2) 絵文字結合済みフォント Helvetica
    これは、絵文字入りフォント。アニメーションなしで白黒表示になるが、絵文
    字が表示できるので、ケータイ向けWebサイトの表示やケータイメールを受け
    た時等で便利。

フォントの入手先:
  (1) Migu 1M
    M+とIPAの合成フォント
      http://mix-mplus-ipa.sourceforge.jp/
    ここの「DOWNLOAD」より、以下の「Migu 1M」のZIPファイルをダウンロードす
    る。
      migu-1m-20111002.zip (2012/01/23現在の最新ファイル)
    これを展開して「migu-1m-regular.ttf」を取り出す。
  (2) 絵文字結合済みフォント Helvetica
    iPhoneにも絵文字を!
      http://cova.sakura.ne.jp/sb/
    ここの「絵文字結合済みフォント(emoji_font.zip)」をダウンロードする。
    これを展開して「Helvetica.ttf」を取り出す。

フォントマージツール:
  fontforge というツールを使用する。以下から入手してインストールしておく。
    http://www.geocities.jp/meir000/fontforge/

フォントのマージ:
  1)フォントファイルを開く
    fontforgeでHelvetica.ttfとmigu-1m-regular.ttfを開く。
    fontforgeを起動すると、「フォントを開く」の画面になるので、ファイルを
    選択してHelvetica.ttfを開く。
    続いて、[ファイル]→[開く]で、また「フォントを開く」の画面になるので、
    migu-1m-regular.ttfを開く。
    これで、2つのフォントが同時に開いた状態になる。
  2)フォントのサイズ調整
    それぞれのフォントの定義サイズが異なるので、そのままマージすると表示し
    た時に、絵文字のサイズだけ異常になる。両方のフォント情報を確認して、サ
    イズ調整を行う。フォント情報は、[エレメント]→[フォント情報]で確認でき
    る。ここの[一般情報]を見て、Helvetica.ttfのサイズをmigu-1m-regular.ttf
    に合わせて調整しよう。
    具体的には、Helvetica.ttfの[エレメント]→[フォント情報]で、[一般情報]
    を表示して、以下の項目を変更する。
      [高さ]        1638 →  860
      [深さ]         410 →  140
      [下線の位置]  -105 → -100
      [Height]       101 →   50
    以上の変更をしたら、[OK]で、フォント全体のグリフの変形(サイズ変更)が始
    まるので、終了するまで待つ。
  3)絵文字のグリフをmigu-1m-regular.ttfへコピー
    Helvetica.ttfの57345文字目(U+E001)から57434文字目(U+E05A)を選択してコ
    ピー(Ctrl+C)する。
    migu-1m-regular.ttfの57345文字目を選択して貼り付ける(Ctrl + V)。これで
    57434文字目(U+E05A)まで絵文字が入る。
    同様に、下記の範囲の絵文字をすべてコピーして貼り付ける。
        57345(U+E001) ~ 57434(U+E05A) (これは、上記の説明で示した領域)
        57601(U+E101) ~ 57690(U+E15A)
        57857(U+E201) ~ 57939(U+E253)
        58113(U+E301) ~ 58189(U+E34D)
        58369(U+E401) ~ 58444(U+E44C)
        58625(U+E501) ~ 58679(U+E537)
        58942(U+E63E) ~ 59223(U+E757)
        63743(U+F8FF)
     これで、絵文字のマージが終わったので、マージしたフォントをファイルに
     出力する。migu-1m-regular.ttf側で、[ファイル] → [フォントを出力]で
     フォントファイルの名前を「DroidSansJapanese.ttf」、フォントタイプは
     「TrueType」で[ビットマップフォント無し」として、「保存」する。警告メ
     ッセージやエラーメッセージが出るが気にせず続行して最終的に「保存」す
     れば良い。
     最後に、fontforgeを終了させる。[ファイル]→[終了]で、[保存しない]を
     選択して終了させる。
     以上で、絵文字がマージされたフォントファイルDroidSansJapanese.ttfが完
     成。

入れ替えの準備:
  以下の内容のファイルをテキストエディタで作成しておく(改行コードはLFのみ
  とすること)。
    ファイル名: cpfonts.sh
                     このファイルは、ここからダウンロードできるようにしておいた。
    内容: (行頭の#や$も意味があるので、略さず入れる事)
===
#!/system/bin/sh
bin=/system/bin
bbx=/system/xbin
$bin/mount -o remount,rw /dev/block/mtdblock0 /system
echo "-- Copy DroidSansJapanese.ttf."
$bbx/cp /sdcard/fonts/DroidSansJapanese.ttf /system/fonts/DroidSansJapanese.ttf
$bin/chmod 644 /system/fonts/DroidSansJapanese.ttf
$bin/chown root.root /system/fonts/DroidSansJapanese.ttf
if [ -e /system/fonts/DroidSansSemcCJK.ttf ]; then
  echo "** Rename DroidSansSemcCJK.ttf to DroidSansSemcCJK.ttf.sv."
  $bin/mv /system/fonts/DroidSansSemcCJK.ttf /system/fonts/DroidSansSemcCJK.ttf.sv
fi
# reboot
===
  端末側のmicroSDカードを取り出して、PC側に入れる。
  microSDカードに「fonts」フォルダーを作成する。
  以上で作成した2つのファイル「DroidSansJapanese.ttf、cpfonts.sh」を
  microSDカードのfontsフォルダーにコピーする。
  microSDカードをPCから取り出して、端末側に戻す。

  ※上記のcpfonts.shで、DroidSansSemcCJK.ttfをリネームしている。これは以下
    の理由からである。
    ・DroidSansSemcCJK.ttfには、DroidSansFallback.ttfに入っていない中華漢
      字がいくつか定義されている。これらの漢字は、かなり特殊な文字だと思わ
      れる。これらの中華漢字の一部が絵文字フォントのコードと重なっている。
    ・Xperia pro/mini proでは、フォントの参照順が、以下のようになっている
      らしい。
        DroidSans.ttf → DroidSansSemc.ttf、DroidSansSemcCJK.ttf
                       → DroidSansJapanese.ttf → DroidSansFallback.ttf
      この為、いくつかの絵文字は、同一コードの文字をDroidSansSemcCJK.ttf内
      で先に見つけてしまい、絵文字が表示されず変な漢字が出てきてしまう。
    ・絵文字をすべて正常に表示させるには、DroidSansSemcCJK.ttfが邪魔になる
      ので、リネームしてシステム側から参照されないようにする。
    ・リネームした弊害として、いくつかの特殊な中華漢字が表示されなくなるが
      通常のWebサイトの参照等で、問題になる事は非常にまれだと思われる。
      この辺が気になる場合は、DroidSansSemcCJK.ttfに収納されている中華漢字
      を直接調べてみて欲しい。

端末側での作業:
  事前に、端末エミュレーターのアプリをインストールして、必要な設定をしてお
  く事。端末エミュレーターとして使えるアプリには。以下のものがある。
    Android Terminal Emulator
    ConnectBot
  おすすめは、Terminal Emulator。最近、UTF8対応が完了したそうで、日本語の
  入力も表示もできるようになった。日本語表示の為にConnectBotを使っていた場
  合は、いい機会なので、Terminal Emulatorに乗り換えることをおすすめする。
  端末エミュレーターを起動後、以下のコマンドを実行(行頭の「$ 」や「# 」は
  プロンプトなので、それ以降を入力)。
===
$ su
# sh /sdcard/fonts/cpfonts.sh
# reboot
===
  端末が再起動するのを待って、作業終了。

表示確認:
  日本語フォントが正常に表示されるかは、たとえば「写」をテキストエディタで
  入力・表示してみれば良い。
  絵文字の確認は、標準のブラウザーでこの辺でも表示してみれば良いだろう。
    ドコモ絵文字 http://code.cside.com/i-mode/emojimode/
    ソフトバンク絵文字 http://code.cside.com/softbank/
  すべての絵文字が正しく表示されていれば、大成功だ。

絵文字の入力:
  テキストエディタやメール等で、絵文字を入力したい場合、nicoWnnG IMEが
  かなり便利だ。ハードキーボードからでも、「Sym」キーを何度か押すと絵文字
  一覧が出るので、そのまま入力すると良い。ただし、ドコモ絵文字かソフト
  バンク絵文字かは意識して使用する事。

※今回、フォントのマージに関して、以下のサイトを参考にさせてもらった。
    絵文字入り DroidSans.ttf と DroidSans-Bold.ttf
    http://kadrinche.la/2011/05/22/droidsans-ttf-with-smiley/

Xperia pro(MK16i)へのClockworkModの導入2012/01/29 14:29

CWM(ClockWorkMod Recovery)は、Xperia単体で本体ソフトウエアのバックアップが
取れる便利なツールである。「Xperia CWM Auto-Instaler」(Andriodアプリ)が登
場して、CWMの導入が簡単に行えるようになったはずだが、これ、mini proでは使
えるが、proはサポート外と言われて使えない(本文を執筆時点で)。仕方ないので、
CWMを手動で導入することにする。

※注意事項
  以下、すべて自己責任で行うこと。端末が動作しなくなったり、何らかの動作不
  良となった場合でも、一切の保証は行わないので、そのことを了承した上で操作
  する事。
  Linuxのコマンドレベルでの操作となるので、Linuxの知識が無い場合は、事前に
  良く勉強しておく事。


1)CWMの入手
  以下のサイトから、CWMを入手する。

  [RECOVERY][14/11/11] 5.0.2.7-nAa-r2 ClockworkMod for Stock Xperia Mini/Pro/Active/Arc
    http://forum.xda-developers.com/showthread.php?t=1345741

  ここの
    Installation
    Download CWM from here and extract its contents.
  の所から、「CWM-5.0.2.7-nAa-r2.tar」をダウンロード。

  これを展開すると…
    system/bin/chargemon
               charger
               recovery.tar
           xbin/sh
  以上の4つのファイルが出てくる。
  これらを、microSDカードにコピーして、Xperia proに持っていく。以下、説明の
  都合で、4つのファイルともにmicroSDカードのルートフォルダーに入れたものと
  して説明する。

2)準備
  先ず、Xperia proは、事前に「root取り」を行っておく。やり方は、以下を参照
  の事(ブートローダーのアンロックは不要!)。

  [NEW][26/OCT/2011][ROOTING] Xperia 2011 Easy Rooting Toolkit [v1.0](zergRush Exploit)
    http://forum.xda-developers.com/showthread.php?t=1320350

  なお、本体のソフトウエアがビルド番号4.0.2.A.0.58まではこれでrootが取れる
  が、最新(2012/01/28時点)の4.0.2.A.0.62に上げてしまった場合はrootが取れな
  くなるので、要注意だ。上げてしまったら、ブートローダーのアンロックとかで
  rootを取るとか、自力で解決するしかないだろう。

  端末エミュレータもインストールしておくこと。マーケットから以下のアプリを
  インストールしておく。
    Android Terminal Emulator

3)CWMの導入
  Xperia proで、端末エミュレータを起動して以下のコマンドを実行する。なお、
  「$ 」や「# 」は、シェルが表示するプロンプトなので、入力しない事。

    $ su
    # mount -o remount,rw /dev/block/mtdblock0 /system
    # mv /system/bin/chargemon /system/bin/chargemon.org
    # cp /sdcard/chargemon /system/bin/chargemon
    # chmod 755 /system/bin/chargemon
    # chown root.shell /system/bin/chargemon
    # cp /sdcard/charger /system/bin/charger
    # chmod 755 /system/bin/charger
    # chown root.shell /system/bin/charger
    # cp /sdcard/recovery.tar /system/bin/recovery.tar
    # chmod 755 /system/bin/recovery.tar
    # chown root.root /system/bin/recovery.tar
    # mv /system/xbin/sh /system/xbin/sh.org
    # cp /sdcard/sh /system/xbin/sh
    # chmod 755 /system/xbin/sh
    # chown root.root /system/xbin/sh
    # reboot

  以上で、再起動して正常に立ち上がればCWMの導入は成功だ。立ち上がらないよ
  うなら、SEUSで再初期化して復旧させる等、自力で解決する事。

4)CWMの起動
  Xperia proの電源を切って、再起動する。「Sony Ericsson」のロゴが出ている
  間に、画面を何度かタッチする。そうすると、CWMのメニュー画面が表示される。
  CWMの使い方は、いろいろなサイトで解説されているので、それらを参考にする
  こと。
  なお、CWMの入手先(xda-developers)には、「ボリュームダウンのボタンを何度
  か押す」という記載があるが、それだと起動できなかった。