2009年 06月 17日 ( 1 )

古印体のフォーマット その2

前回の話の続きをします。
ブロックのタイプには4種類あると言いましたが、それぞれのタイプのフォーマットは以下の通りです。

・タイプ0(非圧縮,8バイト)
最初のバイトがそのブロックの1行目で、最後のバイトが8行目に対応します。
そして、各々のバイトのbit7が1列目で、bit0が8列目に対応します。
要するに圧縮しない、そのまんまのタイプです。

・タイプ1(全て黒,0バイト)
そのブロックのドットは全て黒になります。

・タイプ2(省略行は黒,1+nバイト)
最初のバイトで省略する行を表し、bit0が1行目、bit7が8行目に対応します。
ある行に対応するビットが1のときその行は省略せず、0のときその行は省略します。省略された行は8ドット全てが黒になります。
残りのnバイトに、省略しない行を続けて書きます。各々のバイトのbit7が1列目で、bit0が8列目です。

・タイプ3(省略行は上の行と同じ,1+nバイト)
タイプ2と同じような仕組みですが、省略された行は上の行と同じ描画をする所が違います。
続けてn個の行が省略された場合も、上の省略されていない行と同じ描画をn回(合計n+1回)繰り返します。
但し、1~n行目が省略行だった場合、それらは全て黒になります。

ということで、古印体のフォーマットの解説はこれで終了です。こんな説明でお分かり頂けますでしょうか?もっと分かりやすい説明ができれば良いのですが。
練習問題を1つ出しておきます。以下のデータがカタカナの「マ」であることを確認してみましょう。全てのタイプが使われています。

02 BB D8 63 FF 7E 38 3E 10 7B F0 E0 80 5E E0 F0
38 1C 1E E0 02 03 01 1A F0 01 03 8C FC 1F 3E 3C
78 E0 C0 F8 7C 1E 0F 0F 07 03 01 57 98 80 C0 80
[PR]
by oyasen | 2009-06-17 20:04 | 改造・解析