Acetaminophen’s diary

化学に関すること,TeXに関すること,ゆきだるまに関すること。

TeXにフォントを追加した件(その2)

前回の続き)

さて、TeX のディレクトリ内にフォントファイル(OTF とか TTF とか)を直接コピーして持ってくるのはちょっとライセンス的に怪しい気がしたので、シンボリックリンクを貼ることに。(そもそも W32TeXTeX Live を取り込んでいるから IPA フォントを使えばいいじゃないかということは置いておく。)

 

シンボリックリンクを作るための準備

Mac などの UNIX 系環境では Mac - TeX Wiki とかにあるように、mkdir コマンドと ln コマンドを sudo と一緒に使えばよい。では、Windows ではどうか。

mkdir コマンドは UNIX と同じように使える。

mkdir C:\w32tex\share\texmf-local\fonts\opentype\kozuka

これで小塚のシンボリックリンクを格納するためのフォルダが生成し、cd で今作ったディレクトリに移動する。

cd C:\w32tex\share\texmf-local\fonts\opentype\kozuka

 

シンボリックリンク作成

さあ、問題はこれから。シンボリックリンクを作るコマンドを実行しなければならない。UNIX 系では、システムに小塚がインストールされている場合

sudo ln -fs /Library/Fonts/Koz* /usr/local/texlive/texmf-local/fonts/opentype/kozuka

とすれば、ワイルドカードで指定したすべてのフォントファイルを一括でリンクを作成できる。ここでは、sudo で Root 権限に昇格し、ln コマンドとオプションに続けて「元のファイルのパス」「新しく作るリンクのパス」の順に入力する。Windows で ln と同様の働きをする mklink コマンドはパスの指定順序が逆で、しかもワイルドカードが使えない。すなわち、「新しく作るリンクのパス」「元のファイルのパス」と1つずつ指定して

mklink KozGoPr6N-Medium.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\KozGoPr6N-Medium.otf"
mklink KozMinPr6N-Regular.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\KozMinPr6N-Regular.otf"

にする必要があるはずだ*1。ああ、ややこしい。

 

管理者権限で実行:Windows で sudo する

ただ、これだけではまだ mklink コマンドは実行できない。UNIX 同様、管理者権限に昇格しなければファイルのシンボリックリンクを作成する mklink は実行できないのだ。いちいちコマンドプロンプトを「管理者権限で起動」するのも面倒なので、Windowsでsudoする - よくある忘備録に紹介されている sudo.vbs を作成し、PATH が通ったディレクトリに置いてみた。これで快適に UNIX ライクな sudo ができるので、改めて mklink する。

sudo mklink KozGoPr6N-Medium.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\KozGoPr6N-Medium.otf"
sudo mklink KozMinPr6N-Regular.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\KozMinPr6N-Regular.otf"

これで通った。

と、長々と書いてしまったので要点をまとめる(しかも作業量を減らす)と、結局

  1. Windowsでsudoする - よくある忘備録に紹介されている sudo.vbs を作成し、 PATH が通ったディレクトリに置く
  2. 適当なディレクトリ(ホームでもデスクトップでも)に「adobefont.bat」というファイル名のバッチファイルを作成(内容は下で紹介)
  3. adobefont.bat のあるディレクトリで「sudo adobefont」する

これで一発でシンボリックリンクができる。

(adobefont.bat の中身*2

mkdir C:\w32tex\share\texmf-local\fonts\opentype\kozuka
cd C:\w32tex\share\texmf-local\fonts\opentype\kozuka
mklink KozGoPr6N-Medium.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\KozGoPr6N-Medium.otf"
mklink KozMinPr6N-Regular.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\KozMinPr6N-Regular.otf"
mkdir C:\w32tex\share\texmf-local\fonts\opentype\adobe
cd C:\w32tex\share\texmf-local\fonts\opentype\adobe
mklink AdobeFanHeitiStd-Bold.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\AdobeFanHeitiStd-Bold.otf"
mklink AdobeGothicStd-Bold.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\AdobeGothicStd-Bold.otf"
mklink AdobeGothicStd-Light.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\AdobeGothicStd-Light.otf"
mklink AdobeHeitiStd-Regular.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\AdobeHeitiStd-Regular.otf"
mklink AdobeMingStd-Light.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\AdobeMingStd-Light.otf"
mklink AdobeMyungjoStd-Medium.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\AdobeMyungjoStd-Medium.otf"
mklink AdobeSongStd-Light.otf "C:\Program Files (x86)\Adobe\Reader 11.0\Resource\CIDFont\AdobeSongStd-Light.otf"

もちろん、ls-R を使用している場合は最後に

mktexlsr

することを忘れずに。

 

いよいよ日中韓フォント処理

これで、目標の Welcome to Adobe GoLive 6 の「otftest.tex」をコンパイルしたいわけだが、まず platex で DVI ファイルを作る。次に dvipdfmx を、map フ ァイルは W32TeX 標準の「kozukapr6n.map」を指定して実行する(TeX Wiki 参照)。ただし、Adobe Reader に付属する小塚にはウェイトが少ないので、無理やりだが以下のようにする。

「kozukapr6n.map」に書いてある KozGoPr6N-Regular をすべて KozGoPr6N-Medium に置換

これで通った(もちろん小塚の多ウェイトを持っている場合は改変不要)。以上!

*1:これは Windows 7 (64bit) に Adobe Reader XI をインストールしている僕の場合で、32bit なら「 (x86)」は不要、Adobe Acrobat など他製品ならディレクトリ名は適宜読み替える。

*2:Adobe Reader しか無い場合。他製品なら小塚の多ウェイトが利用できるのでそれも適宜追加する。