縦組みにおける luatexja-fontspec
試しに横組みと縦組みで同じフォントを指定するものを作ってみました (5638393).あまりテストしていないです. 横組みのフォントを定義したあとに,\fontspec_save_family:nT と \fontspec_save_fontinfo:nn を無効化して強引に縦組みの設定を捩じ込みます. 必然的に横組みと縦組みの JFM の指定は同じになるのですが,デフォルトのときだけ ujis と ujisv になります(たぶん).
今の仕組みのままだと横組みと縦組みを別々に指定するのは難しいです. 現状だと,「IPAMincho(0)」といったフォント ID が \mcdefault に入るのですが(数字はオプションが違うものが定義されるたびにインクリメントされる), 別にするとなるとどうしたものでしょうか.
platex の場合は,\mcdefault は mc などでほぼ固定で,それとエンコーディングの情報を使って(?),実際のフォントは dvipdfmx 時に指定される感じでしたが…….
commit 7294538 で fontspec v2.4 対応を kitagawa_tfont ブランチ(をコピーした自分のブランチ)に入れました. ついでに,縦組みフォント指定は新機能の NFSSFamily を使ってみました. これで,妙なことをせずに自然に縦組み用のフォントを指定できるようになりました(NFSSFamily の仕様をまだ把握しきれていないので,何かまずいことが起こるかも……). そのうち,縦組みフォントのみの指定も試してみます.
fontspec の内部がうまく読解できていませんが,commit ef9d01b で
\newjfontfamily\hoge[
YokoFeatures = { ... },
TateFeatures = { ... },
TateFont = HogeraGothic, ...
]{HogeraMincho}
のような指定ができるようにしたつもりです.集いで上記コメントの内容で発表したので,ここでは完了としておきます.
チケット #33761(LuaTeX-ja での縦組み)からの派生です.
本チケットでは,luatexja-fontspec における縦組サポートの実装について扱います.
まず,親チケット #33761 にある kmaeda さんのコメントを引用しておきます.