PDF 内部構造 テキスト 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(/Encoding)
(/Encoding)
707行: 707行:
  
 
 CMapは文字コードと縦書き、横書き、異体字etcによる図柄の変更のような情報から1つのグリフに置き換えるもので、近年のWindowsやMacにあるような既存のデータはフォント内にCMap情報が内蔵されています。つまりCIDFontType0<span>(</span>Type1方式<span>)</span>やCIDFontType2<span>(</span>TrueType<span>)</span>のようなもので、OpenType<span>(</span>*.otf *.otc<span>)</span>やTrueType<span>(</span>*.ttf *.ttc<span>)</span>となっています。突き合わせの詳細を見るにはフォントから抜き出さないと見れない場合がほとんどです。CMapファイルが外だしになっているCIDFontが使える昔ながらのアプリもあります。この場合CMap情報が書かれたファイルが一つのフォルダにまとめられていることが多いです。CIDFontと平たく言ってしまうとTrueTypeフォントやOpenTypeフォントのことでもあるので誤解を招きやすいですが、もっと古いCIDFontというのがありました。有名どころのアプリではTex関連のツール。同じことですがgs<span>(</span>GhostScript<span>)</span>なんかがCMapフォルダを保持しているツールです。Acrobat Readerも保持していたような。あまりCMapを個人で編集することはないので、誰かが作ってくれていて、しらずしらずに使っているのではないでしょうか。
 
 CMapは文字コードと縦書き、横書き、異体字etcによる図柄の変更のような情報から1つのグリフに置き換えるもので、近年のWindowsやMacにあるような既存のデータはフォント内にCMap情報が内蔵されています。つまりCIDFontType0<span>(</span>Type1方式<span>)</span>やCIDFontType2<span>(</span>TrueType<span>)</span>のようなもので、OpenType<span>(</span>*.otf *.otc<span>)</span>やTrueType<span>(</span>*.ttf *.ttc<span>)</span>となっています。突き合わせの詳細を見るにはフォントから抜き出さないと見れない場合がほとんどです。CMapファイルが外だしになっているCIDFontが使える昔ながらのアプリもあります。この場合CMap情報が書かれたファイルが一つのフォルダにまとめられていることが多いです。CIDFontと平たく言ってしまうとTrueTypeフォントやOpenTypeフォントのことでもあるので誤解を招きやすいですが、もっと古いCIDFontというのがありました。有名どころのアプリではTex関連のツール。同じことですがgs<span>(</span>GhostScript<span>)</span>なんかがCMapフォルダを保持しているツールです。Acrobat Readerも保持していたような。あまりCMapを個人で編集することはないので、誰かが作ってくれていて、しらずしらずに使っているのではないでしょうか。
 +
 +
 +
 さきほど列挙したような有名どころのCMapファイルが入っていると思います。TrueTypeやOpenTypeが流行ってからの新しいCMapファイルは単独として存在していない可能性もあります。どちらにしてもCMapファイルを作るのは大変です。個人的に作り始めたら1か月くらいかかるんじゃないかな。既存のモノをちょこっといじってあたらしく作るというのなら個人でできると思います。特定の文字を置き換えて表示させることもできるはずです。ToUnicodeのような仕組みがあれば、変更された文字をコピーした時の動きも変更できます。
 +
 +
 +
 +
 まずは、既存のフォントからCMapを抜き出して、どういうものに対応しているか見てみることができます。全文字の対応をひとつひとつ見比べるのはできないので、縦書き?横書き?文字コードは何を受け入れて、どのように変換する?絵文字は?とかそういうざっくりした特徴毎にはまとめられています。全部を見なくても、どれを使えばCMapがうまく表示したいグリフに案内してくれるか、予想はつきます。そういうことができる力量は必要です。
 +
 +
 +
 では、抜き出してみましょう。抜き出すには、有名どころの専用アプリケーションを使うのがよいと思います。Windowsなら2種類が有力です。
 +
 +
 +
・Adobe製の[https://github.com/adobe-type-tools/afdko afdko]というツール。Python環境の構築が必須です。
 +
 +
・RT's free softさんの[https://rtfreesoft.blogspot.com/search?q=winttx WINTTX]というツール。コマンドプロンプトを使って実行ができるexeがついてます。ダウンロードしてきてPathをとおして使います。
 +
 +
 +
 いずれのツールをつかっても、同じような結果が得られて、拡張子が ttx のファイルが生成できます。
 +
 +
 +
 以下のようなコマンドで実行できます。フォントファイルのあるフォルダで実行して、同じディレクトリに置けばよいでしょう。C:¥$Env:windir¥Fontsフォントフォルダで dir コマンドを使えばファイル名も見れます。
 +
 +
ttx -t cmap -y 0 msgothic.ttc
 +
 +
 +
 -t cmap はcmapをフォントファイルから取り出すためのオプションで -y 0 で ttc や otcのようなフォントコレクションにおいて何番目のフォントの情報を抜き出すかという意味になります。標準フォントはたいてい0に入ってると思う。1がプロポーショナル形式 とかですね。日本語が含まれるようなモノならば、わりかしい大きいサイズのテキストは出力されます。
 +
 +
 +
 出力されたCMapには、規格化されたプラットフォームやフォーマットに基づいたCMap向けの番号が使われています。これが何を意味しているのかを調べれば全体が把握できるようになると思います。
 +
 +
 +
 [https://docs.microsoft.com/en-us/typography/opentype/spec/cmap マイクロソフトが公開しているCMap番号の情報]。
 +
 
[[PDF 内部構造#説明|PDF 内部構造]]に戻る。
 
[[PDF 内部構造#説明|PDF 内部構造]]に戻る。

2022年7月21日 (木) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス