2014-01-27

[LaTeX] 旧字体や異体字 (俗字体) を使いたい!

理工学系学生のため、卒論作成で避けては通れない TeX (pLaTeX2e)。

ここ最近毎日てふてふしてます(笑)
そして今日「旧字体を表示したいんだけど、うまくできないっ」と友人に助けを求められ、困ったわけです。

出るエラーはこんな感じ。あとで書きますが、utf.sty を使ってます。
** WARNING ** Could not locate a virtual/physical font for TFM "cidmin-h".
** WARNING ** >> This font is mapped to a physical font "HiraMinProN-W3.otf".
** WARNING ** >> Please check if kpathsea library can find this font: HiraMinProN-W3.otf
** ERROR ** Cannot proceed without .vf or "physical" font for PDF output...

Output file removed.
dvipdfmx を実行すると、ファイルが消されるという恐ろしい仕様←そこまで恐ろしくはない

詳しいことはわかりませんが「ヒラギノ明朝がねーよ」っていうエラーですかね。
「Windows なんだから、ヒラギノがデフォルトで入ってるわけねーじゃねーか!」とツッコミたい。
Mac なら標準フォントだけど、フリーフォントじゃねーぞって話です。

そんなわけで、調べて、試してみました。
いろいろなやり方がネット上には転がっているのですが、どれも面倒くさそうで、手軽さがない。

なので、今回は比較的簡単にできる方法を覚書として残しておきたいと思います。

【 2015/10/15 追記 】
どうも、「TeXworks」で「フォントマップファイルをどこに置いたらいいのか」みたいな疑問を抱いている方がいるようなので、一応、参考になりそうなサイトを貼っておきます。 (どこに置くかという話というよりかは、TeX Live 付属のフォントマップファイルをどう使うかみたいな話になってますが、一応パスとかも書いてあるので、そこから察してくれればいいのではないかと。)
# わざわざ「教えて○○」とか「○○知恵袋」みたいなところで聞かなくても、下の投稿欄に質問でも飛ばしてくれれば、手助けくらいするんですけどね。まぁ、いっか。



まず、当方の環境は Windows 上に「TeX インストーラ 3」にて環境構築しております。
それ以外の環境は知りませんが、ほぼ同じのはずです。てか、TeX なんだから多少のバージョンは違えど TeX は TeX です。
ただ、「MS ゴシック」や「MS 明朝」を使うので、Windows 向けです。
Mac では他のフォントを指定すれば良さそうですし、Linux でも IPA フォントとか使えば代用出来そうですが…

また、私のポリシーとして TeX 関連のインストールフォルダを弄ったりすることはしません。
それは Dropbox などに TeX のファイルを保存し、複数の PC から弄ることがあるためで、いちいちすべての環境をその環境にするのが面倒なためです。

そんなわけで、始めて行きましょう!



(1) プリアンブルを弄る

「プリアンブル」って? って疑問に思ったら、あなたはまだまだ TeX レベルが足りませんね。まぁ、そんな TeX 使いなんていないでしょうけど。
説明しちゃいますけど、ソースコードの最初に書く \begin{document} の前の部分のことです。

そこに、今回は
\usepackage{uft}
って書いてあげてください。


(2) フォントマップファイルの作成

適当なテキストエディタ (秀丸、サクラエディタ、TeraPad、メモ帳 etc...) を開いて、以下の内容を「font.map」とか名前をつけて、TeX のコードたちと同じフォルダに保存してあげてください。
rml H :0:msmincho.ttc
rmlv V :0:msmincho.ttc
gbm H :0:msgothic.ttc
gbmv V :0:msgothic.ttc

unijmin-h UniJIS-UTF16-H :0:msmincho.ttc
unijmin-v UniJIS-UTF16-V :0:msmincho.ttc
unijgoth-h UniJIS-UTF16-H :0:msgothic.ttc
unijgoth-v UniJIS-UTF16-V :0:msgothic.ttc

cidmin-h Identity-H :0:msmincho.ttc/AJ1
cidmin-v Identity-V :0:msmincho.ttc/AJ1
cidgoth-h Identity-H :0:msgothic.ttc/AJ1
cidgoth-v Identity-V :0:msgothic.ttc/AJ1

hmr H :0:msmincho.ttc
hmrv V :0:msmincho.ttc
hkb H :0:msgothic.ttc
hkbv V :0:msgothic.ttc

hminr-h H :0:msmincho.ttc
hminr-v V :0:msmincho.ttc
hgothr-h H :0:msgothic.ttc
hgothr-v V :0:msgothic.ttc
これをやると、PDF ファイルにフォントが埋め込まれます。
ファイルサイズは大きくなりますが、個人的には埋め込むほうがどんな環境でも読めてオススメです。
また、\textbf (古いスタイルなら \bf) で上手くボールドにならない謎の症状が発生した場合の解決策としても利用可能です。(経験済み)


(3) 旧字体を書き込む

例えば「﨑」(「崎」の「大」が「立」…これは異体字・俗字体に分類されるそうな。) であれば、\CID{8443} または \UTF{FA11} と TeX ファイル内に使いたいところに書けば OK 。
括弧内に打つ文字は、前者の場合は CID の文字コードを、後者の場合は Unicode の文字コードを入力してあげてください。

ただ、文字コードを探すのが面倒なんですよね。いろいろなサイトを駆使して探してみてください(^^;

とりあえずいくつかリンクを張っておきます。

頑張って、気合で探して下さい(笑)

ちなみに、こんなサイトもあります。というか、これが1番いいと思う。
必要な文字を上のテキストエリアに打って、「エスケープ」してあげると、"\u" 以降の英数字4桁が Unicode の文字コードとなります。
そして、その4桁の英数字を "\utf{****}" の形式で TeX のファイルに書き込めばいけるはずです。

(4) コンパイルする

当方は、バッチファイルでコンパイルをしているので、dvipdfmx に -f オプションをつけて、先ほど作ったフォントマップファイルを指定すれば、おしまいです。
dvipdfmx -f font.map hogehoge.dvi

ただ、人によっては WinShell を使っているそうなので、その場合は [オプション] → [主なTeXプログラムの設定] → プログラム: [PDFLaTeX] で、コマンドラインのとこに「-f font.map "%s.dvi"」ってすればいいんじゃないですかね。
できなくても知りませんが。



どうでしょうか、できましたでしょうか。
もし質問や、間違ってんぞ、できねーぞおいこら、ってありましたら、コメント頂けたらと思います。

# 参考にさせていただいたサイトは何件かあったのですが、事後に作成した投稿なのでそのサイトを見つけられず……すみません。

0 件のコメント :

コメントを投稿