LuaTeX-ja + luatexja-ruby で3グループ・3文字以上のルビ

LuaTeX-ja + luatexja-ruby で3グループ・3文字以上のルビ

- 上田 完 の投稿
返信数: 4
\documentclass[a4j,12pt]{ltjtarticle}
\usepackage{luatexja}
\usepackage{luatexja-fontspec}
\usepackage[sourcehan-jp]{luatexja-preset}
\usepackage{luatexja-ruby}
\begin{document}
\ltjruby{1|2}{12|12}
\ltjruby{1|2}{123|12}
\ltjruby{1|2}{12|123}
\ltjruby{1|2|3}{12|12|12}
\ltjruby{1|2|3}{123|12|12}
\ltjruby{1|2|3}{12|123|12}
\ltjruby{1|2|3}{12|12|123}
\end{document}

を lualatex (添付ファイルは Linux 上で texlive で作成しましたが、
Windows 10 上の texlive でも同様の現象を確認しています)で処理すると、
添付画像、PDF のような結果になります。
  • グループ数が3以上
  • かつ、1グループ内のルビ文字列が3文字(以上)
になるとこのような現象が起きるようです。私の使い方が何かおかしい
でしょうか(暑いし……って関係ないでしょうが)? 勿論、1グループ×3
にすれば良いことは分かっていますし、現状ではそうやって対応している
わけなのですが……
上田 完 への返信

Re: LuaTeX-ja + luatexja-ruby で3グループ・3文字以上のルビ

- 上田 完 の投稿
追記しますが、手元の lualatex では、
  • Linux 上、distro 供給のパッケージでなく DVD イメージからインストールした TeX Live
  • Windows 10 上、同様に DVD イメージからインストールした TeX Live
のどちらでも同様の現象が起こります。LuaTeX-ja パッケージに関しては、TeX Live 収録のもの (tlmgr で最新のものに更新済)、git で落としている最新版の双方で現象が起こります。

が、Cloud LaTeX で lualatex で処理した場合には起こりません。
上田 完 への返信

Re: LuaTeX-ja + luatexja-ruby で3グループ・3文字以上のルビ

- 前田 一貴 の投稿
> が、Cloud LaTeX で lualatex で処理した場合には起こりません。

この情報を見たので少し調べてみましたが,git での
    d0dc2e5 Fix #38185
という変更以降でこの現象が起きているようです.これの1つ前の
    e9a3080 Releases 20180329.0
では正常でした.
前田 一貴 への返信

Re: LuaTeX-ja + luatexja-ruby で3グループ・3文字以上のルビ

- 北川 弘典 の投稿
気づくのが遅くなってしまいました.LuaTeX-ja では
* ボックスには whatsit の形で組方向(横/縦/……)の情報を格納する
* 縦組では和文文字は一文字ずつ(回転させるため)ボックスに入れられる
という処理を行っていますが,両者が干渉してしまったようです.
開発版リポジトリの方で直しました(
https://ja.osdn.net/projects/luatex-ja/scm/git/luatexja/commits/240b0eca009d4a201829c6eecea520a52633e947 ).