2012年3月8日木曜日

IPAフォントが、何か変。 ( その2 )

フォントファイルを dump してみると、問題の文字のあたりは、


(Segment (921)
(startCount #x57A2) (endCount #x57A4)
(idDelta 0) (idRangeOffset #x0723))
(Segment (922)
(startCount #x57A8) (endCount #x57A8)
(idDelta -12032) (idRangeOffset #xFFFF))
(Segment (923)

のようになっていて、idDeltaが負、idRangeOffset が #xFFFF になっている。
たぶん、これを見て、「グリフがない」と判断しているのだろう。
57A8は表示できないが、57A4 は表示できていることあたりとも辻褄があう。

で、そうであるにも拘わらず、この文字が表示できるソフトウェアはどこを見ているのだろう? ソフトウェアのバグでないとしたら、データ形式の冗長性(過去との互換性のためのデータとか)を利用して目指すグリフにたどりついているのだろうとは思うが...

[追記:2012-03-08] idRangeOffsetの#xFFFFはこれで正しいのかも。
まあ、どのみち、仕様書を読まないとだめだね。

0 件のコメント:

コメントを投稿