summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/page-box.mklx
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkxl/page-box.mklx')
-rw-r--r--tex/context/base/mkxl/page-box.mklx36
1 files changed, 26 insertions, 10 deletions
diff --git a/tex/context/base/mkxl/page-box.mklx b/tex/context/base/mkxl/page-box.mklx
index c8ceeb828..c962b831a 100644
--- a/tex/context/base/mkxl/page-box.mklx
+++ b/tex/context/base/mkxl/page-box.mklx
@@ -59,15 +59,6 @@
\v_page_target_bottom_fill
\v_page_target_bottom}}
-\def\page_boxes_apply_offset % #box
- {\unless\ifzeropt\topoffset
- \expandafter\page_boxes_apply_offset_indeed
- \orelse\ifzeropt\backoffset
- \expandafter\gobbleoneargument
- \else
- \expandafter\page_boxes_apply_offset_indeed
- \fi}
-
\def\page_boxes_apply_offset_indeed#box%
{\scratchwidth \wd#box%
\scratchheight\ht#box%
@@ -75,12 +66,28 @@
\setbox#box\vpack
{\offinterlineskip
\vskip\topoffset
- \hskip\doifbothsides\backoffset\backoffset{-\backoffset}%
+ %\hskip\doifbothsides\backoffset\backoffset{-\backoffset}%
+ \hskip\doifbothsides++-\backoffset
\box#box}%
\wd#box\scratchwidth
\ht#box\scratchheight
\dp#box\scratchdepth}
+% a variant (no gain so we stay mkiv compatible):
+%
+% \def\page_boxes_apply_offset_indeed#box% this needs testing in real situations
+% {\boxxoffset#box\dimexpr\boxxoffset#box\doifbothsides++-\backoffset\relax
+% \boxyoffset#box\dimexpr\boxyoffset#box-\topoffset\relax}
+
+\def\page_boxes_apply_offset % #box
+ {\unless\ifzeropt\topoffset
+ \expandafter\page_boxes_apply_offset_indeed
+ \orunless\ifzeropt\backoffset
+ \expandafter\page_boxes_apply_offset_indeed
+ \else
+ \expandafter\gobbleoneargument
+ \fi}
+
\def\page_boxes_apply_replicate
{\ifnum\layoutparameter\c!nx>\plusone
\expandafter\page_boxes_apply_replicate_indeed
@@ -251,6 +258,15 @@
\box#1}%
\dp#1\zeropoint}
+% a variant (no gain so we stay mkiv compatible):
+%
+% \def\page_boxes_apply_offsets#1%
+% {\scratchhoffset\doifbothsides\backspace\backspace{\dimexpr\paperwidth-\backspace-\makeupwidth\relax}%
+% \boxxoffset#1\dimexpr\boxxoffset#1+\scratchhoffset\relax
+% \boxyoffset#1\dimexpr\boxyoffset#1-\topspace\relax
+% \wd#1\dimexpr\paperwidth+\scratchhoffset\relax
+% \ht#1\dimexpr\paperheight+\topspace\relax}
+
%D This is rather specialized:
\newconditional\c_page_areas_enabled