OSDN Git Service

LuaTeX 1.08.0 have sufficient node.direct.{get,set}XXX helpers
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sun, 28 Aug 2022 22:59:54 +0000 (07:59 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sun, 28 Aug 2022 22:59:54 +0000 (07:59 +0900)
src/ltj-adjust.lua
src/ltj-jfmglue.lua
src/ltj-lineskip.lua
src/ltj-ruby.lua
src/luatexja.lua
tool/test_exist_nodelib.tex [new file with mode: 0644]

index 568e123..89ad781 100644 (file)
@@ -24,7 +24,7 @@ local getwidth = node.direct.getwidth
 local getdepth = node.direct.getdepth
 local setfield = node.direct.setfield
 local setpenalty = node.direct.setpenalty
-local setglue = luatexja.setglue
+local setglue = node.direct.setglue
 local setkern = node.direct.setkern
 local setlist = node.direct.setlist
 
index eb1834d..ed7ab6d 100644 (file)
@@ -3,7 +3,7 @@
 --
 luatexbase.provides_module({
   name = 'luatexja.jfmglue',
-  date = '2022-08-18',
+  date = '2022-08-29',
   description = 'Insertion process of JFM glues, [x]kanjiskip and others',
 })
 luatexja.jfmglue = luatexja.jfmglue or {}
@@ -24,14 +24,14 @@ local getid = node.direct.getid
 local getfont = node.direct.getfont
 local getlist = node.direct.getlist
 local getchar = node.direct.getchar
-local getglue = luatexja.getglue
+local getglue = node.direct.getglue
 local getsubtype = node.direct.getsubtype
 local getshift = node.direct.getshift
 local getwidth = node.direct.getwidth
 local getdepth = node.direct.getdepth
 local getpenalty = node.direct.getpenalty
 local setfield = node.direct.setfield
-local setglue = luatexja.setglue
+local setglue = node.direct.setglue
 local setshift = node.direct.setshift
 local if_lang_ja
 do
@@ -804,7 +804,6 @@ do
          return round(r/2.^(64*ro)), ro
       end
    end
-   local getglue = luatexja.getglue
    calc_ja_ja_aux = function (gb, ga, db, da)
       if luatexja.jfmglue.diffmet_rule ~= math.two_pleft and diffmet_rule ~= math.two_pright
           and luatexja.jfmglue.diffmet_rule ~= math.two_paverage then
index 10e7ef5..107ee80 100644 (file)
@@ -22,7 +22,7 @@ local getheight = node.direct.getheight
 local texget = tex.get
 
 local node_getglue = node.getglue
-local setglue = luatexja.setglue
+local setglue = node.direct.setglue
 local setsubtype = node.direct.setsubtype
 local function copy_glue (new_glue, old_glue_name, subtype, new_w)
    setsubtype(new_glue, subtype)
index f09376c..047b53a 100644 (file)
@@ -3,7 +3,7 @@
 --
 luatexbase.provides_module({
   name = 'luatexja.ruby',
-  date = '2022-08-14',
+  date = '2022-08-29',
   description = 'Ruby annotation',
 })
 luatexja.ruby = {}
@@ -26,7 +26,7 @@ local getdepth = node.direct.getdepth
 local getwhd = node.direct.getwhd
 local getvalue = node.direct.getdata
 local setfield =  node.direct.setfield
-local setglue = luatexja.setglue
+local setglue = node.direct.setglue
 local setkern = node.direct.setkern
 local setnext = node.direct.setnext
 local setshift = node.direct.setshift
index 54838de..e8f4053 100644 (file)
@@ -39,36 +39,6 @@ do
         return node_inherit_attr(node_new(id, subtype), b, a)
     end
 end
-do
-   local dnode = node.direct
-   local setfield = dnode.setfield
-   luatexja.setglue = node.direct.setglue or
-   function(g,w,st,sh,sto,sho)
-      setfield(g,'width', w or 0); setfield(g,'stretch',st or 0); setfield(g,'shrink', sh or 0)
-      setfield(g,'stretch_order',sto or 0)
-      setfield(g,'shrink_order', sho or 0)
-   end
-   for _,v in pairs({'char', 'depth', 'dir', 'font', 'height', 'kern', 'lang', 'next',
-                      'nucleus', 'offsets', 'penalty', 'shift', 'sub', 'subtype', 'sup'}) do
-         if not dnode['set'..v] then
-             dnode['set'..v] = function(n, ...) return setfield(n, v, ...) end
-         end
-   end
-   local getfield = dnode.getfield
-   luatexja.getglue = node.direct.getglue or
-   function(g)
-      return getfield(g,'width'), getfield(g,'stretch'), getfield(g,'shrink'),
-             getfield(g,'stretch_order'), getfield(g,'shrink_order')
-   end
-   for _,v in pairs({'box', 'components', 'char', 'depth', 'font', 'height', 'kern', 'lang',
-                     'list', 'next', 'nucleus', 'offsets', 'penalty', 'prev', 'shift', 'sub',
-                     'subtype', 'sup', 'whd', 'width', 'dir'}) do
-         if not dnode['get'..v] then
-             dnode['get'..v] = function(n, ...) return getfield(n, v, ...) end
-         end
-    end
-end
-
 
 --- 以下は全ファイルで共有される定数
 local icflag_table = {}
diff --git a/tool/test_exist_nodelib.tex b/tool/test_exist_nodelib.tex
new file mode 100644 (file)
index 0000000..2d9ee7c
--- /dev/null
@@ -0,0 +1,104 @@
+\catcode`\{=1 \catcode`\}=2
+\directlua{
+kpse.set_program_name('luatex')
+print() print("LUATEX: ", tex.luatexversion, _VERSION)
+
+function test(c)
+    if not node[c] then print ('not imple: node.' .. c) end
+end
+test "direct"
+test "free"
+test "get_attribute"
+test "getglue"
+test "id"
+test "insert_after"
+test "is_node"
+test "mlist_to_hlist"
+test "new"
+test "next"
+test "set_attribute"
+test "slide"
+test "subtype"
+test "tail"
+test "traverse"
+test "type"
+test "write"
+
+function test(c)
+    if not node.direct[c] then print ('not imple: node.direct.' .. c) end
+end
+
+test "copy"
+test "copy_list"
+test "dimensions"
+test "end_of_math"
+test "flush_list"
+test "free"
+test "get_attribute"
+test "getattributelist"
+test "getbox"
+test "getchar"
+test "getcomponents"
+test "getdata"
+test "getdepth"
+test "getdir"
+test "getfield"
+test "getfont"
+test "getglue"
+test "getheight"
+test "getid"
+test "getkern"
+test "getlang"
+test "getlist"
+test "getnext"
+test "getnucleus"
+test "getoffsets"
+test "getpenalty"
+test "getprev"
+test "getshift"
+test "getsub"
+test "getsubtype"
+test "getsup"
+test "getwhd"
+test "getwidth"
+test "has_attribute"
+test "hpack"
+test "insert_after"
+test "insert_before"
+test "last_node"
+test "new"
+test "rangedimensions"
+test "remove"
+test "set_attribute"
+test "setattributelist"
+test "setchar"
+test "setdata"
+test "setdepth"
+test "setdir"
+test "setfield"
+test "setfont"
+test "setglue"
+test "setheight"
+test "setkern"
+test "setlang"
+test "setlist"
+test "setnext"
+test "setnucleus"
+test "setoffsets"
+test "setpenalty"
+test "setshift"
+test "setsub"
+test "setsubtype"
+test "setsup"
+test "setwhd"
+test "setwidth"
+test "tail"
+test "todirect"
+test "tonode"
+test "traverse"
+test "traverse_id"
+test "unset_attribute"
+test "vpack"
+test "write"
+}
+\end