読み込むフォント数の抑制
横組しか使わない文書であっても,縦組時のベースライン補正のために縦組用和文フォントが読み込まれる
kitagawa_save_jfont ブランチで実験中です.
横組,\dtou,\utod のときに \selectfont を実行しても縦組用フォントそのものではなく,それの使用する JFM とフォントサイズのペアを \ltj@@tfontjfm/JT3/mc/m/n/10 のような名称の命令に格納しておくことにしたので,そのデータを用いて縦組時のベースライン補正量が計算できるようにしています.難点は日本語対応パッチがさらに複雑になってわかりにくいことでしょうか…….
kitagawa_test ブランチにうつしました.以下のようにしています:
3, 4 つめの項目により,
\DeclareFixedFont\HOGE{JT3}{...}{...}{...}{...}
あいうえお\HOGE かきく
\hbox{\tate あいう % ここの時点で縦組用和文フォントは \HOGE のまま
}
というコードが「意図通りに」動くことになります.
年内には #38664 と合わせて新バージョンを出したいところです.
年内には #38664 と合わせて新バージョンを出したいところです.
仕事関係をやっていたら,こっちをすっかり忘れていました……もうちょっとかかるかも.
LuaTeX-ja 20190107.0 を出したので,ひとまず完了とします.
TeXConf 2018 の発表資料を作成しているときに,以下の理由で和文フォントがたくさん読み込まれることに気づきました:
読み込まれるフォントファイルが増えるわけではありませんが,サイズ違い and/or JFM 違いなので内部的には違うフォントとなり,それによって(とくに Lua 側の)メモリ消費量が多くなります.
1., 2. については現状で以下のような回避策があります:
しかし,3. については,フォント読み込み自体は \tate 等にフックを仕掛ければできますが,縦組時のベースライン補正量の設定タイミング(\selectfont やサイズ変更時を想定?)を考えると悩みものです.なにか良い方法はないでしょうか?