OSDN Git Service

subtype of kern should be 1
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sat, 27 Aug 2016 21:27:32 +0000 (06:27 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sat, 27 Aug 2016 21:27:32 +0000 (06:27 +0900)
src/ltj-direction.lua
src/ltj-jfmglue.lua
src/ltj-jfont.lua
src/ltj-ruby.lua
src/ltj-setwidth.lua

index 99b0413..8a2af68 100644 (file)
@@ -1087,7 +1087,7 @@ do
                        [get_box_dir(b, dir_yoko)%dir_math_mod][new_dir][getid(b)]) do
          local cmd, arg, nn = v[1], v[2]
          if cmd=='kern' then
-            nn = node_new(id_kern)
+            nn = node_new(id_kern, 1)
             setfield(nn, 'kern', arg(w, h, d, dn_w, dn_h, dn_d))
          elseif cmd=='whatsit' then
             nn = node_new(id_whatsit, arg)
index a2c61a2..bd40ecc 100644 (file)
@@ -725,10 +725,10 @@ do
       end
       if not gb then
         if ga then
-           gb = node_new(id_kern); setfield(gb, 'kern', 0)
+           gb = node_new(id_kern, 1); setfield(gb, 'kern', 0)
         else return nil end
       elseif not ga then
-        ga = node_new(id_kern); setfield(ga, 'kern', 0)
+        ga = node_new(id_kern, 1); setfield(ga, 'kern', 0)
       end
 
       local k = 2*getid(gb) - getid(ga)
index 207d0e0..81fa6be 100644 (file)
@@ -168,9 +168,8 @@ do
               }
            end
            for k,w in pairs(v.kern) do
-              local g = node_new(id_kern)
+              local g = node_new(id_kern, 1)
               setfield(g, 'kern', w[1])
-              setfield(g, 'subtype', 1)
               set_attr(g, attr_icflag, FROM_JFM)
               v[k] = {g, ratio=w[2]/sz}
            end
@@ -985,8 +984,8 @@ do
    else
        local ITALIC       = luatexja.icflag_table.ITALIC
        new_ic_kern = function()
-         local g = node_new(id_kern)
-         setfield(g, 'subtype', 1); set_attr(g, attr_icflag, ITALIC)
+         local g = node_new(id_kern, 1)
+         set_attr(g, attr_icflag, ITALIC)
         return g
        end
    end
index bf57c77..67474d3 100644 (file)
@@ -374,7 +374,7 @@ local function new_ruby_box(r, p, ppre, pmid, ppost,
         setfield(rt, 'head', nil); node_free(rt);
       end
    end
-   local a, k = node_new(id_rule), node_new(id_kern)
+   local a, k = node_new(id_rule), node_new(id_kern, 1)
    setfield(a, 'width', 0); setfield(a, 'height', 0)
    setfield(a, 'depth', 0); setfield(k, 'kern', rgap)
    insert_after(r, r, a); insert_after(r, a, k);
@@ -382,7 +382,7 @@ local function new_ruby_box(r, p, ppre, pmid, ppost,
    a = node.direct.vpack(r); setfield(a, 'shift', 0)
    set_attr(a, attr_ruby, post_intrusion)
    if rsmash or getfield(a, 'height')<getfield(p, 'height') then
-      local k = node_new(id_kern)
+      local k = node_new(id_kern, 1)
       setfield(k, 'kern', -getfield(a, 'height')+getfield(p, 'height'))
       setfield(a, 'head', k); insert_before(r, r, k)
       setfield(a, 'height', getfield(p, 'height'))
index aed10da..9202858 100644 (file)
@@ -173,8 +173,8 @@ local function capsule_glyph_tate(p, met, char_data, head, dir)
    local wm = node_new(id_whatsit, sid_matrix)
    setfield(wm, 'data', '0 1 -1 0')
    local pwnh = -round(0.5*getfield(p, 'width'))
-   local k2 = node_new(id_kern); setfield(k2, 'kern', pwnh)
-   local k3 = node_new(id_kern); setfield(k3, 'kern', -getfield(p, 'width')-pwnh)
+   local k2 = node_new(id_kern, 1); setfield(k2, 'kern', pwnh)
+   local k3 = node_new(id_kern, 1); setfield(k3, 'kern', -getfield(p, 'width')-pwnh)
    local wr = node_new(id_whatsit, sid_restore)
    setfield(box, 'head', ws)
    setfield(ws, 'next', wm);  setfield(wm, 'next', k2);