OSDN Git Service

Fixed the behavior of \ltjsetparameter when \globaldefs is 1.
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Wed, 31 Aug 2011 06:58:05 +0000 (15:58 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Wed, 31 Aug 2011 06:58:05 +0000 (15:58 +0900)
src/luatexja-core.sty
test/test03-after.pdf
test/test03-after.tex

index 233bd13..66e03aa 100644 (file)
 \define@key[ltj]{japaram}{jascriptscriptfont}{%
   \expandafter\ltj@@set@stackfont#1:{mjss}}
 \def\ltj@@set@stackfont#1,#2:#3{%
-  {\ltj@tempcntb=\ltj@curjfnt\ltj@curjfnt=-1 #2%
-   \global\ltj@tempcnta=\ltj@curjfnt\global\ltj@curjfnt=\ltj@tempcntb}%
+  \ltj@tempcntb=\globaldefs{\globaldefs0 \ltj@curjfnt=-1 #2%
+   \global\ltj@tempcnta=\ltj@curjfnt}\globaldefs\ltj@tempcntb%
   \ifnum\ltj@tempcnta=-1
     \@PackageError{luatexja-core}%
     {\string#2 is not a control sequence that represents \MessageBreak
   \fi\next
 }
 
-\protected\def\ltjsetparameter#1{\directlua{ltj.isglobal=''}%
+\protected\def\ltjsetparameter#1{%
+  \ifnum\globaldefs=0\directlua{ltj.isglobal=''}\else\directlua{ltj.isglobal='global'}\fi
   \setkeys[ltj]{japaram}{#1}\ignorespaces}
 \protected\def\ltjglobalsetparameter#1{\directlua{ltj.isglobal='global'}%
   \setkeys[ltj]{japaram}{#1}\ignorespaces}
index 021230e..548d8b6 100644 (file)
Binary files a/test/test03-after.pdf and b/test/test03-after.pdf differ
index ab2fc8d..5de30b0 100644 (file)
@@ -103,4 +103,14 @@ xspmode
 \ltjgetparameter{jacharrange}{3298677}
 あいうえお\par}
 
+
+{\tengt ■globaldefs}
+
+abc\ltjgetparameter{yalbaselineshift}
+{\globaldefs1\ltjsetparameter{yalbaselineshift=2pt}}% global (by \globaldefs)
+\ltjgetparameter{yalbaselineshift}
+{\ltjglobalsetparameter{yalbaselineshift=1pt}}% global (explicit)
+\ltjgetparameter{yalbaselineshift}
+{\ltjglobalsetparameter{yalbaselineshift=4pt}}% local
+\ltjgetparameter{yalbaselineshift}
 \end