PDF 内部構造 テキスト 新しいページはコチラ
提供: yonewiki
(→/Encoding) |
(→/Encoding) |
||
803行: | 803行: | ||
え?すごくないか、この資料。読み込むにはパワーいるわぁ。CMapをうまく操作したくなったら読もうかな。 | え?すごくないか、この資料。読み込むにはパワーいるわぁ。CMapをうまく操作したくなったら読もうかな。 | ||
+ | |||
+ | |||
+ | 簡単にMSゴシックフォントのCMapを見てみる。 | ||
+ | |||
+ | |||
+ | 1.最初にPlatformID 0 platEncID 5 Format14が記載されている。これはUnicodeのU+FFFFより大きい値のグリフの対応表があります。Glyph22000番あたりに122個が割り当てられている。PlatformID 0 はUnicode で platEncID5はUnicode Variation Sequences for use with subtable format なので、当然正しい内容が記載されている。 | ||
+ | |||
+ | 2.次に platformID 3 platEncID 1 Format 4 でplatformID 3 はWindows platEncID 1 は Unicodeですね。ここでがっつりとUnicode Mapを使ってGlyph番号の指定がされています。uni0000 からuniFFEE で 15760個のグリフが対応を指定されています。 | ||
+ | |||
+ | 3.次は platformID 3はWindows、platEncID10 はUnicode Full repertoire のformat 12 領域化されたカバレッジ網羅率による記述があります。16126個あります。 | ||
+ | |||
+ | |||
+ | Wordが出力したPDFではすべてが元のグリフ番号を保持していて、そのまま、謎の番号で対応する文字を出力し、ToUnicodeで謎の番号に対するUnicodeにおける元の文字番号を指定しています。これは、メイリオフォントを設定しても同じでした。マイクロソフトが作ったわけではないフォントでポストスクリプト名が無いものについては、フォントをベジェ曲線として書き出してしまいます。ここまで、わかった状態でPDF出力の試験をすることで、更にわかってくることもあるものです。謎の順番で登録されている。このような謎の順番が何種類あるか知るにはどうしたらいいのか。ひとつひとつフォントの中身を見るしかないのか。MSゴシックはUnicode Fontで32008書体分がCMapで定義されているになっていると言える。元の番号と、 | ||
+ | |||
+ | |||
+ | グリフ体系がわかっていないとPDFを作るのはわりかし大変だなぁ。プログラムからどの対応するUnicode番号のグリフ番号が何番かを探せるようにしないと無理があるな。メイリオも違う番号になっているし。 | ||
[[PDF 内部構造#説明|PDF 内部構造]]に戻る。 | [[PDF 内部構造#説明|PDF 内部構造]]に戻る。 |