OSDN Git Service

Merge branch 'kitagawa_test' of git.sourceforge.jp:/gitroot/luatex-ja/luatexja into...
[luatex-ja/luatexja.git] / src / luatexja-core.sty
index bf81aa9..dc51b7a 100644 (file)
@@ -65,7 +65,7 @@
   \expandafter\let\csname ifltj@in@latex\expandafter\endcsname
     \csname iftrue\endcsname
   \NeedsTeXFormat{LaTeX2e}
-  \ProvidesPackage{luatexja-core}[2015/10/12 Core of LuaTeX-ja]
+  \ProvidesPackage{luatexja-core}[2015/11/03 Core of LuaTeX-ja]
 \fi                             %</LaTeX>
 
 %% Load prerequisite packages.
 \def\RequireLuaTeXjaSubmodule#1{%
   \@ifnextchar[{\ltj@requirelua@submod{#1}}{\ltj@requirelua@submod{#1}[]}}
 \def\ltj@requirelua@submod#1[#2]{%
-  \directlua{luatexja.load_module(
-    "\luatexluaescapestring{#1}")}}
+  \directlua{luatexja.load_module("\luatexluaescapestring{#1}")}}
 
 
 %%%%%%%% Load all sub-packages.
     t[\the\ltj@zh@inner] = function() setdimen('ltj@zh', ltjf.get_zh()) end
   }
   \protected\def\zw{\luafunction\ltj@zw@inner\ltj@zw}
-  \protected\def\zh{\luafuntcion\ltj@zh@inner\ltj@zh}
+  \protected\def\zh{\luafunction\ltj@zh@inner\ltj@zh}
 \else
   \protected\def\zw{\directlua{tex.setdimen('ltj@zw', luatexja.jfont.get_zw())}\ltj@zw}
   \protected\def\zh{\directlua{tex.setdimen('ltj@zh', luatexja.jfont.get_zh())}\ltj@zh}
   \fi}
 
 % [x]]kanjiskip = <skip>
-  \define@key[ltj]{japaram}{kanjiskip}{\ltjsetkanjiskip#1}
-  \define@key[ltj]{japaram}{xkanjiskip}{\ltjsetxkanjiskip#1}
+\define@key[ltj]{japaram}{kanjiskip}{\ltjsetkanjiskip#1}
+\define@key[ltj]{japaram}{xkanjiskip}{\ltjsetxkanjiskip#1}
+\ifdefined\newluafunction
+  \newluafunction\ltjsetkanjiskip@inner
+  \newluafunction\ltjsetxkanjiskip@inner
+  \directlua{
+    local t, scan_glue = lua.get_functions_table(), luatexja.token.scan_glue
+    local sss, sti = luatexja.stack.set_stack_skip, luatexja.stack_table_index
+    t[\the\ltjsetkanjiskip@inner] = function()
+      local d = scan_glue(); sss(sti.KSK, d); node.free(d)
+    end
+    t[\the\ltjsetxkanjiskip@inner] = function()
+      local d = scan_glue(); sss(sti.XSK, d); node.free(d)
+    end
+  }
+  \protected\def\ltjsetkanjiskip{\luafunction\ltjsetkanjiskip@inner}
+  \protected\def\ltjsetxkanjiskip{\luafunction\ltjsetxkanjiskip@inner}
+\else
   \protected\def\ltjsetkanjiskip{%                  % SKIP
     \directlua{%
       local d = luatexja.token.scan_glue()
       local d = luatexja.token.scan_glue()
       luatexja.stack.set_stack_skip(luatexja.stack_table_index.XSK, d); node.free(d)
   }}
-
+\fi
 % jcharwidowpenalty = <count>
 \define@key[ltj]{japaram}{jcharwidowpenalty}{%      %COUNT
   \ltj@@set@stack{JWP}{-10000}{10000}\z@#1 }
   \ifdefined\newluafunction
     \newluafunction\ltj@@box@dirhook
     \directlua{
-      local t, ltjd = lua.get_functions_table()m luatexja.direction
+      local t, ltjd = lua.get_functions_table(), luatexja.direction
       t[\the\ltj@@box@dirhook] 
         = function() ltjd.set_list_direction_hook() end
     }