日本語フォントをPDFに埋め込む実験

このところ,Windows版TeXでの実験ばかりだったが,Mac OSX にはもともとヒラギノという美しいフォントが付属しているわけで,これを使わない手はなかった。ということで,埋め込みの実験。実は,utfパッケージを拡張した otfパッケージを使えば,自動的にヒラギノが埋め込まれる。しかし,それ以外にも埋め込みたいフォントがあるので,仕組みを理解しておきたいのであ〜る。

参考にしたのは,otfパッケージを作成された齋藤修三郎さんのサイト LaTeX2e的 と 具体的な事例が紹介されている MacPorts の pTeX における和文多書体環境の整えかた というページ。作業は意外と簡単だったが,忘れないうちにメモ。

とりあえず,ファイル群はすべてカレントに置いて実験。本格的に使うときは,適切なディレクトリーに置いて,texhash すること。

まず,フォント本体をダウンロード。今回は cinecaption.otf というOpenType Font を使う。jis.tfm あるいは otfパッケージの tfm ファイルをコピーして cinecaption.tfm なるメトリックファイルを作る。今回は otfパッケージのをコピーした,あとで縮尺するのだが,jis.tfmと違い,0.92469倍にすることに注意。

次に,vf (Virtual Font) などを作る。makejvf を使って,cinecaption.vf と cinecap.tfm を生成する。作り方は

% makejvf cinecaption.tfm cinecap

さらにマップファイルを作る。次の内容を cinecap.map というファイルに保存する。

cinecap H cinecaption.otf

最後に,このフォントを使うためのマクロ。とりあえず,sample.tex というファイルで実験。プリアンブルの部分に次のような記述をする。


\makeatletter
\DeclareKanjiFamily{JY1}{cinecap}{}
\DeclareFontShape{JY1}{cinecap}{m}{n}{<-> s * [0.92469] cinecaption}{}
\newcommand{\cinecapdefault}{cinecap}
\DeclareRobustCommand\cinecapfamily{%
  \not@math@alphabet\cinecapfamily\relax
  \kanjifamily\cinecapdefault\selectfont}
\def\textcinecap#1{\relax\ifmmode\hbox\fi{\cinecapfamily #1}}

これで,コンパイルすれば,sample.dvi ができる。これを PDF に変換する際には,マップファイルへの参照が必要となる。本格運用時は cid-x.map に書き込んで updmap するが,今回は実験なので dvipdfmx が読み込むように,オプションで指定する。

% dvipdfmx -f cinecap.map sample.dvi

以上でフォントがちゃんと埋め込まれているのを確認。

コメントを残す

メールアドレスが公開されることはありません。