フォントファイル
ここ数日、FONTを探してました。
WindowsがLFNでUnicodeを使うというので、
その配置で使える、$FONTX2形式を。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
そんなもん、ありませぬ ○| ̄|_
それよりも、
「文字コード、この乱立っぷりは一体何!何なの!」
英語圏は確かにASCIIコードで事足りるのかもしれないけど、
我々漢字圏は数万文字を持つわけで
確かに、昔から頭痛の種ではあったのですが。
日本には恐らく元々JISコードというものがあり、漢字にコードが振られていたのに
それをなぜかMicrosoftを含む数社が再マッピングしたShift-JIS、
ここ20年で国際化が進み、2バイトコードの標準化の過程で出てきた
EUC、そして、Unicode。
ややこしいのは、日本の漢字コードの規格化の過程において、幾度となく追加と修正が
行われ、そのたびにJISの規格番号が追加されていること。
その辺も含めないと、表示できない文字が出てきたりする。
・・・・・コード体系についてはかなり深いいきさつの元で成立してるようなので、
これ以上は突っ込みたくないな。
それ以上に、フォントファイルの形式がいっぱいありすぎて、
その殆どは仕様が公開されていない。
それらの相互変換を完璧にこなすようなツールもない。
Windowsで使われるttf形式とPostScript形式の変換は出来るようだが
旧来の$FONTX2形式にはならないらしい。。。
・・・・FatFsの説明書きをつらつらと読んでたら
どうも、SJISとUnicodeの変換テーブルを持ってるらしい。
使うにはcc932_avr.cをリンクしなさい、と。
ソースを覗いてみると・・・まあ、確かにあるね。
これでとりあえず、誤魔化せるのかしら。
じゃあ、変換するためのテーブルを探すか!と
検索すると・・・
ここでも、テーブルの内容にいくつものローカルなものが存在するらしい。
まぢですか~ ○| ̄|_
Unicodeの文字をSJISのどの文字のコードに変換するか、というのは
実はそうそう簡単な話ではないらしい。
この辺の話も、掘り下げればかなり深いのかもしれないけど
ここでは書きません。
スルーして、じゃあどの変換テーブルが当面安全なのか、というと
JAVA 1.4.0以降のテーブルと同じだ、というテーブル表に行き着いた。
とはいえ、こんなデカイテーブル、マイコンのメモリに納まるわけがないのは
明白なわけで。
どうしますかねぇ・・・