spac-brk.mkxl /size: 2514 b    last modification: 2025-02-21 11:03
1%D \module
2%D   [       file=spac-brk,
3%D        version=2023.05.23,
4%D          title=\CONTEXT\ Spacing Macros,
5%D       subtitle=Breaking lines,
6%D         author=Hans Hagen,
7%D           date=\currentdate,
8%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9%C
10%C This module is part of the \CONTEXT\ macro||package and is
11%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12%C details.
13
14\ifdefined\tracinglousiness \endinput \fi
15
16\writestatus{loading}{ConTeXt Spacing Macros / Breakpoints}
17
18\newcount\tracinglousiness
19
20\newcount\twinslimit \twinslimit\maxcount
21
22\registerctxluafile{spac-brk}{}
23\registerctxluafile{spac-ovl}{}
24\registerctxluafile{spac-twi}{}
25
26\unprotect
27
28\cccode \periodasciicode          \ignoretwincharactercontrolcode
29\cccode \commaasciicode           \ignoretwincharactercontrolcode
30\cccode \exclamationmarkasciicode \ignoretwincharactercontrolcode
31\cccode \questionmarkasciicode    \ignoretwincharactercontrolcode
32\cccode \colonasciicode           \ignoretwincharactercontrolcode
33\cccode \semicolonasciicode       \ignoretwincharactercontrolcode
34
35\installtexexperiment
36  {parbuilder.twins}
37  {\bitwiseflip\glyphoptions-\checktwinglyphoptioncode
38   \lefttwindemerits 7500
39   \righttwindemerits7500
40   \linebreakchecks\plustwo}
41  {\bitwiseflip\glyphoptions\checktwinglyphoptioncode
42   \lefttwindemerits \zerocount
43   \righttwindemerits\zerocount
44   \linebreakchecks\zerocount}
45
46% \lefttwindemerits 7500
47% \righttwindemerits7500
48%
49% \permanent\protected\def\dopermittwins{\ifnum\linebreakchecks=\plustwo\linebreakchecks\zerocount\fi}
50% \permanent\protected\def\doavoidtwins {\linebreakchecks\plusone}
51%
52% \defcsname\??aligncommand permittwins\endcsname{\toksapp\t_spac_align_collected{\dopermittwins}}
53% \defcsname\??aligncommand  avoidtwins\endcsname{\toksapp\t_spac_align_collected{\doavoidtwins }}
54
55%D This is a very experimental feature and a by product of improving inline math
56%D crossing lines. As it might evolve: use with care.
57
58\fetchmodulecommand \startshowbreakpoints   {trac-brk} % {s-lines-show.mkxl}
59\fetchmodulecommand \startshowbalancepoints {trac-brk} % {s-lines-show.mkxl}
60
61% \starttext
62%     \setupalign[verytolerant]
63%     \tracinglousiness1
64%   % \tracinglousiness2
65%     \hsize8cm \lousiness 0      \samplefile{ward} \blank
66%     {\tt \the\lousiness} \blank
67%     \hsize8cm \lousiness 1 11 0 \samplefile{ward} \blank
68%     \hsize8cm \silliness   11   \samplefile{ward} \blank
69% \stoptext
70
71%D These macros are defined a the \LUA\ end.
72
73\protect \endinput
74