summaryrefslogtreecommitdiff
path: root/tex/context/base/anch-pos.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/anch-pos.lua')
-rw-r--r--tex/context/base/anch-pos.lua45
1 files changed, 25 insertions, 20 deletions
diff --git a/tex/context/base/anch-pos.lua b/tex/context/base/anch-pos.lua
index 7321d7d99..9cc9fb128 100644
--- a/tex/context/base/anch-pos.lua
+++ b/tex/context/base/anch-pos.lua
@@ -26,9 +26,14 @@ local rawget = rawget
local lpegmatch = lpeg.match
local insert, remove = table.insert, table.remove
local allocate, mark = utilities.storage.allocate, utilities.storage.mark
-local texsp, texcount, texbox, texdimen, texsetcount = tex.sp, tex.count, tex.box, tex.dimen, tex.setcount
+local texsp = tex.sp
----- texsp = string.todimen -- because we cache this is much faster but no rounding
+local texgetcount = tex.getcount
+local texgetbox = tex.getbox
+local texsetcount = tex.setcount
+local texget = tex.get
+
local pdf = pdf -- h and v are variables
local setmetatableindex = table.setmetatableindex
@@ -170,7 +175,7 @@ local function setdim(name,w,h,d,extra) -- will be used when we move to sp allov
if extra == "" then extra = nil end
-- todo: sparse
tobesaved[name] = {
- p = texcount.realpageno,
+ p = texgetcount("realpageno"),
x = x,
y = y,
w = w,
@@ -217,7 +222,7 @@ local function enhance(data)
data.y = pdf.v
end
if data.p == true then
- data.p = texcount.realpageno
+ data.p = texgetcount("realpageno")
end
if data.c == true then
data.c = column
@@ -315,16 +320,16 @@ function jobpositions.b_region(tag)
local last = tobesaved[tag]
last.x = pdf.h
last.y = pdf.v
- last.p = texcount.realpageno
+ last.p = texgetcount("realpageno")
insert(regions,tag)
region = tag
end
function jobpositions.e_region(correct)
local last = tobesaved[region]
-if correct then
- last.h = last.y - pdf.v
-end
+ if correct then
+ last.h = last.y - pdf.v
+ end
last.y = pdf.v
remove(regions)
region = regions[#regions]
@@ -335,7 +340,7 @@ function jobpositions.markregionbox(n,tag,correct)
nofregions = nofregions + 1
tag = f_region(nofregions)
end
- local box = texbox[n]
+ local box = texgetbox(n)
local w = box.width
local h = box.height
local d = box.depth
@@ -378,7 +383,7 @@ local nofparagraphs = 0
function commands.parpos() -- todo: relate to localpar (so this is an intermediate variant)
nofparagraphs = nofparagraphs + 1
texsetcount("global","c_anch_positions_paragraph",nofparagraphs)
- local strutbox = texbox.strutbox
+ local strutbox = texgetbox("strutbox")
local t = {
p = true,
c = true,
@@ -387,14 +392,14 @@ function commands.parpos() -- todo: relate to localpar (so this is an intermedia
y = true,
h = strutbox.height,
d = strutbox.depth,
- hs = tex.hsize,
+ hs = texget("hsize"),
}
- local leftskip = tex.leftskip.width
- local rightskip = tex.rightskip.width
- local hangindent = tex.hangindent
- local hangafter = tex.hangafter
- local parindent = tex.parindent
- local parshape = tex.parshape
+ local leftskip = texget("leftskip").width
+ local rightskip = texget("rightskip").width
+ local hangindent = texget("hangindent")
+ local hangafter = texget("hangafter")
+ local parindent = texget("parindent")
+ local parshape = texget("parshape")
if leftskip ~= 0 then
t.ls = leftskip
end
@@ -462,7 +467,7 @@ function commands.posplus(name,w,h,d,extra)
end
function commands.posstrut(name,w,h,d)
- local strutbox = texbox.strutbox
+ local strutbox = texgetbox("strutbox")
tobesaved[name] = {
p = true,
c = column,
@@ -478,7 +483,7 @@ end
function jobpositions.getreserved(tag,n)
if tag == v_column then
- local fulltag = f_tag_three(tag,texcount.realpageno,n or 1)
+ local fulltag = f_tag_three(tag,texgetcount("realpageno"),n or 1)
local data = collected[fulltag]
if data then
return data, fulltag
@@ -486,7 +491,7 @@ function jobpositions.getreserved(tag,n)
tag = v_text
end
if tag == v_text then
- local fulltag = f_tag_two(tag,texcount.realpageno)
+ local fulltag = f_tag_two(tag,texgetcount("realpageno"))
return collected[fulltag] or false, fulltag
end
return collected[tag] or false, tag
@@ -1015,7 +1020,7 @@ function commands.doifpositionsonsamepageelse(list,page)
end
function commands.doifpositionsonthispageelse(list)
- doifelse(onsamepage(list,tostring(tex.count.realpageno)))
+ doifelse(onsamepage(list,tostring(texgetcount("realpageno"))))
end
function commands.doifelsepositionsused()