summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/mkiv/spac-ver.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/spac-ver.mkiv')
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/spac-ver.mkiv186
1 files changed, 51 insertions, 135 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/spac-ver.mkiv b/Master/texmf-dist/tex/context/base/mkiv/spac-ver.mkiv
index 7b36f9a5b52..b71e28219b7 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/spac-ver.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/spac-ver.mkiv
@@ -15,7 +15,7 @@
\unprotect
-\registerctxluafile{spac-ver}{optimize}
+\registerctxluafile{spac-ver}{}
% todo: use usernodes ?
@@ -165,8 +165,6 @@
\installcommandhandler \??interlinespace {interlinespace} \??interlinespace
-\installmacrostack\currentinterlinespace
-
\unexpanded\def\setupinterlinespace
{\dodoubleempty\spac_linespacing_setup}
@@ -207,7 +205,7 @@
\ifx\p_spac_checked_interlinespace\empty
\spac_linespacing_synchronize_local
\else\ifcsname\namedinterlinespacehash\p_spac_checked_interlinespace\s!parent\endcsname % we could have a \s!check
- \push_macro_currentinterlinespace
+ \pushmacro\currentinterlinespace
\let\currentinterlinespace\p_spac_checked_interlinespace
\spac_linespacing_setup_specified_interline_space % \dosetupspecifiedinterlinespaceindeed
\iflocalinterlinespace
@@ -217,7 +215,7 @@
\the\everysetuplocalinterlinespace
\localinterlinespacefalse
\fi
- \pop_macro_currentinterlinespace
+ \popmacro\currentinterlinespace
\else
\normalexpanded{\noexpand\doifelseassignment{\p_spac_checked_interlinespace}%
\setupspecifiedinterlinespace\setuprelativeinterlinespace[\p_spac_checked_interlinespace]}%
@@ -232,9 +230,9 @@
\unexpanded\def\setuplocalinterlinespace[#1]%
{\localinterlinespacetrue
- \push_macro_currentinterlinespace
+ \pushmacro\currentinterlinespace
\setupinterlinespace[#1]%
- \pop_macro_currentinterlinespace
+ \popmacro\currentinterlinespace
\localinterlinespacefalse}
\let\switchtointerlinespace\setuplocalinterlinespace
@@ -284,50 +282,47 @@
\unexpanded\def\smallbreak
{\par
- \ifvmode\ifdim\lastskip<\smallskipamount
+ \ifdim\lastskip<\smallskipamount
\removelastskip
- \penalty-\plusfifty
+ \penalty-50
\smallskip
- \fi\fi}
+ \fi}
\unexpanded\def\medbreak
{\par
- \ifvmode\ifdim\lastskip<\medskipamount
+ \ifdim\lastskip<\medskipamount
\removelastskip
- \penalty-\plusonehundred
+ \penalty-100
\medskip
- \fi\fi}
+ \fi}
\unexpanded\def\bigbreak
{\par
- \ifvmode\ifdim\lastskip<\bigskipamount
+ \ifdim\lastskip<\bigskipamount
\removelastskip
- \penalty-\plustwohundred
+ \penalty-200
\bigskip
- \fi\fi}
-
-\unexpanded\def\break {\penalty-\plustenthousand} % can be hmode or vmode
-\unexpanded\def\nobreak {\penalty \plustenthousand} % can be hmode or vmode
-\unexpanded\def\allowbreak{\penalty \zerocount} % can be hmode or vmode
+ \fi}
-\unexpanded\def\goodbreak {\par\ifvmode\penalty-\plusfivehundred\relax\fi} % forces vmode
-\unexpanded\def\filbreak {\par\ifvmode\vfil\penalty-\plustwohundred\vfilneg\fi} % forces vmode
+\unexpanded\def\break {\penalty-\plustenthousand} % can be hmode or vmode
+\unexpanded\def\nobreak {\penalty \plustenthousand} % can be hmode or vmode
+\unexpanded\def\allowbreak{\penalty \zeropoint} % can be hmode or vmode
+\unexpanded\def\goodbreak {\par\penalty-500\relax} % forces vmode
+\unexpanded\def\filbreak {\par\vfil\penalty-200\vfilneg} % forces vmode
%D Made slightly more readable:
\unexpanded\def\vglue {\afterassignment\spac_helpers_vglue_indeed\s_spac_lastskip=}
\unexpanded\def\hglue {\afterassignment\spac_helpers_hglue_indeed\s_spac_lastskip=}
-\unexpanded\def\topglue{\par\ifvmode\nointerlineskip\vglue-\topskip\vglue\fi}
+\unexpanded\def\topglue{\nointerlineskip\vglue-\topskip\vglue}
\def\spac_helpers_vglue_indeed
{\par
- \ifvmode
- \d_spac_prevdepth\prevdepth
- \hrule\s!height\zeropoint
- \nobreak
- \vskip\s_spac_lastskip
- \prevdepth\d_spac_prevdepth
- \fi}
+ \d_spac_prevdepth\prevdepth
+ \hrule\s!height\zeropoint
+ \nobreak
+ \vskip\s_spac_lastskip
+ \prevdepth\d_spac_prevdepth}
\def\spac_helpers_hglue_indeed
{\dontleavehmode
@@ -900,14 +895,11 @@
\dosetstrut}
\unexpanded\def\setcharstrut#1%
- {\setbox\strutbox\hbox{#1}% no \hpack, in case we have smallcaps
+ {\setbox\strutbox\hbox{#1}% hm, maybe hpack i.e. why apply fonts .. conceptual choice
\strutht\ht\strutbox
\strutdp\dp\strutbox
\dosetstrut}
-\unexpanded\def\settightstrut
- {\setcharstrut{(}}
-
\unexpanded\def\setfontstrut
{\setcharstrut{(gplQT}}
@@ -1315,41 +1307,9 @@
\let\normaloffinterlineskip\offinterlineskip % knuth's original
-%D This is tricky. The prevdepth value is still set to the last one even if there is
-%D nothing on the page. The same is true for prevgraf, which doesn't resemble the
-%D value on the current page.
-%D
-%D So, here we kick in a checker but it has to happen after the output group and it
-%D only has to be done once (output can trigger itself!).
-%D
-%D However, prevgraf is somehow bound to hangindent so we can get very
-%D nasty side effects. So, in tne end we use our own variable!
-
-\ifdefined\getnofpreviouslines
- % defined public at the lua end
-\else
- \let\getnofpreviouslines\!!zerocount
-\fi
-
-\unexpanded\def\page_otr_synchronize_page_yes
- {\aftergroup\page_otr_synchronize_page_indeed
- \glet\page_otr_synchronize_page\relax}
-
-% \unexpanded\def\page_otr_synchronize_page_indeed
-% {\clf_synchronizepage
-% \glet\page_otr_synchronize_page\page_otr_synchronize_page_yes}
-%
-% This has to become an otr method: \s!page_otr_command_synchonize_page
-
-\unexpanded\def\page_otr_synchronize_page_indeed
- {\ifx\currentoutputroutine\s!multicolumn\else\clf_synchronizepage\fi
- \glet\page_otr_synchronize_page\page_otr_synchronize_page_yes}
-
-\let\page_otr_synchronize_page\page_otr_synchronize_page_yes
-
\appendtoks
- \page_otr_synchronize_page
-\to \everyaftershipout
+ \ifvmode\clf_synchronizepage\fi % a nasty hack (tested for a while now)
+\to \everyafteroutput
%D My own one:
@@ -1401,7 +1361,7 @@
\let\restoreinterlinepenalty\relax
\unexpanded\def\spac_penalties_restore
- {\glet\restoreinterlinepenalty\relax
+ {\global\let\restoreinterlinepenalty\relax
\global\resetpenalties\interlinepenalties
\global\c_spac_keep_lines_together\zerocount}
@@ -1409,7 +1369,7 @@
{\ifnum#1>\c_spac_keep_lines_together
\global\c_spac_keep_lines_together#1%
\global\setpenalties\interlinepenalties\c_spac_keep_lines_together\plustenthousand
- \glet\restoreinterlinepenalty\spac_penalties_restore
+ \global\let\restoreinterlinepenalty\spac_penalties_restore
\fi}
\def\defaultdisplaywidowpenalty {50}
@@ -1741,7 +1701,7 @@
\fi
\doifelsenothing{#1}{\spac_grids_snap_value_set\v!normal}{\spac_grids_snap_value_set{#1}}%
\clf_vspacingsnap\nextbox\attribute\snapmethodattribute\relax
- \ifvbox\nextbox\vbox\else\hbox\fi attr \snapmethodattribute \zerocount {\box\nextbox}% no pack (?), we snap
+ \ifvbox\nextbox\vbox\else\hbox\fi attr \snapmethodattribute \zerocount {\box\nextbox}% *pack ?
\egroup}
\def\spac_grids_check_nop
@@ -1856,15 +1816,15 @@
\unexpanded\def\gridboxvbox
{\ifcase\gridboxlinemode
- \vpack
+ \vbox
\or
- \ruledvpack
+ \ruledvbox
\or
- \vpack
+ \vbox
\or
- \ruledvpack
+ \ruledvbox
\else
- \ruledvpack
+ \ruledvbox
\fi}
\def\gridboxwidth{\ifcase\gridboxlinemode0\or.5\or.5\or0\else.5\fi\linewidth}
@@ -1876,10 +1836,8 @@
\resetteststrut
\offinterlineskip
\hsize#2%
- \ifcase\gridboxlinenomode\or\or\or
- \gridboxlinenomode\doifoddpageelse\plusone\plustwo % 3: outer
- \or
- \gridboxlinenomode\doifoddpageelse\plustwo\plusone % 4: inner
+ \ifnum\gridboxlinenomode=\plusthree
+ \gridboxlinenomode\ifodd\realpageno\plusone\else\plustwo\fi
\fi
\topskipcorrection
\gridboxvbox % calculated size
@@ -2056,7 +2014,7 @@
\expandafter\nostartblankhandling
\fi}
-\unexpanded\def\nostartblankhandling#1\stopblankhandling
+\def\nostartblankhandling#1\stopblankhandling
{}
\def\dostartblankhandling
@@ -2084,7 +2042,7 @@
\setfalse\c_space_vspacing_done
\the\everybeforeblankhandling}
-\unexpanded\def\addpredefinedblankskip#1#2%
+\def\addpredefinedblankskip#1#2%
{\settrue\c_space_vspacing_done
\advance\s_spac_vspacing_temp#1\dimexpr\csname\??vspacingamount#2\endcsname\relax}
@@ -2131,56 +2089,8 @@
\def\spac_vspacing_nop_ignore
{\ifmmode\else\par\fi}
-% \unexpanded\def\directvspacing#1%
-% {\par\clf_vspacing{#1}}
-%
-%
-% \def\directdefaultvspacing
-% {\ifinpagebody % somewhat weird
-% \clf_vspacing{\currentvspacing}%
-% \else\ifconditional\c_spac_packed_blank
-% \clf_vspacing{\currentvspacing}%
-% \fi\fi}
-%
-% \unexpanded\def\useblankparameter#1% faster local variant
-% {\edef\m_spac_blank_asked{#1\c!blank}%
-% \ifx\m_spac_blank_asked\empty\else
-% \clf_vspacing{\m_spac_blank_asked}
-% \fi}
-
-\installcorenamespace{vspacing}
-
-\unexpanded\def\directvspacing#1%
- {\par
- \ifcsname\??vspacing#1\endcsname
- \lastnamedcs
- \else
- \spac_vspacing_yes_preset{#1}%
- \fi}
-
-\def\spac_vspacing_yes_preset#1%
- {\setxvalue{\??vspacing#1}{\clf_vspacing{#1}}%
- %\writestatus{}{}%
- %\writestatus{#1}{\expandafter\meaning\csname\??vspacing#1\endcsname}%
- %\writestatus{}{}%
- \csname\??vspacing#1\endcsname}
-
-\def\spac_vspacing_yes_indeed[#1]%
- {\ifmmode\else
- \directvspacing{#1}%
- \fi}
-
-\def\spac_vspacing_nop_indeed
- {\ifmmode\else
- \directvspacing\currentvspacing
- \fi}
-
-\def\directdefaultvspacing
- {\ifinpagebody % somewhat weird
- \directvspacing\currentvspacing
- \else\ifconditional\c_spac_packed_blank
- \directvspacing\currentvspacing
- \fi\fi}
+\def\directvspacing#1%
+ {\par\clf_vspacing{#1}}
\def\directcheckedvspacing
{\ifinpagebody % somewhat weird
@@ -2191,10 +2101,17 @@
\doubleexpandafter\gobbleoneargument
\fi\fi}
+\def\directdefaultvspacing
+ {\ifinpagebody % somewhat weird
+ \clf_vspacing{\currentvspacing}%
+ \else\ifconditional\c_spac_packed_blank
+ \clf_vspacing{\currentvspacing}%
+ \fi\fi}
+
\unexpanded\def\useblankparameter#1% faster local variant
{\edef\m_spac_blank_asked{#1\c!blank}%
\ifx\m_spac_blank_asked\empty\else
- \directvspacing\m_spac_blank_asked
+ \clf_vspacing{\m_spac_blank_asked}
\fi}
% handy (and faster):
@@ -2501,14 +2418,13 @@
\scratchwidth\dimexpr\wd\nextbox+\scratchdistance\relax
\ifx\m_spac_hanging_location\v!right
\hangindent\ifconditional\displaylefttoright-\fi\scratchwidth
- \rlap{\hskip\dimexpr\hsize-\leftskip-\wd\nextbox\relax\box\nextbox}% \leftskip is new
+ \rlap{\hskip\dimexpr\hsize-\wd\nextbox\relax\box\nextbox}%
\else
\hangindent\ifconditional\displaylefttoright\else-\fi\scratchwidth
\llap{\box\nextbox\hskip\scratchdistance}%
\fi
\ignorespaces}
-
%D \macros
%D {startfixed}
%D