2012年03月21日

中華フォントっちゅうか…

Clean Rom v0.9から他端末の移植を考えて日本語フォントを含まないROMになったそうです。

え? なにゆってんの? 日本語表示されてるじゃん

と思われた方、それはある意味で正しいですが、正確にはCJK統合漢字フォントで表示されちゃっているのです。もっと俗な言い方をすればいわゆる中華フォントです。

たとえば「直」というフォント、↓こんな風に違和感のある漢字になっていませんか?

日本語フォントを入れる

これがCJK統合漢字フォントである証拠です。CJKってなんぞ?とか思いますよね。中国語(Chinese)、日本語(Japanese)、韓国語(Korean)の略で、それらの文字をひとつにまとめちゃえ〜ってのがCJK統合漢字なのです。

ここからものすげー寄り道ですので、面倒な方はマルっと飛ばしちゃってください。


ときは遡ること今から12年前の西暦2000年、私はとある外資系企業でUS本社で作られたソフトウェアをローカライズ(日本語対応)する職務に就いていました。

「翻訳業務」と呼ばず「日本語対応」と呼ぶのには理由があります。アメリカ〜ンなソフトウェアを日本で問題なく使うためには映画のように字幕入れりゃ良いってわけではありません。(翻訳家の方ごめんなさい)
特に目に見えてわかりやすいのは文字数の数え方です。ある文字列から先頭の3文字を抜き取る処理があったとしましょう。それが"ABCDE"であれば、先頭の3文字は"ABC"。そんなことはサルでもわかります。(いや、さすがに本物の猿には難しいでしょうか?)
しかし、青い目の人々は3文字=3バイトという認識が染みついているため、それが"あいうえお"だった場合、先頭3文字「あいう」を抜き出すつもりが、3バイト(半角で3文字と考えても可)を抜き出そうとして、「あ」(2バイト)と「い」(2バイト)の半分を切り取るようなプログラムを作りやがるんです。半分にぶったぎられた「い」はコンピュータ的に何という文字かわからなくなります。これが文字化けの原因になったり、予期しないクラッシュを引き起こします。

で、青い目の人々は考えました。JISだの、シフトJISだの、EUC-JPだの、いちいち漢字と英字のバイト数が違うのがいけないんだ。どの文字でも決まったバイト数で表現するコード体系を作ればプログラムをいじることなくローカライズができるじゃないか!イッツアグレート!
ついでに、とある文字コードが各言語ごとに違う文字になるのもイケてない。文字コードと文字は1対1で対応すべきだ。よし、全世界の言語をひとつのコード体系にまとめちゃってこれをUnicodeと呼ぼう!エクセレント!

と、ここまでは良いのですが、

「でさ、1文字は16ビット(=2バイト)ありゃ十分だよね」

とか決めやがったヤツが諸悪の根源です。16ビットで表現できる文字種の最大数は65,535種(ドラクエ1の所持金最大値も65535g)。ところが、日本語の漢字コードだけでこのときすでに12,946種あります。更に当時2000年、JIS X 0213(通称JIS2000)が制定され、更に4,354文字が追加されたのです。日本語だけで17,000以上使うのに全世界の文字を65535種に収める・・・? とりま、JIS2000の4000文字は除外したとしても・・・

無理ッスwww
A-Zの26文字しか知らない人種はこれだから困るwww


・・・などと言えるハズもなく、何とか文字種を65535以内に収める対策を立てねばなりません。

「中国語と日本語って似てるの多くな〜い?ってか、見分けつかないしーキャハハハハ」

と青い目の人々が言ったかどうかは定かではありませんが、

「たとえ意味が違っていたとしても同じように見える文字は同一コードにしちゃおう」

というCJK統一漢字理論が颯爽と登場し、何とかかんとか16ビットで無理やり文字コードを統一したのであった。

めでたくなし めでたくなし

要するに「直」の漢字が中国フォントになっているのは、日本と中国で「直」の文字コードが同じにも関わらず、実際の表示は微妙に異なるのが原因なんですね。

私はこんな胃の痛くなる現場からは逃げ出して久しいので最近の事情には詳しくありませんが、たしかUnicodeはすでに16ビット以上に改定されていて、この問題は解決されていると思いこんでおりました。

まさか12年ぶりにCJK統合漢字と涙の再開を果たすとはな!!



さて、気を取り直して、日本語フォントの導入方法です。
※今回も Novo7 Aurora のみで作業します。

Step1: 「いつもお世話になっております」と唱えながら、へりおす様のページを開く
CleanROM用 日本語フォント:
http://bthehb.wordpress.com/2012/03/17/clean-rom-japanese-fon/

Step2: ページ下部の[倉庫]のリンクをクリック

Step3: [A10 Essential ROM (CWM)]のリンクをクリック
日本語フォントを入れる

Step4: [cwm-fonts-migu-2ds-signed.zip]または[cwm-fonts-MTLmr3m-signed.zip]をクリックする
日本語フォントを入れる

cwm-fonts-migu-2ds-signed.zipはBold対応フォントで、
cwm-fonts-MTLmr3m-signed.zipはモトヤマルベリのようです。

以降の解説では cwm-fonts-migu-2ds-signed.zip を選んだものとして進めます。

Step5: [Download]をクリック
日本語フォントを入れる

Step6: ダウンロードが完了したら、NOVO7 Toolsを起動

Step7: [Recovery]をタップしてリカバリーモードに入る

Step8: リカバリーモードのメニューから install zip from sdcard を選んで決定。
CWM-based Recovery v5.5.0.4

- reboot system now
- install zip from sdcard
- wipe data/factory reset
- wipe cache partition
- backup and restore
- mounts and storage
- advanced

リカバリーメニューでの操作方法
・[音量]ボタンの[+]でカーソルが上へ移動
・[音量]ボタンの[-]でカーソルが下へ移動
・[電源]ボタンで決定
・[戻る]ボタンでひとつ前のメニューに戻る

ちなみにOTGケーブルでUSBキーボードを接続して操作することも可能です。
[Enter]キーがカーソル移動とか、ちょっとわかりづらいキー配置ですが。


Step9: 下記メニューから choose zip from internal sdcard を選んで決定。
Apply update from .zip file on SD card
- choose zip from sdcard
- apply /sdcard/update.zip
- toggle signature verification
- toggle script asserts
- choose zip from internal sdcard


Step10: 内部ストレージである /sdcard 以下のディレクトリやファイルが表示されるので、その中から - Download/ を選んで決定。
Choose a zip to apply
- Alarms/
- Android/
- DCIM/
- Download/
- LOST.DIR/
- Movies/
- Music/
- Notifications/
- Pictures/
- Podcasts/
- Ringtones/


Step11: /sdcard/download の中身が表示されるので、cwm-fonts-migu-2ds-signed.zip を選んで決定。
Choose a zip to apply
- a10_recovery.zip
- cwm-fonts-migu-2ds-signed.zip
- n7es-rom-v0.9b.zip


Step12: 下記メニューから Yes Install cwm-fonts-migu-2ds-signed.zip を選んで決定。
Confirm install?
  THIS CAN NOT BE UNDONE.

- No
- No
- No
- No
- No
- No
- No
- Yes Install cwm-fonts-migu-2ds-signed.zip
- No
- No
- No


Step13: 「Install from sdcard complete.」と表示されるまでアクビでもしながら待つ。

Step14: [戻る]ボタンでトップメニューまで戻り、reboot system now を選んで決定。
CWM-based Recovery v5.5.0.4

- reboot system now
- install zip from sdcard
- wipe data/factory reset
- wipe cache partition
- backup and restore
- mounts and storage
- advanced


以上、おつかれさまでした!


再起動後は下記のようにちゃんとした「直」が表示できるハズです。
日本語フォントを入れる
posted by novo7aurora at 14:21| Comment(0) | 日本語フォントを入れる | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。