クラスファイル における kern feature
本当ですね,ずっと気づいていませんでした. commit 8ce84cfc で -kern を追加しました.
「ペアカーニング情報の使用」(フォントメトリックと和文フォント)をみるに、ただ単に luatexja を読み込んだときの kern feature の挙動は互換性のために維持したいのかと勝手に思っていましたが、ltj-plain.sty を変更してよかったのでしょうか(私は困りませんが)。
なんにせよ、素早い対応ありがとうございました。
20220411.0 を出したので,完了とします.
LuaTeX-ja を開発していただきありがとうございます。
LuaTeX-ja のドキュメントにおける「ペアカーニング情報の使用」(フォントメトリックと和文フォント)にも記載のある通り、既定では NFSS によりフォントを設定した場合、kern feature が有効となります。 このため、ltjsclasses などを使った場合、カーニングによって、和文においても文字の並びが規則的にならない場合があります。 多くの場合、これは望まれる挙動ではないように思います。
LuaLaTeX と (u)pLaTeX で改行位置が変わる例を作ってみました:
1 行あたりの文字数が極端でない場合は、主に最終行で問題になります。
とりあえずは \usepackage[nfssonly]{luatexja-preset} や \def\ltj@stdyokojfm{ujis;-kern} で対処していますが、luatexja-preset を読み込むのをお約束にするのもどうかと思うので、クラスファイル側での対策を期待します。 bxjscls や jlreq では対処されているようです。