Tech:android:hack:fonts

出典: Tariki

目次

フォント遊び

日本語用Unicode(笑)フォント

ロケールと言語環境』の項に書いたように、android OSは何語版、というものはない。いやコンピュータがナニ語とかナニ人などというのはあり得ないのである。フォントはUnicodeなので、特別日本語化というものをする必要がない。

ただし私のmagicのように海外購入したものは、(HTC magicが台湾製造なので)日本語の漢字が変だ。Unicodeの欠点のせいである。『変な漢字』を修正したければ日本語Unicodeフォントを用意する。なんのこっちゃ。

どういうことかというと、例えば『反』という字の横棒は、日本語では水平だ(筆順から言っても左→右)。中国語系 (大陸、香港・台湾)ではこれがノの字になる。

ここで熱く語ってしまうと、Unicodeというのは日本の異字体を残したくせに(斉藤の斉と斎藤の斎とか)、意味が同じ漢字はまとめましょう、というふざけた思想に基づいている。新聞なんかは当用漢字にないという理由で坂本龍一を坂本竜一と書いたりするが、『意味が同じならまとめる』というならそのくらいの英断をもって「さいとうのさいは全部『斎』」とかにしちゃえばいっそ、私の気も晴れたというものだ。

私の母親は外国人に日本語を教えているが、当然『反』の上棒を『ノ』にしたら×にする。というか日本語検定試験の漢字の書き取りでそういう点が正誤判定されるからなのだが(これは日本人の小学生相手の書き取り・筆順教育にも言えることである)、そんな中国人(台湾人・香港人)が自国購入のandroidで日本のwebページを見たら、上棒が『ノ』の誤った『反』が表示される。俺もこう書いていいんじゃないか? なぜandroidに許されて俺には許されない? と国際問題になること請け合い (ならない)。

まあそんな不都合を解消したいひとのために、『中国語(大陸、香港・台湾)版Unicodeフォント』と『日本語版Unicodeフォント』があって、同じコードで違う字形が収録されているのだが(Unicodeの目的から言って変な話だ)、HTCは台湾の会社なのではじめから台湾版Unicodeフォントが入っている(あ、台湾で買えばね)。要するにUnicode漢字フォントファイルを日本語のそれに摩り替えてしまえばおしまいだ。

もともと/system/fonts/DroidSans.ttfというファイルがUnicode(漢字も収録されている)フォントファイルなのだが、このディレクトリにDroidSansJapanese.ttfというファイルを置いてしまえば終わり。localeが日本語のときはそちらが使われるようで、もともとのDroidSans.ttfを消す必要もない。

coolな日本語フォントに入れ替える

私は気に入って最近、Windowsのみならず(意味不明) X端末その他に入れている某フォント(TTC形式なのでTTF化した)をリネームしてandroidに流し込んだ。まあフォント名を書くとちょっとアレなのだが、液晶用に設計されているだけあってとてもクリアである。

それからもともとのDroidSansJapanese.ttf (これはNTT用にあるわけじゃなくて、SDKに入っているから誰でも無料で利用できる) は、一説によると偏とかつくりをうまいことまとめてデータ量を減らしている(1MB台)ようだが、某フォントなんかは7MB以上あって、/system/ パーティションの空きがなければ使うことはできない。現在(2009.11)使っているROM (SuperMagic系)は空きがなかったので、/data/の下にfonts/ というディレクトリを作ってそこに置き、/system/fonts/DroidSansJapanese.ttf はこれへのただのシンボリックリンクにしてある。/data/ パーティションがmountされるまえにフォントファイルはアクセスされないようで、これでも使えている。

Droid logoフォント

これは上記リンク先にある、androidのロゴを[A-Za-z0-9]に拡張したクールな書体である。読みやすいかどうかは疑問(笑)。ただまるで、『20世紀人が想像した21世紀』(笑)みたいなサイバーな表示になる。

例は上記リンクにもあるが、前節の読みやすい日本語フォントと組み合わせてみた例を下記に示す。どうです、サイバーでしょ。

という自慢をここではしたいのではなく(いやしたいんですけど)、このDroid logoフォントは英数文字しかない。それなのに足りない漢字その他の文字は、勝手に補われる。いわば、フォントエディタを使ってCIDフォントをフォントを作らなくても勝手に複合フォントにしてくれるというよくできた仕様である(例えばWindowsなどでは、そもそもUnicode全文字種が必要なときにDroid logoみたいな欧米文字しかないフォントファイルは選べないようになっている)。

したがってここでは、DroidSans(入れ替えてDroid logoフォントにしてある)を検索し、なければDroidSans-Japaneseを検索し(あいにくこれも私が入れ替えた(笑))、さらになければDroidSansが使われる、という仕様なのだろう。よく知らないがデフォルトではDroidSans-fallback.ttfとかいうフォントファイルは(やたらでかいし)フォントがみつからないときのfallback用なのだろう。

ロックスクリーン。 home。壁紙はTrojan v1のもので上下のバーやアイコンはTrojan finalの木目調で結構ぐじゃぐじゃです。 2chビューワのひとつ、En2chでの表示。 簡易関数電卓handycalcの表示。これが一番サイバーでちびっちゃう感じがする私は変態ですか? GPSstatus。ただのGPSデータ表示もスタートレック気分になるからあら不思議。