2010年10月06日

フォント置き換え用のupdate.zipを作る

最近はすっかりNexusOneCyanogenmod Nightly Buildを入れて暮らしている私。
(そうそう、ずいぶん前ですが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

で、以下のファイル(ディレクトリ構造込み)を残して全部削除します。
(以下2つのファイルだけ取り出せれば展開の必要もないかもしれません)
META-INF/com/google/android/updater-script
META-INF/com/google/android/update-binary

続いてフォントを置くディレクトリを作成します。
mkdir -p system/fonts

作成したディレクトリに自分が使いたいフォントファイルを配置しましょう。
日本語を綺麗にしたいだけであればDroidSansJapanese.ttfだけでOKですが、私は英数字の入れ替えと絵文字対応のために以下の4つのフォントを入れ替えて(導入して)います。
DroidSans.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");

これでファイルの準備は完了。
全てのファイルをzip形式でアーカイブします。
zip -r ../update-fonts.zip *

先ほどダウンロードしたAutoSignツールを展開します。
cd ..
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

これで完成。あとはSDカードに放り込んでいつもどおりアップデートを行えばOKです。

以下のサイトを参考にさせていただきました。(ありがとうございます!)

(鬱と)SEとコンピュータ: 日本語フォント追加用のupdate.zipを作ってみた
http://lostman-worlds-end.blogspot.com/2010/04/updatezip.html
posted by 月水和尚 (とも) at 22:12 | Comment(2) | TrackBack(0) | Android
この記事へのコメント
初めてコメントいたします。

実行環境がUbuntuということですが、Windows用のAuto-signツール使用できたということでしょうか。
Linux用の同ツールないかと探しているところなのです。
Posted by tamago at 2014年05月16日 10:44
tamagoさん

signapk.jar はJavaの実行ファイルなのでプラットフォーム問わずに動作可能です。
ちょっと調べてみたら同じ名前のWindows用のツールがあったのですが、そちらは無関係なのでご注意下さい。
(こっちは autosign.exe と拡張子がexeになってます)
Posted by とも at 2014年05月17日 15:08
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック