前回調べたNoto Sans JPの文字化けに関して、cmapを確認してみました。
このフォントには以下の5種類のcmapテーブルが実装されていました。
- Platform 0 / Encoding 3 (Unicode BMP only)
- Platform 0 / Encoding 4 (Unicode full repertoire)
- Platform 0 / Encoding 5 (Unicode Variation Sequeces)
- Platform 3 / Encoding 1 (Windows Unicode BMP)
- Platform 3 / Encoding 10 (Windows Unicode full repertoire)
簡単にまとめると16ビットのUnicodeからCIDを引くcmapと32ビットのUnicodeからCIDを引くcmap、そして異体字セレクタ (別字形を選択するためのコード) を含むUnicodeからCIDを引くcmapの3種類が登録されています。
これらのcmapの内容を確認したところ、すべて前回調べたToUnicode cmapに登録されているCID値が設定されており、Microsoft Print to PDFの出力が (文字化けするけど) 正しい値を指定していることがわかりました。
cmapには問題がなさそうなので、次はCFFテーブル (フォントデータ本体) を調べてみようと考えています。
bewise.jp - 2021年8月11日の投稿の再投稿
0 件のコメント:
コメントを投稿