2月
13
2009

やっぱり本物がイイっ!!

昔はCM (Computer Modern) と言えばMETAFONTで作ったPK (PacKed) フォントだったが,PDFに埋め込むと出力先の解像度によってはギザギザになってしまうことが多かった
そもそもPKフォントは出力装置の解像度に合わせて用意されるものなので当然だが・・・

しかし最近のTeX環境にはBlue Sky Researchがフリーで提供してくれたType1の高品質なCMが付属するようになっている

CMはTeXの生みの親のKnuth教授がデザインされたフォントですが,線が細いし,失礼ながらあまり美しくない(数式のシグマはtxよりCMの方が好みだが・・・)
そのせい?か,IEEEを中心に,投稿論文にはTimesを埋め込めとのお達しがあることが多い

さて,問題はTimesが売り物であること

teTeXベースの環境では,URWが寄贈してくれたTimesクローンのNimbusRomanNo9LというType1フォントが使える
正直これで十分やし,自分には違いも分からない

ただ当然埋め込まれたフォントの名前はTimesほげほげじゃなくてNimbusRomanNo9Lほげほげなわけで,厳密に指定を満たしているかといわれると???

要するに貧乏人は投稿するなということでしょうかw
IEEE PDF eXpressなんてのもあるので一概には言えないけど・・・)

そこで,Acrobat Reader 3に付いていた本物のTimes系フォントを拝借することに

せっかくなので一緒に入っている基本14フォントも使いましょう
FontForgeで調べた感じ,TimesはLinotype製,他の基本14フォントはAdobe製の模様

今回はdvipdfm(x)で使用する方法をメモしてますが,どうみてもグレーな方法なので自己責任でよろしく

  1. 取り出し
    • acroread_linux_301.tar.gzを展開
    • さらにREAD.TARを展開
    • Fontsディレクトリの中にある,フォント14個を取り出す

      Courier, Courier-Bold, Courier-BoldOblique, Courier-Oblique
      Helvetica, Helvetica-Bold, Helvetica-BoldOblique, Helvetica-Oblique
      Symbol
      Times-Bold, Times-BoldItalic, Times-Italic, Times-Roman
      ZapfDingbats

  2. 変換
    • 取り出したフォントはASCIIテキスト形式 (pfa) だが,dvipdfm(x)はバイナリ形式 (pfb) のType1フォントしか扱えないのでt1utilsで変換する必要がある
      • t1utilsが入っていない場合は,portとかでインストール
      • フォント名はベンダの命名則かKarl Berry則に従う(今回はKB則を採用)
        • KB則を示したFontname -Filenames for TeX fonts-のAppendix A.1に基本35フォントのKB名が,Appendix A.2にKB則とAdobeのベンダの命名則の対応が記されている
        • Type1フォントのセットアップ方法を示したThe Font Installation GuideのAppendix Aにweightやwidth, variants, encodingのKB則とNFSSの対応表がある
    • 次のt1binaryコマンドを実行
      % /opt/local/bin/t1binary Courier pcrr8a.pfb
      % /opt/local/bin/t1binary Courier-Bold pcrb8a.pfb
      % /opt/local/bin/t1binary Courier-BoldOblique pcrbo8a.pfb
      % /opt/local/bin/t1binary Courier-Oblique pcrro8a.pfb
      % /opt/local/bin/t1binary Helvetica phvr8a.pfb
      % /opt/local/bin/t1binary Helvetica-Bold phvb8a.pfb
      % /opt/local/bin/t1binary Helvetica-BoldOblique phvbo8a.pfb
      % /opt/local/bin/t1binary Helvetica-Oblique phvro8a.pfb
      % /opt/local/bin/t1binary Symbol psyr.pfb
      % /opt/local/bin/t1binary Times-Bold ptmb8a.pfb
      % /opt/local/bin/t1binary Times-BoldItalic ptmbi8a.pfb
      % /opt/local/bin/t1binary Times-Italic ptmri8a.pfb
      % /opt/local/bin/t1binary Times-Roman ptmr8a.pfb
      % /opt/local/bin/t1binary ZapfDingbats pzdr.pfb
      
  3. インストール
    • 変換したフォントを,TDSに従って配置(今回はTEXMFLOCAL/fonts/type1/adobeに配置)
    • Kpathseaを使ってるならmktexlsrを実行
    • 次のupdmap-sysコマンドを実行する
      % sudo /opt/local/bin/updmap-sys --setoption LW35 ADOBEkb
    • ベンダ名の場合やURWのフォントに戻す場合は,/opt/local/share/texmf/web2c/updmap.cfgでオプションを参照

よくmapファイルにエントリを追加してる解説があるけど,updmap-sysupdmapを使いましょう
たまに本物が使いたいだけならオリジナルmapファイルを使ってもいいけど,updmapの方がよいと思う

一応MacPortsで入れたTeXを前提にしてますが,teTeXベースならほぼ同じハズ
W32TeX付属のdvipdfm(x)やAdobe Distillerでのやり方はまた後日

Written by h2 in: PC | タグ:

コメントはまだありません »

RSS feed for comments on this post. TrackBack URL

コメントをどうぞ

TheBuckmaker WordPress Themes Webhosting, MP3, AAC & Co