Closed doraTeX closed 7 years ago
私は実際に動かせる環境でない(Lion なので OTF ヒラギノが入っていて、「エイリアスを作らないのが正解」という環境しかない)ので、わかるかどうか不明ですがもう少し調べてみます。
Lion なので OTF ヒラギノが入っていて、「エイリアスを作らないのが正解」という環境しかない
/System/Library/Fonts
をサーチパスから外した状態でテストしてみましたが、私のところでは小塚が /Library/Fonts
に入っているため
/HiraKakuProN-W3 /KozGoPr6N-Medium ;
/HiraKakuProN-W6 /KozGoPr6N-Bold ;
/HiraMinProN-W3 /KozMinPr6N-Regular ;
/HiraMinProN-W6 /KozMinPr6N-Bold ;
のようにエイリアスが張られました。私のところでは期待どおりと思いますが、doraTeX さんのところで動かないのはなぜでしょう?
規則性が分かりました。こちらでも
/System/Library/Fonts
をサーチパスから外すという措置を行い,cjk-gs-integrate.pl からヒラギノOTCが見えない状態に持っていってから cjk-gs-integrate を実行すると,(こちらではMS Officeが入っているので)
/HiraKakuPro-W3 /MS-Gothic ;
/HiraKakuPro-W6 /MS-Gothic ;
/HiraKakuProN-W3 /MS-Gothic ;
/HiraKakuProN-W6 /MS-Gothic ;
/HiraKakuStd-W8 /MS-Gothic ;
/HiraKakuStdN-W8 /MS-Gothic ;
/HiraMinPro-W3 /MS-Mincho ;
/HiraMinPro-W6 /MS-Mincho ;
/HiraMinProN-W3 /MS-Mincho ;
/HiraMinProN-W6 /MS-Mincho ;
となりました。
ここに HiraMaru が入っていないのは,ヒラギノ丸ゴシックOTCだけ /Library/Fonts
に格納されているからです。そこでサーチパスからさらに /Library/Fonts
も削ると,
/HiraKakuPro-W3 /MS-Gothic ;
/HiraKakuPro-W6 /MS-Gothic ;
/HiraKakuProN-W3 /MS-Gothic ;
/HiraKakuProN-W6 /MS-Gothic ;
/HiraKakuStd-W8 /MS-Gothic ;
/HiraKakuStdN-W8 /MS-Gothic ;
/HiraMaruPro-W4 /MS-Gothic ;
/HiraMaruProN-W4 /MS-Gothic ;
/HiraMinPro-W3 /MS-Mincho ;
/HiraMinPro-W6 /MS-Mincho ;
/HiraMinProN-W3 /MS-Mincho ;
/HiraMinProN-W6 /MS-Mincho ;
となり,HiraMaru についてもエイリアスが張られました。
このように,「cjk-gs-integrate からOTCが見えているとエイリアスが張られない」という規則性になっているようです。
理解しました。コードをかなり書き直さないといけないですね… テストがやりづらいのですが、もう少し見てみます。
追記:どうやら
# do not check alias if the real font is available
next if $fontdb{$p}{'available'};
というところを書き換えれば案外簡単そう?
b1fb331 で直せたと思います。(Windows 環境で書いたのでテストは不十分です)
うまくいくことを確認できました!ありがとうございます。
動作確認ありがとうございます。master に入れました。
リリースしていただきたいのですが、Norbert さんの時間のある時にお願いします。
はい、今日・明日します。
今アップしました。
お忙しいところありがとうございます.
hira-aliases ブランチの cjk-gs-integrate.pl を試してみましたが,うまくいきませんでした。
$ sudo perl cjk-gs-integrate.pl --debug --link-texmf --force
を実行したときの出力$ gs -P- -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=hoge.pdf -c .setpdfwrite -f hoge.ps
の出力cidfmap.aliases に手動で
などと書き加えれば,gs が通り,IPAex が正しく埋め込まれました。