OSDN Git Service

jfm_cache: kern->number
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sat, 6 Aug 2022 04:09:00 +0000 (13:09 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sat, 6 Aug 2022 04:09:00 +0000 (13:09 +0900)
src/ltj-base.sty
src/ltj-jfmglue.lua
src/ltj-jfont.lua

index 2ce01d7..d46b54a 100644 (file)
 %% \ltj@gobble@glue <glue>
 %! 次に続くグルー値を(2 回展開で)読み捨てる. 
 \def\ltj@gobble@glue{
-  \directlua{token.scan_glue()}
+  \directlua{node.free(token.scan_glue())}
 }
 
 %% \ltj@gobble@dimen <dimen>
index 61c21b9..3d046f0 100644 (file)
@@ -746,12 +746,14 @@ local function new_jfm_glue(mc, bc, ac)
    local g = mc[bc][ac]
    if g then
        if g[1] then
-           return node_copy(g[1]), g.ratio, false, false, false
+          local k = node_new(id_kern, 1); setfield(k, 'kern', g[1]) 
+          set_attr(k, attr_icflag, FROM_JFM)
+          return k, g.ratio, false, false, false
        else
-         local f = node_new(id_glue)
-         set_attr(f, attr_icflag, g.priority)
-         setglue(f, g.width, g.stretch, g.shrink)
-         return f, g.ratio, g.kanjiskip_natural, g.kanjiskip_stretch, g.kanjiskip_shrink
+          local f = node_new(id_glue)
+          set_attr(f, attr_icflag, g.priority)
+          setglue(f, g.width, g.stretch, g.shrink)
+          return f, g.ratio, g.kanjiskip_natural, g.kanjiskip_stretch, g.kanjiskip_shrink
       end
    end
    return false, 0
index 64cb1a0..70557c0 100644 (file)
@@ -229,10 +229,7 @@ do
                   }
             end
             for k,w in pairs(v.kern) do
-               local g = node_new(id_kern, 1)
-               setfield(g, 'kern', w[1])
-               set_attr(g, attr_icflag, FROM_JFM)
-               v[k] = {g, ratio=w[2]/sz}
+               v[k] = {w[1], ratio=w[2]/sz}
             end
          end
          v.glue, v.kern = nil, nil