Android電話

[電話] Motolora DefyにCyanogenMod7.1 FontManager移植版(きえROM)を入れてみた

Amazonのアソシエイトとして、8796.jp管理日誌は適格販売により収入を得ています。

これはいわゆる CM Defy

[DEV][ROM] CyanogenMod 7 (Android 2.3.4) – xda-developers

2.3.4って書いてあるけど2.3.5でしたけどね!

ダウンロードしたのは

Index of -jordan-nightly-

の、cm7-110817-1717-BOOT179-Jordan.zip を入れた…

その後、即 @wrierskie さんの FontManager 移植版を入れました。通称「きえROM」

http://dl.dropbox.com/u/12268118/update-cm-7.1.0-RC1-jordan-signed-fmrc3.zip

インストール方法はダウンロードしたファイルをマイクロSDカードに保存、2nd init からリカバリーを起動して zip をインストール的なメニューでファイルを選ぶ感じ(適当

imageimage

いわゆる CM7.1 で特に代わり映えしないように見えるんですが、日本人的に大変重要な追加機能であるフォント切り替え機能が搭載されています。

imageimage
imageimage
(諸般の事情によりスクリーンショットの一部が欠損していますが気にしないでください)

元ネタはシャープの方が AOSP に上げてたパッチだそうです(全部却下されてますが…)

Change Icdc06c6d- Add the select font – review.source Code Review
Change Ia0fce728- Add the select font – review.source Code Review
Change I2f423e9a- Add the select font – review.source Code Review

何が素晴らしいって、ついうっかりフォントをまどか文字に変更してしまったとしても再起動もせずに別のフォントを選べばすぐに戻せるということですね。

imageimage

ちなみに表示言語を英語にした場合はこんな感じ。

imageimage

なんというか、取り返しの付かないことをした気分になりますが、すぐ戻せます。

フォントを入れる方法が若干面倒ですが、/data/fonts を自分で作ってそこにガンガンフォントファイルを突っ込めば設定から選べるようになるということです。sdcard からインポート機能とかあるといいよね。ね?ていうか、どうせ選択したフォントはメモリに読み込むんだから /sdcard/fonts/ とかでよくね? /data/ はファクトリーリセットしたら消えちゃうし…

以下開発者(@writerskie)様のありがたいお言葉

image
http://twitter.com/#!/writerskie/status/103120620035915776

image
http://twitter.com/#!/writerskie/status/103121852255318018

image
http://twitter.com/#!/writerskie/status/103122399205138433

最後の CustomFallback.ttf というのはちょっとわかりにくい。

ので、よく理解してないんですが、技術的なお話をすると、Android のフォントは

android.git.kernel.org Git – platform-external-skia.git-blob – src-ports-SkFontHost_android.cpp

(中略)なのです。

つまり、

414 static const FontInitRec gSystemFonts[] = {
415     { "DroidSans.ttf",              gSansNames  },
416     { "DroidSans-Bold.ttf",         NULL        },
417     { "DroidSerif-Regular.ttf",     gSerifNames },
418     { "DroidSerif-Bold.ttf",        NULL        },
419     { "DroidSerif-Italic.ttf",      NULL        },
420     { "DroidSerif-BoldItalic.ttf",  NULL        },
421     { "DroidSansMono.ttf",          gMonoNames  },
422     /*  These are optional, and can be ignored if not found in the file system.
423         These are appended to gFallbackFonts[] as they are seen, so we list
424         them in the order we want them to be accessed by NextLogicalFont().
425      */
426     { "DroidSansArabic.ttf",        gFBNames    },
427     { "DroidSansHebrew.ttf",        gFBNames    },
428     { "DroidSansThai.ttf",          gFBNames    },
429     { "MTLmr3m.ttf",                gFBNames    }, // Motoya Japanese Font
430     { "MTLc3m.ttf",                 gFBNames    }, // Motoya Japanese Font
431     { "DroidSansJapanese.ttf",      gFBNames    },
432     { "DroidSansFallback.ttf",      gFBNames    }
433 };

このフォントを /system/fonts/ から読み込むようになってるわけでして Sans と Serif ってのが…はて、なんか書いたことあるような…

[電話] Galaxy SII GT-I9100でフォント切り替え – 8796.jp管理日誌

書いてなかった!

まあなんですよ、標準のフォントとして使われるのが gSansNames でいわゆるゴシック体。アプリ側で明朝っぽく指定したら gSerifNames が使われて、等幅フォントが gMonoNames なんです。それぞれ太字とイタリック体の組み合わせがあったりなかったり。

ここまで英語フォントの話。

それとは別で、日本語とか中国語とか英語フォントに含まれないものは gFBNames で指定された FallBack と言われる代替フォントを使用するようになっています。たぶん上から順番に読んでコードに対応する字形を埋めていく感じ。コードに対応する字形は早い者勝ち。ちなみにファイルが無かったら無視するようになってます。

なので、 DroidSansFallback.ttf は最後の砦。その前に DroidSansJapanese.ttf があればそっちの字形を使うので「直」とか日本語として変な字形だけが DroidSansJapanese.ttf に入っていたんですが、そのうちメーカーが書体の違うほぼ全部入りの DroidSansJapanese.ttf を入れるようになったり、シャープが独自実装で gSansNames 部分で書体の違うフォントで置き換えるようになったりで混沌としすぎててもう何が何だか状態。

ちなみに、標準状態が左で、モトヤLマルベリ3等倍を選んだのが右。元々 /system/fonts/ にモトヤがいる状態なので、日本語は変わらないはずですがブラウザで表示すると色々違う…

imageimage

URL部分が等幅で表示されているので元々の DroidSans.ttf が使われなくなっているのは分かると思います。serif も同じフォントになってる?うーんうーん

……

………

あれ?CustomFallback.ttf の説明しようとしてたら話が横道に盛大に逸れてた!!

英語フォントはまどか文字にして日本語フォントはモトヤじゃなくて YukarryAA にしたいとかそういう時に使うんだよ。うん。きっとそうだ。ファイルの入れ替えと再起動が面倒なので、初めから使いたい英語フォントと日本語フォントをブレンドしたファイルを作っておいたほうがいいよね。たぶん。

 

フォントの闇が深すぎてナニ書いてるのかよくわかんなくなってきたw

そもそもナニが望みなんだってとこですよね。

お手軽にフォントを変更するにはとてもよい仕組みだと思います。フォント屋さんは ttf ファイルコピーすればすぐ使えるこの仕組は嫌がりそうな気もしますが、CM標準で入れば喜ぶ人も多いと思います。

きえROMの実装は個人的には apk いじいじしなきゃ追加できないサムスンの flipfont や元になってるシャープのフォントマネージャーよりはるかにお手軽でいいと思います。

日本人は喜ぶけど英語圏の外人にとってはどうなんだろうなーとか。

フォント切り替えるとブラウザが変な化け方するなーとか細かいところは今後のご活躍に期待します!

はらへーちょ

タイトルとURLをコピーしました