From adb0f7426d22b5d5d66668e016cdf2f3739eb55c Mon Sep 17 00:00:00 2001 From: Hironori Kitagawa Date: Tue, 2 Aug 2022 21:33:19 +0900 Subject: [PATCH] #45298 wip: tex.baselineskip etc. creates glue_apec --- src/ltj-adjust.lua | 4 ++-- src/ltj-lineskip.lua | 13 +++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/ltj-adjust.lua b/src/ltj-adjust.lua index 71584d8..240d101 100644 --- a/src/ltj-adjust.lua +++ b/src/ltj-adjust.lua @@ -544,9 +544,9 @@ do end if dist < tex.lineskiplimit then local f = max(1, bw*ltja.step_factor) - copy_glue(g, tex.baselineskip, 1, normal - f * floor((dist-tex.lineskip.width)/f)) + copy_glue(g, 'baselineskip', 1, normal - f * floor((dist-tex.get('lineskip', false))/f)) else - copy_glue(g, tex.baselineskip, 2, normal) + copy_glue(g, 'baselineskip', 2, normal) end end end diff --git a/src/ltj-lineskip.lua b/src/ltj-lineskip.lua index 1fc6f7b..f8b97c1 100644 --- a/src/ltj-lineskip.lua +++ b/src/ltj-lineskip.lua @@ -18,12 +18,13 @@ local node_prev = node.direct.getprev local node_next = node.direct.getnext local getid = node.direct.getid local getsubtype = node.direct.getsubtype +local texget = tex.get local node_getglue = node.getglue local setglue = node.direct.setglue -local function copy_glue (new_glue, old_glue, subtype, new_w) +local function copy_glue (new_glue, old_glue_name, subtype, new_w) setfield(new_glue, 'subtype', subtype) - local w,st,sp,sto,spo = node_getglue(old_glue) + local w,st,sp,sto,spo = texget(old_glue_name, true) setglue(new_glue, new_w or w, st, sp, sto, spo) end ltjl.copy_glue = copy_glue @@ -33,9 +34,9 @@ function ltjl.p_dummy(before, after) end function ltjl.l_dummy(dist, g, adj, normal, bw, loc) if dist < tex.lineskiplimit then - copy_glue(g, tex.lineskip, 1, tex.lineskip.width + adj) + copy_glue(g, 'lineskip', 1, texget('lineskip', false) + adj) else - copy_glue(g, tex.baselineskip, 2, normal) + copy_glue(g, 'baselineskip', 2, normal) end end @@ -49,7 +50,7 @@ do local traverse_id = node.direct.traverse_id local function adjust_glue(nh) local h = to_direct(nh) - local bw = tex.baselineskip.width + local bw = texget('baselineskip',false) for x in traverse_id(id_glue, h) do local xs = getsubtype(x) if (xs==1) or (xs==2) then @@ -83,7 +84,7 @@ local function dir_adjust_append_vlist(b, loc, prev, mirrored) local new_b = loc=='box' and make_dir_whatsit(old_b, old_b, get_dir_count(), 'append_vlist') or old_b if prev > -65536000 then - local bw = tex.baselineskip.width + local bw = texget('baselineskip', false) local normal = bw - prev - getfield(new_b, mirrored and 'depth' or 'height') local lmin, adj = nil, 0 local tail = to_direct(tex.nest[tex.nest.ptr].tail) -- 2.11.0