\newdimen\ltj@tempdima
\newskip\ltj@tempskipa
-\newdimen\zw
-\newdimen\zh
+\newdimen\ltj@zw
+\newdimen\ltj@zh
\newdimen\jQ \jQ=0.25mm
\newdimen\jH \jH=0.25mm
\afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(true)}}
\def\ltj@@jfont{\directlua{luatexja.jfont.jfontdefY()}}
+\def\zw{\directlua{luatexja.jfont.load_zw()}\ltj@zw}
+\def\zh{\directlua{luatexja.jfont.load_zh()}\ltj@zh}
+
%%%%%%%% \inhibitglue
\protected\def\inhibitglue{\directlua{luatexja.jfmglue.create_inhibitglue_node()}}
+%%%%%%%% \yoko, \tate, \ifydir, \iftdir
+%% At this moment, tategaki mode is not implemented;
+%% there is only yokogaki mode now.
+\let\yoko\relax
+\let\tate\relax
+\let\ifydir\iftrue
+\let\iftdir\iffalse
+
%%%%%%%% \ltjdefcharrange<name>{100-200,3000-,5000,...}
\protected\def\ltjdefcharrange#1#2{%
\ltj@tempcntc=#1 \expandafter\ltj@@dcrange#2,,\ignorespaces}
\define@key[ltj]{japaram}{jascriptscriptfont}{%
\expandafter\ltj@@set@stackfont#1:{mjss}}
\def\ltj@@set@stackfont#1,#2:#3{%
- {\ltj@curjfnt=-1 #2\global\ltj@tempcnta=\ltj@curjfnt}%
+ {\directlua{tex.globaldefs=0}\ltj@curjfnt=-1 #2%
+ \global\ltj@tempcnta=\ltj@curjfnt}%
\ifnum\ltj@tempcnta=-1
- \@PackageError{luatexja-core}
+ \@PackageError{luatexja-core}%
{\string#2 is not a control sequence that represents \MessageBreak
a Japanese font}{}%
\else
\directlua{luatexja.stack.set_stack_font(ltj.isglobal, \asluastring{#3},
- \ltj@safe@num@or\ltj@defnum{#1}, \the\ltj@tempcnta)}
+ \ltj@safe@num@or\ltj@defnum{#1}, \the\ltj@tempcnta)}%
\fi}
% yalbaselineshift = <dimen>
\fi\next
}
-\protected\def\ltjsetparameter#1{\directlua{ltj.isglobal=''}%
+\protected\def\ltjsetparameter#1{%
+ \ifnum\globaldefs>0\directlua{ltj.isglobal='global'}\else\directlua{ltj.isglobal=''}\fi
\setkeys[ltj]{japaram}{#1}\ignorespaces}
-\protected\def\ltjglobalsetparameter#1{\directlua{ltj.isglobal='global'}%
+\protected\def\ltjglobalsetparameter#1{%
+ \ifnum\globaldefs<0\directlua{ltj.isglobal=''}\else\directlua{ltj.isglobal='global'}\fi
\setkeys[ltj]{japaram}{#1}\ignorespaces}
%%%%%%%%