2011-02-10

003SHが名前通りガラパゴスな件について

システムフォントに、"モリサワ 新ゴ R"とかを選択できる003SHなんだけど、このフォント、/system/fontsに存在しないデザインになってる。なんで、どこにフォントがあるか調べてみた。

Androidのソースから見ると、DalvikのFramework内でフォントリストを持っているのではなくて、Skiaのところでリストを持ってる (だからTypefaceでフォントリストとかを持ってない)。だから、Skiaを見れば、どうフォントを読んでいるかはわかるわけだ。

と言いたいところなんだけど、Apacheライセンスなんで変更差分は分からないわけだけど、まぁ、そんなんは難読化する訳でもないから、バイナリをダンプしたところ、以下のパスにフォントを持っている。

フォント名フォントパス
LC太明朝/system/etc/tmp/V20L5b42M84nB
SH_Mincho-P/system/etc/tmp/V20b4J24M84nR
SH_Crystal-P/system/etc/tmp/c22b11O14C92rR
モリサワ 新ゴ R/system/etc/tmp/c30c1d24G94oR

フォント一覧がほしければ、Skia使わないと各デバイスで互換性がとれないってことですか。ださっ

0 件のコメント: