From 91b59bb4f8b33701c69e095841fe4cf57971ac20 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Sat, 17 Aug 2019 14:26:12 +0200 Subject: 2019-08-17 11:54:00 --- tex/context/base/mkiv/lpdf-ini.lua | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'tex/context/base/mkiv/lpdf-ini.lua') diff --git a/tex/context/base/mkiv/lpdf-ini.lua b/tex/context/base/mkiv/lpdf-ini.lua index 4bb72be1f..19654a3d9 100644 --- a/tex/context/base/mkiv/lpdf-ini.lua +++ b/tex/context/base/mkiv/lpdf-ini.lua @@ -184,9 +184,11 @@ end local jobpositions = job.positions local getpos = jobpositions.getpos +local getrpos = jobpositions.getrpos jobpositions.registerhandlers { getpos = pdf.getpos, + -- getrpos = pdf.getrpos, gethpos = pdf.gethpos, getvpos = pdf.getvpos, } @@ -235,7 +237,7 @@ do -- funny values for tx and ty function lpdf.rectangle(width,height,depth,offset) - local tx, ty = getpos() + local tx, ty = getpos() -- pdfgetpos, maybe some day use dir here if offset then tx = tx - offset ty = ty + offset @@ -865,18 +867,21 @@ end local nofpages = 0 -function lpdf.pagereference(n) +local texgetcount = tex.getcount + +function lpdf.pagereference(n,complete) -- true | false | nil | n [true,false] if nofpages == 0 then nofpages = structures.pages.nofpages if nofpages == 0 then nofpages = 1 end end - if n > nofpages then - return pdfgetpagereference(nofpages) -- or 1, could be configureable - else - return pdfgetpagereference(n) + if n == true or not n then + complete = n + n = texgetcount("realpageno") end + local r = n > nofpages and pdfgetpagereference(nofpages) or pdfgetpagereference(n) + return complete and pdfreference(r) or r end function lpdf.nofpages() -- cgit v1.2.3