34 またか… LaTeX2HTML で日本語が化ける

ghostscript (おかしな 9.24 を置き換える 9.25 が、 ようやく MacPorts で入った!) の問題だろうと検討がついたけれど、 a2ps-j で出来た PostScript ファイルはちゃんと表示出来る。

latex2html -debug 件のTeXファイル でログを出すと、 ghostscript に処理が渡って
Can't find (or can't open) font file /opt/local/share/ghostscript/9.25/Resource/Font/HiraMinPro-W3-H.
Can't find (or can't open) font file HiraMinPro-W3-H.
Didn't find this font on the system!
Substituting font Courier for HiraMinPro-W3-H.
のようなエラーメッセージが出ている。

HiraMinPro-W3-H がないので Courier で代用した、と言うことか。それは化けるよね。

% ls /opt/local/share/ghostscript/9.25/Resource/CIDFont
ArtifexBullet				HiraMaruPro-W4.mp_1523328535@
DFWaWaSC-W5@				HiraMaruPro-W4.mp_1537289482@
DFWaWaTC-W5@				HiraMaruProN-W4@
FandolFang-Regular@			HiraMaruProN-W4.mp_1523328535@
FandolHei-Bold@				HiraMaruProN-W4.mp_1537289482@
FandolHei-Regular@			HiraMinPro-W3@
FandolKai-Regular@			HiraMinPro-W3.mp_1523328535@
FandolSong-Bold@			HiraMinPro-W3.mp_1537289482@
FandolSong-Regular@			HiraMinPro-W6@
HiraKakuPro-W3@				HiraMinPro-W6.mp_1523328535@
HiraKakuPro-W3.mp_1523328535@		HiraMinPro-W6.mp_1537289482@
HiraKakuPro-W3.mp_1537289482@		HiraMinProN-W3@
HiraKakuPro-W6@				HiraMinProN-W3.mp_1523328535@
HiraKakuPro-W6.mp_1523328535@		HiraMinProN-W3.mp_1537289482@
HiraKakuPro-W6.mp_1537289482@		HiraMinProN-W6@
HiraKakuProN-W3@			HiraMinProN-W6.mp_1523328535@
HiraKakuProN-W3.mp_1523328535@		HiraMinProN-W6.mp_1537289482@
HiraKakuProN-W3.mp_1537289482@		HiraginoSansGB-W3@
HiraKakuProN-W6@			HiraginoSansGB-W3.mp_1523328535@
HiraKakuProN-W6.mp_1523328535@		HiraginoSansGB-W6@
HiraKakuProN-W6.mp_1537289482@		HiraginoSansGB-W6.mp_1523328535@
HiraKakuStd-W8@				Weibei-SC-Bold@
HiraKakuStd-W8.mp_1523328535@		Weibei-TC-Bold@
HiraKakuStd-W8.mp_1537289482@		YuGo-Bold@
HiraKakuStdN-W8@			YuGo-Medium@
HiraKakuStdN-W8.mp_1523328535@		YuppySC-Regular@
HiraKakuStdN-W8.mp_1537289482@		YuppyTC-Regular@
HiraMaruPro-W4@

(このうち Hira 某は、 /opt/local/share/fonts/otf/Hiragino/ にあるフォントへのシンボリックリンクだ。)

/opt/local/share/ghostscript/9.25/Resource/Font/HiraMinPro-W3-H に次の内容のファイルを作る (これが正しい処置かどうか自信はないけれど、それで動くことは分かっている)。
%!PS-Adobe-3.0 Resource-Font
%%DocumentNeededResources: H (CMap)
%%IncludeResource: H (CMap)
%%BeginResource: Font (HiraMinPro-W3-H)
(HiraMinPro-W3-H)
(H) /CMap findresource
[(HiraMinPro-W3) /CIDFont findresource]
composefont
pop
%%EndResource
%%EOF

ほぼ毎バージョン同じようなことをやっている。 次回はスクリプトを書いてやるのだ。

書きかけ
foreach i (HiraMinPro-W3-H HiraKakuPro-W6-H Ryumin-Light-H GothicBBB-Medium-H)
  if (! -e /opt/local/share/ghostscript/バージョン/Resource/Font/$i then
     cp -p ${SOMEWHERE}/$i /opt/local/share/ghostscript/バージョン/Resource/Font
  endif
end

桂田 祐史
2020-04-05