マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

dvipdfmx で OpenType する件について (SFD 編-6)

前回の続き)

サブフォント定義ファイル(SFD ファイル)を用いたフォントの設定の話が続いている。今までの話では、TFM 生成ツールとして ttf2tfm、DVI ウェアとして dvipdfmx を用いるという前提で話をした。今までに言及した TeX 関連ソフトウェアの多くは SFD ファイルに対応しているので、ここでは他のソフトウェアでの設定方法を述べる。

「全体の流れ」の再確認

具体的な話の前に、もう一度「全体の流れ」を確認して、「どこが変わるのか」を考えてみよう。

  1. TFM ファイル(.tfm)とその付随ファイルの生成。
  2. 各DVI ウェア/レンダラ用のマップファイルの作成。
  3. 各ファイルの配置 + マップファイル読込の設定。
  4. LaTeX レベルの支援ファイルの作成・配置。
  • 1. は「エンコーディングを定義する方法(既定値を使用/.enc ファイル/SFD ファイル/CMap ファイル*1;および VF の使用の有無)」と「TFM 生成ツール」により手順が異なる。
  • 2. は「エンコーディングを定義する方法」と「対象のDVI ウェア/レンダラ」により手順が異なる。
  • 3. はファイルの種類により置くべき場所が異なる。今回の話では「新しいファイルの種類」は出てこないので、今までの知識で通用する。
  • 4. は他の要素には依存しない。TeX(の組版エンジン)は TFM しか見ない(その TFM が如何にして作られたか、どういう方式でどの実フォントに対応しているかは気にしない)からである。ただし、サブフォントの本来の用法、つまり複数の TFM ファイルを TeX 上であたかも「1 つのフォント」として扱う場合は、当然特別な処理をプログラムする必要がある。

大切なことは、「TFM 生成ツール」と「対象の DVI ウェア/レンダラ」は直接は互いに依存しないということである。従って、以下では、「DVI ウェア/レンダラ」による違いと、「TFM 生成ツール」による違いを別個に取り扱う。

(補足) ただし、ここで挙げた要素の組み合わせの全てが実際に使えるわけではないことに注意する必要がある。だから実際に「あるフォントを TeX で使いたい」という場合は、次のような感じで適切な組み合わせを選ぶ必要がある。

  • 対象のフォント形式(Type1、OpenType(TrueType グリフ、CFF グリフ))により使える「TFM 生成ツール」は限定される。
  • 「使える TFM 生成ツール」と「使いたい DVI ウェア/レンダラ」の両方が対応している「エンコーディング定義方法」を選択する。

*1:CMap は pTeX和文フォントと共に用いられる。