報告ありがとうございます.
commit 461d8c3 と 26319d9 の差分では,ltj-rmlgbm.lua の他に,ltj-cid-adobe-{japan1,korea1,gb1,cns1}.lua の 4 ファイルも変わっています. 非埋込フォント Ryumin-Light, GothicBBB-Medium などを(仮想的に)作る場合,これらのファイル内部の情報(今は日本語なので ltj-cid-adobe-japan1.lua)を利用します.
とりあえず,ltj-cid-adobe-japan1.lua だけを 26319d9 のバージョンに差し替えてみたらどうなるでしょうか?
h7k への返信
Foxit Reader 5.1.4 を使って,ltj-cid-*.lua のみを 26319d9 のものに置き換えて確認してみました.
| ltj-cid-*.lua | Ryumin-Light | GothicBBB-Medium | HeiseiMin-W3 | HeiseiKakuGo-W5 |
| 最新 | MS Pゴシック | MS ゴシック | MS 明朝 | MS Pゴシック |
| 26319d9 | MS P明朝 | MS ゴシック | MS 明朝 | MS P明朝 |
じゃあ,HeiseiMin-W3 を使えばよいか,というとそうでもなく,Adobe Reader だとMS Pゴシックで表示されるようです.
私の手元でもltj-cid-adobe-japan1.luaのみをcommit 26319d9のものに置き換えてみましたが、これだと問題なくFoxit Readerで表示できます。 結局、原因となっているのはcommit 4c1e00f6fdc9b96f2468fbebe5ffa40afd1d95fcの方であるようですが、可能であればこのRemoved gpos data from non-embedded fonts.の修正を戻すか、適切に表示できるよう直していただけると嬉しいです。 フォントを埋め込んでいない日本語PDFをFoxit Readerで表示するというのはマイナーな状況かもしれませんが、よろしくお願いします。
可能であればこのRemoved gpos data from non-embedded fonts.の修正を戻すか、適切に表示できるよう直していただけると嬉しいです。
ひとまず ltj-cid-adobe-*.lua を戻しておきました.
commit a81784d で新しい ltj-cid-adobe-*.lua を作ってみました.wine 上の Foxit Readerではうまく動いていますが,そちらではどうでしょうか.
よくわかりませんが, <U+0080 の文字の幅を上書きしていたのがいけないようです.
よくわかりませんが, <U+0080 の文字の幅を上書きしていたのがいけないようです.
pdf を比較して調べてみました.普通は中身が圧縮されていますが, \pdfcompresslevel=0 で非圧縮にできます.
pdf 中には
<</Type/FontDescriptor/FontName/Ryumin-Light/Flags 4/FontBBox[0 -120 1000 880]/Ascent 880/CapHeight 880/Descent -120/ItalicAngle 0/StemV 73/XHeight 503>> % 5 0 objのような行があります.この /StemV キーの値が,
となっています.Ryumin-Light がゴシック体で代用された原因はここかな,と考えています. Foxit Reader に「明朝体にしては /StemV が大きすぎる」と思われたのでしょうか?
ここから細かい話になります(一応備忘録として書いておきます). /StemV キーの値を決めている場所を探したところ,LuaTeX のソース luatexdir/pdf/writefont.w に
static void preset_fontmetrics(fd_entry * fd, internal_font_number f)
{
(中略)
fd->font_dim[STEMV_CODE].val =
divide_scaled(char_width(f, '.') / 3, font_size(f), 3);
(後略)
}
というコードを見つけました.半角ピリオドの文字幅の 1/3 として決めているようです.
commit 461d8c3 では,確かに半角ピリオドを確かに全角幅扱いにしてました.wine 上の Foxit Readerではうまく動いていますが,そちらではどうでしょうか.
こちらでも、commit a81784dで問題なく表示できました。 一応原因(と思しきもの)も判明しましたし、チケットは修正済み・完了に変更しておきますね。
迅速な対応、ありがとうございました。
こんにちは。 「#28187: SumatraPDFでRyumin-LightがMSゴシックになる」とよく似た現象ですが、原因が異なるようなので別にチケットを立てました。
Foxit Readerでフォントを埋め込んでいないPDFを表示させると、Ryumin-Lightの部分がMS Pゴシックで代替されてしまいます。 手元で調べたところ、この問題はLuaTeX-jaリポジトリへの4/24のコミットが原因で発生しているようです。
commit 26319d93b104d5743794813c33e52c77e602998aの時点で作成したPDFでは、Ryumin-Lightは明朝体で代替されますが、commit 461d8c39f2899acf0bb251f638bbe118845828bcの時点で作成したPDFでは、ゴシック体で代替されるようになっています。 おそらくこのコミットでエンバグされたものだと思いますが、ltj-rmlgbm.luaの差分を見てもこの変更がどうして影響するのか私には分かりません。
手元ではとりあえずcommit 263~までrevertして対応していますが、もし原因が分かるようでしたら修正をお願いします。
※なお、SumatraPDFではcommit 461~以前の版で作成したPDFでもゴシック体で表示されているので、先のチケットとは別の問題だと考えられます。