(そうそう、ずいぶん前ですがNexusOne買いました!)
Nightlyなので日々更新されているわけですが、新しいBuildを入れる度にフォントの置き換えをするのが面倒になってきたので、一念発起してフォント置き換え用のupdate.zipを作ってみました。
以下はその手順のメモ。(それもけっこう雑です…スミマセン)
お約束ですが、以下の内容は全て無保証です。
煉瓦になってもくじけない。転ばぬ先のバックアップ!
まずは前提。実行環境にはLinux(Ubuntu)を使っています。
Javaを使うので導入されている必要がありますが、JREでいいのかJDKが必須なのかは不明。
あとは署名用のAutoSignというツールを落としておきます。
まずは雛形となるupdate.zipをダウンロードします。
私はCyanogenmodで使われているgapps-xxxxxxxx-signed.zipを使わせていただきました。
そしたらgapps-xxxxxxxx-signed.zipを適当な場所で展開します。
mkdir /tmp/hoge
cd /tmp/hoge
unzip /fuga/gapps-xxxxxxxx-signed.zip
cd /tmp/hoge
unzip /fuga/gapps-xxxxxxxx-signed.zip
で、以下のファイル(ディレクトリ構造込み)を残して全部削除します。
(以下2つのファイルだけ取り出せれば展開の必要もないかもしれません)
META-INF/com/google/android/updater-script
META-INF/com/google/android/update-binary
META-INF/com/google/android/update-binary
続いてフォントを置くディレクトリを作成します。
mkdir -p system/fonts
作成したディレクトリに自分が使いたいフォントファイルを配置しましょう。
日本語を綺麗にしたいだけであればDroidSansJapanese.ttfだけでOKですが、私は英数字の入れ替えと絵文字対応のために以下の4つのフォントを入れ替えて(導入して)います。
DroidSans.ttf
DroidSans-Bold.ttf
DroidSansFallback.ttf
DroidSansJapanese.ttf
DroidSans-Bold.ttf
DroidSansFallback.ttf
DroidSansJapanese.ttf
そうしたらアップデート用のスクリプトを編集します。
適当なエディタでMETA-INF/com/google/android/updater-scriptを以下のように編集して下さい。
ui_print("Installing Fonts..");
mount("MTD", "system", "/system");
show_progress(1, 15);
delete("/system/fonts/DroidSans.ttf", "/system/fonts/DroidSans-Bold.ttf", "/system/fonts/DroidSansFallback.ttf", "/system/fonts/DroidSansJapanese.ttf");
package_extract_dir("system", "/system");
set_perm(0, 0, 0644, "/system/fonts/DroidSans.ttf");
set_perm(0, 0, 0644, "/system/fonts/DroidSans-Bold.ttf");
set_perm(0, 0, 0644, "/system/fonts/DroidSansFallback.ttf");
set_perm(0, 0, 0644, "/system/fonts/DroidSansJapanese.ttf");
ui_print("Installation complete!");
unmount("/system");
mount("MTD", "system", "/system");
show_progress(1, 15);
delete("/system/fonts/DroidSans.ttf", "/system/fonts/DroidSans-Bold.ttf", "/system/fonts/DroidSansFallback.ttf", "/system/fonts/DroidSansJapanese.ttf");
package_extract_dir("system", "/system");
set_perm(0, 0, 0644, "/system/fonts/DroidSans.ttf");
set_perm(0, 0, 0644, "/system/fonts/DroidSans-Bold.ttf");
set_perm(0, 0, 0644, "/system/fonts/DroidSansFallback.ttf");
set_perm(0, 0, 0644, "/system/fonts/DroidSansJapanese.ttf");
ui_print("Installation complete!");
unmount("/system");
これでファイルの準備は完了。
全てのファイルをzip形式でアーカイブします。
zip -r ../update-fonts.zip *
先ほどダウンロードしたAutoSignツールを展開します。
cd ..
unzip /fuga/Auto-sign.zip
unzip /fuga/Auto-sign.zip
zipファイルに署名を行います。
cd Auto-sign
java -jar signapk.jar testkey.x509.pem testkey.pk8 ../update-fonts.zip ../update-fonts_signed.zip
java -jar signapk.jar testkey.x509.pem testkey.pk8 ../update-fonts.zip ../update-fonts_signed.zip
これで完成。あとはSDカードに放り込んでいつもどおりアップデートを行えばOKです。
以下のサイトを参考にさせていただきました。(ありがとうございます!)
(鬱と)SEとコンピュータ: 日本語フォント追加用のupdate.zipを作ってみた
http://lostman-worlds-end.blogspot.com/2010/04/updatezip.html
実行環境がUbuntuということですが、Windows用のAuto-signツール使用できたということでしょうか。
Linux用の同ツールないかと探しているところなのです。
signapk.jar はJavaの実行ファイルなのでプラットフォーム問わずに動作可能です。
ちょっと調べてみたら同じ名前のWindows用のツールがあったのですが、そちらは無関係なのでご注意下さい。
(こっちは autosign.exe と拡張子がexeになってます)