ActiBookアプリアイコンActiBookアプリをダウンロード(無償)

  • Available on the Appstore
  • Available on the Google play

概要

TET5

図7.3あるロゴタイプのフォントに対するフォントレポートを見たところ、このフォントは誤ったUnicodeマッピングを持っていることがわかった。これはカスタムのコードリストで正すことが可能。>その後につづけてその行には、そのコードに対するUnicodeコード点を7つまで書くことができます。値は10進か(前にxか0xをつけて)16進記法で与えることができます。UTF-32に対応していますので、サロゲートペアも使えます。コードリストはファイル名の拡張子として.clを用いるきまりになっています。コードリストはcodelistリソースカテゴリを用いて設定を行うことができます。コードリストリソースが何も明示的に指定されていない場合、TETは.cl(ここではリソース名)という名前のファイルをsearchpathヒエラルキーの中で探します(詳しくは、65ページの5.2「リソース設定とファイル検索」を参照)。つまりいいかえれば、リソース名とファイル名(から拡張子.clを除いたもの)とが同一のときはリソースを設定する必要はないということで、なぜならその場合TETは下記の呼び出しと等価な動作を暗黙に行うからです(ここでnameは任意のリソース名):set_option("codelist {name name.cl}");次の例はコードリストの使用例です。ここでは、図7.3に示すようにロゴタイプのグリフが誤ってマップされている場合を想定します。このフォントでは、1つのグリフが実際には複数のキャラクタを表しており、キャラクタをすべて並べると会社のロゴタイプが形成されるようになっているのですが、各グリフが誤ってキャラクタa・b・c・d・eにマップされてしまっているのです。これを正すには以下のコードリストを作ればよいでしょう:% GlobeLogosOneフォントの各コードに対するUnicodeマッピングx61x0054 x0068 x0065 x0020% Thex62x0042 x006F% Box63x0073 x0074 x006F x006E x0020% stonx64x0047 x006C x006F% Glox65x0062 x0065% beそしてTET_open_document( )で下記のオプションを用いてコードリストを与えます(このコードリストはGlobeLogosOne.clというファイルにあり、検索パスで見つかるようにしてあるとして):glyphmapping {{fontname=GlobeLogosOne codelist=GlobeLogosOne}}ToUnicode CMapリソースはあらゆる種類のフォントに利用可能PDFはToUnicodeCMapというデータ構造に対応しています。これを用いると、フォントの各グリフに対するUnicode値を与えることができます。このデータ構造がPDFファイル内に存在する場合、TETはそれを利用します。あるいは、ToUnicode CMapを外部ファイルとして与えることも可能です。これはPDF内のToUnicode CMapが不完全な場合や、誤った内容を含んでいるときや、存在しない場合に有用です。ToUnicode CMapはコードリストよりも優先されます。ただ、コードリストのほうがToUnicode CMapよりも形式が簡単なため、好んで用いられます。118 7章:高度なUnicode処理