OSDN Git Service

Changed the stack table indeices of kanjiskip and xkanjiskip into integers.
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sun, 26 Jan 2014 21:11:36 +0000 (06:11 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sun, 26 Jan 2014 21:11:36 +0000 (06:11 +0900)
src/ltj-jfmglue.lua
src/luatexja-core.sty
src/luatexja.lua

index a6d2e28..d78c971 100644 (file)
@@ -902,19 +902,21 @@ local init_var
 do
    local KANJI_SKIP   = luatexja.icflag_table.KANJI_SKIP
    local XKANJI_SKIP   = luatexja.icflag_table.XKANJI_SKIP
+   local KSK  = luatexja.stack_table_index.KSK
+   local XSK  = luatexja.stack_table_index.XSK
    init_var = function (mode)
       -- 1073741823: max_dimen
       Bp, widow_Bp, widow_Np = {}, {}, {first = nil}
       table_current_stack = ltjs.table_current_stack
       
       kanji_skip = node_new(id_glue)
-      setfield(kanji_skip, 'spec', skip_table_to_spec('kanjiskip'))
+      setfield(kanji_skip, 'spec', skip_table_to_spec(KSK))
       set_attr(kanji_skip, attr_icflag, KANJI_SKIP)
       get_kanjiskip = (getfield(getfield(kanji_skip, 'spec'), 'width') == 1073741823)
         and get_kanjiskip_jfm or get_kanjiskip_normal
       
       xkanji_skip = node_new(id_glue)
-      setfield(xkanji_skip, 'spec', skip_table_to_spec('xkanjiskip'))
+      setfield(xkanji_skip, 'spec', skip_table_to_spec(XSK))
       set_attr(xkanji_skip, attr_icflag, XKANJI_SKIP)
       get_xkanjiskip = (getfield(getfield(xkanji_skip, 'spec'), 'width') == 1073741823)
         and get_xkanjiskip_jfm or get_xkanjiskip_normal
index 13a572f..46a4dcd 100644 (file)
 \define@key[ltj]{japaram}{kanjiskip}{%              % SKIP
   \directlua{%
     local d = \ltj@safe@glue{#1}
-    luatexja.stack.set_stack_skip('kanjiskip', d); node.free(d)
+    luatexja.stack.set_stack_skip(luatexja.stack_table_index.KSK, d); node.free(d)
 }}
 \define@key[ltj]{japaram}{xkanjiskip}{%             % SKIP
   \directlua{%
     local d = \ltj@safe@glue{#1}
-    luatexja.stack.set_stack_skip('xkanjiskip', d); node.free(d)
+    luatexja.stack.set_stack_skip(luatexja.stack_table_index.XSK, d); node.free(d)
 }}
 
 % jcharwidowpenalty = <count>
index 1f818ee..b205460 100644 (file)
@@ -22,19 +22,19 @@ end
 --- 以下は全ファイルで共有される定数
 local icflag_table = {}
 luatexja.icflag_table = icflag_table
-icflag_table.ITALIC       = 1
-icflag_table.PACKED       = 2
-icflag_table.KINSOKU      = 3
-icflag_table.FROM_JFM     = 6
+icflag_table.ITALIC          = 1
+icflag_table.PACKED          = 2
+icflag_table.KINSOKU         = 3
+icflag_table.FROM_JFM        = 6
 -- FROM_JFM: 4, 5, 6, 7, 8 →優先度高(伸びやすく,縮みやすい)
 -- 6 が標準
-icflag_table.KANJI_SKIP   = 9
-icflag_table.KANJI_SKIP_JFM   = 10
-icflag_table.XKANJI_SKIP  = 11
-icflag_table.XKANJI_SKIP_JFM  = 12
-icflag_table.PROCESSED    = 13
-icflag_table.IC_PROCESSED = 14
-icflag_table.BOXBDD       = 15
+icflag_table.KANJI_SKIP      = 9
+icflag_table.KANJI_SKIP_JFM  = 10
+icflag_table.XKANJI_SKIP     = 11
+icflag_table.XKANJI_SKIP_JFM = 12
+icflag_table.PROCESSED       = 13
+icflag_table.IC_PROCESSED    = 14
+icflag_table.BOXBDD          = 15
 icflag_table.PROCESSED_BEGIN_FLAG = 128
 
 local stack_table_index = {}
@@ -43,7 +43,9 @@ stack_table_index.PRE  = 0x200000 -- characterごと
 stack_table_index.POST = 0x400000 -- characterごと
 stack_table_index.KCAT = 0x600000 -- characterごと
 stack_table_index.XSP  = 0x800000 -- characterごと
-stack_table_index.JWP  = 0 -- 0のみ
+stack_table_index.JWP  = 0 -- これだけ
+stack_table_index.KSK  = 1 -- これだけ
+stack_table_index.XSK  = 2 -- これだけ
 stack_table_index.MJT  = 0x100 -- 0--255
 stack_table_index.MJS  = 0x200 -- 0--255
 stack_table_index.MJSS = 0x300 -- 0--255
@@ -53,7 +55,6 @@ local userid_table = {}
 luatexja.userid_table = userid_table
 userid_table.IHB  = luatexbase.newuserwhatsitid('inhibitglue',  'luatexja') -- \inhibitglue
 userid_table.STCK = luatexbase.newuserwhatsitid('stack_marker', 'luatexja') -- スタック管理
-userid_table.OTF  = luatexbase.newuserwhatsitid('char_by_cid',  'luatexja') -- luatexja-otf
 userid_table.BPAR = luatexbase.newuserwhatsitid('begin_par',    'luatexja') -- 「段落始め」
 
 --- 定義終わり
@@ -143,10 +144,10 @@ do
         return print_scaled(tex.getattribute('ltj@ykblshift'))..'pt'
       end,
       kanjiskip = function(t) 
-        return print_spec(ltjs.get_stack_skip('kanjiskip', t))
+        return print_spec(ltjs.get_stack_skip(stack_table_index.KSK, t))
       end,
       xkanjiskip = function(t) 
-        return print_spec(ltjs.get_stack_skip('xkanjiskip', t))
+        return print_spec(ltjs.get_stack_skip(stack_table_index.XSK, t))
       end,
       jcharwidowpenalty = function(t)
         return ltjs.get_stack_table(stack_table_index.JWP, 0, t)