MacOSとWindowsでのフォントの違い

MacOSとWindowsでのフォントの違い

- 土屋 勝 の投稿
返信数: 2
これまでMacOS上で作成されていたLaTeXソースをWindows上で処理することになり,フォント名の違い?に悩んでいます.

対象となるLaTeXソースは,以前からシリーズで使われてきたもので,モリサワフォントが使われています.フォントに関してはclsファイルに

%% R
\DeclareKanjiFamily{JY1}{shingo-r}{}
\DeclareKanjiSubstitution{JY1}{shingo-r}{m}{n}
\DeclareFontShape{JY1}{shingo-r}{m}{n}{<-> s * [0.961] shingo-r}{}
\DeclareKanjiFamily{JT1}{shingo-r}{}
\DeclareKanjiSubstitution{JT1}{shingo-r}{m}{n}
\DeclareFontShape{JT1}{shingo-r}{m}{n}{<-> s * [0.961] shingo-r-v}{}
%% M
\DeclareKanjiFamily{JY1}{shingo-m}{}
\DeclareKanjiSubstitution{JY1}{shingo-m}{m}{n}
\DeclareFontShape{JY1}{shingo-m}{m}{n}{<-> s * [0.961] shingo-m}{}
\DeclareKanjiFamily{JT1}{shingo-m}{}
\DeclareKanjiSubstitution{JT1}{shingo-m}{m}{n}
\DeclareFontShape{JT1}{shingo-m}{m}{n}{<-> s * [0.961] shingo-m-v}{}
%% B
\DeclareKanjiFamily{JY1}{shingo-b}{}
\DeclareKanjiSubstitution{JY1}{shingo-b}{m}{n}
\DeclareFontShape{JY1}{shingo-b}{m}{n}{<-> s * [0.961] shingo-b}{}
\DeclareKanjiFamily{JT1}{shingo-b}{}
\DeclareKanjiSubstitution{JT1}{shingo-b}{m}{n}
\DeclareFontShape{JT1}{shingo-b}{m}{n}{<-> s * [0.961] shingo-b-v}{}
%% 太ゴB101
\DeclareKanjiFamily{JY1}{futogo-b}{}
\DeclareKanjiSubstitution{JY1}{futogo-b}{m}{n}
\DeclareFontShape{JY1}{futogo-b}{m}{n}{<-> s * [0.925] futogo-b}{}
\DeclareKanjiFamily{JT1}{futogo-b}{}
\DeclareKanjiSubstitution{JT1}{futogo-b}{m}{n}
\DeclareFontShape{JT1}{futogo-b}{m}{n}{<-> s * [0.925] futogo-b-v}{}

という指定がされています.このままだとWindows 8.1のTeX Live 2015で
platex main.tex
dvipdfmx -f morisawa main
と処理をしても

dvipdfmx:warning: Could not locate a virtual/physical font for TFM "futogo-b".
dvipdfmx:warning: >> This font is mapped to a physical font "FutoGoB101-Bold".
dvipdfmx:warning: >> Please check if kpathsea library can find this font: FutoGoB101-Bold
dvipdfmx:fatal: Cannot proceed without .vf or "physical" font for PDF output...

Output file removed.
となってPDFファイルが出力されません.

もちろんWindowsにはA-OTF-FutoGoB101Pro-Bold.otfなど必要なモリサワフォントはインストールしてあり,このclsファイルを使わない自分のLaTeXソースならば普通にモリサワフォントが埋め込まれたPDFファイルが作成されます.

フォントファイル名が違っているのではないかと,いろいろと試してみましたが,行き詰まってしまいました.どなたか助言をお願いします.

私の使用環境は
Windows 8.1
LaTeX 2015
platex,dvips,dvipdfmx
です.


土屋 勝 への返信

Re: MacOSとWindowsでのフォントの違い

- Akira Kakuto の投稿
> platex main.tex
> dvipdfmx -f morisawa main
> と処理をしても
>
> dvipdfmx:warning: Could not locate a virtual/physical font for TFM "futogo-b".
> dvipdfmx:warning: >> This font is mapped to a physical font "FutoGoB101-Bold".
> dvipdfmx:warning: >> Please check if kpathsea library can find this font: FutoGoB101-Bold
> dvipdfmx:fatal: Cannot proceed without .vf or "physical" font for PDF output...
>
> Output file removed.
> となってPDFファイルが出力されません.
>
> もちろんWindowsにはA-OTF-FutoGoB101Pro-Bold.otfなど

よくわかりませんが,メッセージから判断して,
提供されている(?) morisawa.map 中で,FutoGoB101-Bold となっているところを
A-OTF-FutoGoB101Pro-Bold.otf に変更するなどして,試行錯誤を繰り返すと
どうでしょうか?
土屋 勝 への返信

Re: MacOSとWindowsでのフォントの違い

- 本田 知亮 の投稿
>\DeclareFontShape{JY1}{futogo-b}{m}{n}{<-> s * [0.925] futogo-b}{}

そもそもの問題というか気になるのは
futogo-b.tfmのファイルサイズいくつですか?

TeXが使うtfmとvfから参照されるtfmが混同され,
vfから参照されるtfmで組版されている例というのを
じつは結構みます.
ファイル名から想像するに,なんとなくそんな印象です.
サイズが108バイトだったり,
kpsewhich futogo-b.tfmの結果が
$texmf\fonts\tfm\ptex\dvips
だったりすると怪しいです.

あとdvipsとdvipdfmxは別のものなので
一緒に考えると混乱します.
また二つの環境の違いを追いかけることととか,
なんでも一気にしないで
しかも単純なサンプル
\documentclass{jarticle}
\begin{document}
\font\a=futogo-b.tfm
{\a あ}
\end{document}
程度で処置していくのが楽なのではないでしょうか

原因としては,角藤先生のご指摘の通り
変換時に実際に使われているmapを確定して
その中の記述を追いかけることででしょうか.
updmapを使っているか否かとか
手動で奥地のmapを書き換えたかとかも
関わると思います.

動かすだけなら
dvipsなら-uオプション,dvipdfmxなら-fオプションで
その場限りのmapを指定すればうごくはずです.
mapの書式は
psfonts.map(dvips)
cid-x.map(dvipdfmx)
をみればわかるかと思います