1. babelのbidi=defaultとLuaTeX-jaのエラー
\documentclass{article}
\usepackage{luatexja}
\usepackage[japanese, bidi=default]{babel}
\begin{document}
\footnote{あああ}
\end{document}
以上のように、BabelでRTL言語を含む日本語文書をLuaLaTeXで書こうとすると、footnoteを使ったときに以下のようなエラーが出ます。
(実際にはjlreqを使っていますが、最小の再現コードにするため省いています)
warning (hpack filter): error: [\directlua]:1: attempt to index a nil value (f
ield 'characters')
.
<to be read again>
\ltj@@reset@badness
l.6 \footnote{
あああ}
以前は問題なく動いていたのでBabelのバージョンを落として調べたところ、 https://github.com/latex3/babel/commit/0bf72d4a12f8d40d6b2215b9d35cfa0ca641ea4f のコミットで発生するようになったことが分かりました。
2. babelのbidi=basicとemダッシュの合字
上記のエラー自体はbidiオプションをbasicにすることで回避できたのですが、そうするとsourcehanを使ったときのemダッシュの合字が効かなくなってしまいました。
\documentclass{article}
\usepackage[sourcehan-jp]{luatexja-preset}
\usepackage[japanese, bidi=basic]{babel}
\begin{document}
ああ——
\end{document}
LuaTeX-jaとBabelのどちらの問題か分からないので、ここで質問させていただきます。何か解決の糸口を知っている人がいましたら、よろしくお願いします。
(もしどうしようもなかったら、諦めてbidi=basicにしつつ2倍ダッシュは別の方法で出力することになりそうです)