ブックタイトルTET5
- ページ
- 114/228
このページは TET5 の電子ブックに掲載されている114ページの概要です。
秒後に電子ブックの対象ページへ移動します。
「ブックを開く」ボタンをクリックすると今すぐブックを開きます。
このページは TET5 の電子ブックに掲載されている114ページの概要です。
秒後に電子ブックの対象ページへ移動します。
「ブックを開く」ボタンをクリックすると今すぐブックを開きます。
TET5
7.5グリフに対するUnicodeマッピングPDF内のテキストは、さまざまなフォントやエンコーディング方式によって表されている可能性があるのに対し、TETは、PDF内の元のテキスト表現にかかわらず、グリフから抽象情報を抽出し、すべてのテキストをUnicodeキャラクタへ正規化します。PDF内で見つかった情報を、おのおの対応するUnicode値へ変換することを、Unicodeマッピングといい、これはテキストの意味を理解する(テキストの視覚表現を画面上や紙に展開するのではなく)ために必須です。正しいUnicodeマッピングを与えるために、TETは、PDF文書内で見つかるさまざまなデータ構造を照会したり、埋め込まれた、あるいは外部のフォントファイルを照会したり、内蔵の、あるいはユーザが与えたテーブルを照会したりします。さらにTETは、非標準なグリフ名に対してUnicodeマッピングを決定するいくつかの方式も適用します。あらゆる方策を尽くしてもなお、一部のテキストがUnicodeへマップできないPDF文書も若干あります。このような場合に対処するため、TETは、問題のあるPDFファイルに対するUnicodeマッピングを制御するために利用できるさまざまな設定機能を提供しています。マップ不能グリフとTET PUA PDF内のテキストがUnicodeへうまくマップできない場合、その原因は何種類かあります。たとえば、Type 1フォントが未知のグリフ名を含んでいることが原因かもしれません。あるいは、TrueType・OpenType・CIDのいずれかのフォントの場合には、グリフIDで指定されていて、フォントまたはPDFの中にUnicode値が含まれていないことが原因かもしれません。もしもTETがUnicode値を、PDF文書と、埋め込みおよび外部フォントと、構成されたテーブル群と内部テーブル群の中の情報を調べた後で決定できない場合、そのグリフはマップ不能ととらえられます。マップされていないグリフ群は、TET_char_info構造のunknownメンバ(204ページの表10.16を参照)を用いて、あるいはTETML内のGlyph/@unknown属性を用いて特定できます。TETは、すべてのマップ不能グリフに、TET私用領域(TET PUA)内の値を減じながら割り当てます。このTET PUAは、フォント内で割り当てられているPUA値群との衝突を避けるために、補助私用領域内に、すなわちBMP外に位置しています。TET PUAはfoldオプションのソースとしてキーワード_tetpuaを用いて指定できます。デフォルトでは、マップ不能グリフ群に対するTET PUA値群はUnicode置換キャラクタU+FFFDで置き換えられます。この動作は、unknownchar文書オプションを用いて変更可能です。このオプションは、任意のUnicodeキャラクタに設定することもできますし、マップ不能グリフ群に対するTET PUA値を温存または除去するように設定することもできます。表7.2に、いろいろな用途におけるこのfold・unknowncharオプションのさまざまな組み合わせを挙げています。表7.8マップ不能グリフ群に対するTET PUA値の扱いをunknownchar文書オプションを用いて指定説明とオプションリスト生入力結果デフォルト動作:マップ不能グリフ群に対するTET PUA値をUnicode置換キャラクタU+FFFDで置き換え:unknownchar=U+FFFD?U+FFFD114 7章:高度なUnicode処理