}
%%%% \hbox, \vbox, \vtop
- \everyhbox{%
- \directlua{luatexja.direction.set_list_direction_hook()}%
- \aftergroup\ltj@@reset@badness
- }
- \everyvbox{%
- \directlua{luatexja.direction.set_list_direction_hook()}%
- \aftergroup\ltj@@reset@badness
+ \setbox0\hbox{%
+ $\directlua{% This value depends on the version of LuaTeX.
+ luatexja.stack.mmode = -tex.nest[tex.nest.ptr].mode
+ }$%
}
- \directlua{luatexja.direction.set_list_direction()}%
+ \ifltj@everyhook@avail
+ \PushPreHook{hbox}{%
- \directlua{luatexja.direction.set_list_direction()}%
++ \directlua{luatexja.direction.set_list_direction_hook()}%
+ \aftergroup\ltj@@reset@badness
+ }
+ \PushPreHook{vbox}{%
- \directlua{luatexja.direction.set_list_direction()}%
++ \directlua{luatexja.direction.set_list_direction_hook()}%
+ \aftergroup\ltj@@reset@badness
+ }
+ \else
+ {\catcode`\!=0\catcode`\\=12
+ !@PackageWarningNoLine{luatexja-core}{%
+ I will use \everyhbox and \everyvbox directly !MessageBreak
+ for supporting multiple directions, !MessageBreak
+ since everyhook.sty is not available}}
+ \everyhbox{%
- \directlua{luatexja.direction.set_list_direction()}%
++ \directlua{luatexja.direction.set_list_direction_hook()}%
+ \aftergroup\ltj@@reset@badness
+ }
+ \everyvbox{%
++ \directlua{luatexja.direction.set_list_direction_hook()}%
+ \aftergroup\ltj@@reset@badness
+ }
+ \fi
\protected\def\ltj@@reset@badness{%
\directlua{%
if luatexja.global_temp then