TeXで,tex -> dvi -> ps -> pdf の順でファイルを生成していく際に,日本語の文字化けの対処でつまずいたのでメモを残しておく。最後のPDFファイルで文字化けを起こす理由は,ghostscriptに日本語のフォントが設定されていないからである。
環境はlinuxのCentOSとUbuntuの2つについて。TeXは,リポジトリに登録されているものではなく,本家のtexlive(texlive2016)を利用する。
どちらの環境でも次のページ
TeX Live 2013 on Scientific Linux 6.4
を参考にしてtexliveをインストールした(texliveインストール後のパスの設定まで)。
この状態で platex -> dvips -> ps2pdf を実行すると文字化けしたPDFファイルが生成されるが,どちらのの環境のPSファイルのヘッダ?部分は次のようになっている。
%!PS-Adobe-2.0 %%Creator: dvips(k) 5.996 Copyright 2016 Radical Eye Software %%Title: potts_model.dvi %%CreationDate: Wed Dec 31 23:59:59 1969 %%Pages: 22 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%DocumentFonts: IPAexMincho-H CMR12 CMBX10 IPAexGothic-H CMSS10 CMR10 %%+ CMSS17 CMSS12 CMR9 CMMI10 CMSY10 CMMI7 CMR7 CMMIB10 CMEX10 CMSY7 %%+ CMMIB7 CMR5 CMMI5 Helvetica CMMIB9 CMSY6 CMMI6 CMMI9 CMR6 CMSY5 %%+ CMBSY5 CMMIB5 %%DocumentPaperSizes: a4 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips potts_model.dvi %DVIPSParameters: dpi=600 %DVIPSSource: TeX output 2016.07.05:1751 %%BeginProcSet: tex.pro 0 0 %!
ghostscriptの日本語フォントが昔のものと異なっており,また設定ファイルをどこに記述すればよいのかわからず,はまってしまった…
この文字化け解消のためにそれぞれの環境でつぎのように設定を行う。
- CentOS(7.2)
次のコマンドでシンボリックリンクを作成
# ln -s /usr/local/texlive/2016/texmf-dist/fonts/truetype/public/ipaex /usr/share/fonts/ipaex
/etc/ghostscript/cidfmap.ja
に以下のものを記述/IPAexMincho << /FileType /TrueType /Path (/usr/share/fonts/ipaex/ipaexm.ttf) /CSI [(Japan1) 6] >> ; /IPAexGothic << /FileType /TrueType /Path (/usr/share/fonts/ipaex/ipaexg.ttf) /CSI [(Japan1) 6] >> ;
- Ubuntu(16.04)
次のコマンドでシンボリックリンクを作成
# ln -s /usr/local/texlive/2016/texmf-dist/fonts/truetype/public/ipaex /usr/share/fonts/truetype/ipaex
/usr/share/ghostscript/9.18/Resource/Init/cidfmap
に以下のものを記述/IPAexMincho << /FileType /TrueType /Path (/usr/share/fonts/truetype/ipaex/ipaexm.ttf) /CSI [(Japan1) 6] >> ; /IPAexGothic << /FileType /TrueType /Path (/usr/share/fonts/truetype/ipaex/ipaexg.ttf) /CSI [(Japan1) 6] >> ;
このように設定することで日本語に対応することができた。
PSファイルのDocumentfontsと,ghostscriptの設定を記述する場所に気をつけなければならない。
参考にしたページ → Ubuntu 日本語LaTeX環境構築方法
—– 追記 —–
このあと,この設定で使用していたら文字が用紙からはみ出してしまうという現象が起こった。これは用紙サイズの設定が正しくPSファイルに書きだされていなかったためで,TeXファイルのプリアンブル部に
papersize\documentclass[12pt,a4paper,notitlepage,
]{jsbook}
このようにpapersize
を付け加えることで解決した。