summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2023-05-28 19:47:52 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2023-05-28 19:47:52 +0200
commit1bcb61ec8c01b503740bfeb8cc9d5f62553b3f72 (patch)
tree3d10a64d3823a9a11b0a64f69ead32ace65c4ff4 /tex
parentca9e3e4bd07d6d644818ffcfe746030923031afd (diff)
downloadcontext-1bcb61ec8c01b503740bfeb8cc9d5f62553b3f72.tar.gz
2023-05-28 18:57:00
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/mkii/cont-new.mkii2
-rw-r--r--tex/context/base/mkii/context.mkii2
-rw-r--r--tex/context/base/mkii/mult-fr.mkii2
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/mult-prm.lua1
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin24658 -> 24649 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin270731 -> 264536 bytes
-rw-r--r--tex/context/base/mkxl/cont-new.mkxl2
-rw-r--r--tex/context/base/mkxl/context.mkxl2
-rw-r--r--tex/context/base/mkxl/math-act.lmt15
-rw-r--r--tex/context/base/mkxl/math-ini.mkxl11
-rw-r--r--tex/context/base/mkxl/math-spa.lmt2
-rw-r--r--tex/context/base/mkxl/spac-brk.lmt1
-rw-r--r--tex/context/base/mkxl/spac-brk.mkxl18
-rw-r--r--tex/context/interface/mkii/keys-fr.xml2
-rw-r--r--tex/context/sample/math/math-knuth-dt.tex29
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
18 files changed, 63 insertions, 32 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index e2f277db9..f46b8e473 100644
--- a/tex/context/base/mkii/cont-new.mkii
+++ b/tex/context/base/mkii/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2023.05.27 23:23}
+\newcontextversion{2023.05.28 18:55}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii
index 459078b2f..50f3e71b3 100644
--- a/tex/context/base/mkii/context.mkii
+++ b/tex/context/base/mkii/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2023.05.27 23:23}
+\edef\contextversion{2023.05.28 18:55}
%D For those who want to use this:
diff --git a/tex/context/base/mkii/mult-fr.mkii b/tex/context/base/mkii/mult-fr.mkii
index 6892458b6..fb98d0766 100644
--- a/tex/context/base/mkii/mult-fr.mkii
+++ b/tex/context/base/mkii/mult-fr.mkii
@@ -832,6 +832,7 @@
\setinterfaceconstant{exitoffset}{decalagesortie}
\setinterfaceconstant{expansion}{expansion}
\setinterfaceconstant{export}{exporter}
+\setinterfaceconstant{extradata}{extradata}
\setinterfaceconstant{extras}{extras}
\setinterfaceconstant{factor}{facteur}
\setinterfaceconstant{fallback}{repli}
@@ -955,6 +956,7 @@
\setinterfaceconstant{lastpage}{dernierepage}
\setinterfaceconstant{lastpagesep}{sepdernierepage}
\setinterfaceconstant{lastpubsep}{sepdernierepub}
+\setinterfaceconstant{lasttextseparator}{lasttextseparator}
\setinterfaceconstant{layout}{miseenpage}
\setinterfaceconstant{left}{gauche}
\setinterfaceconstant{leftclass}{leftclass}
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index b3ef836ce..6c34ef17a 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2023.05.27 23:23}
+\newcontextversion{2023.05.28 18:55}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index c564ee74c..d5f5241b4 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -49,7 +49,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2023.05.27 23:23}
+\edef\contextversion{2023.05.28 18:55}
%D Kind of special:
diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua
index cf83244cf..260a61949 100644
--- a/tex/context/base/mkiv/mult-prm.lua
+++ b/tex/context/base/mkiv/mult-prm.lua
@@ -659,6 +659,7 @@ return {
"setmathspacing",
"shapingpenaltiesmode",
"shapingpenalty",
+ "shortinlinemaththreshold",
"snapshotpar",
"srule",
"supmarkmode",
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index a3b95216b..852d7997a 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index 85a68d14d..6d9904ad2 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl
index 81d56e507..4e2817bed 100644
--- a/tex/context/base/mkxl/cont-new.mkxl
+++ b/tex/context/base/mkxl/cont-new.mkxl
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2023.05.27 23:23}
+\newcontextversion{2023.05.28 18:55}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl
index 74f8b3bfc..381453997 100644
--- a/tex/context/base/mkxl/context.mkxl
+++ b/tex/context/base/mkxl/context.mkxl
@@ -29,7 +29,7 @@
%D {YYYY.MM.DD HH:MM} format.
\immutable\edef\contextformat {\jobname}
-\immutable\edef\contextversion{2023.05.27 23:23}
+\immutable\edef\contextversion{2023.05.28 18:55}
%overloadmode 1 % check frozen / warning
%overloadmode 2 % check frozen / error
diff --git a/tex/context/base/mkxl/math-act.lmt b/tex/context/base/mkxl/math-act.lmt
index b0243719e..8fdd6ca5a 100644
--- a/tex/context/base/mkxl/math-act.lmt
+++ b/tex/context/base/mkxl/math-act.lmt
@@ -1190,6 +1190,21 @@ do
end
+
+-- In TeX The Program we find in section 543 a remark about the second use of math
+-- italic: it is always added to the width except with respect to the position of
+-- the subscript. That paragraph also mentions that the number of different widths
+-- is normally small so they can be shared (there is an eight bit index into a width
+-- array). Actually the limits of at most 16 heights and depths has as side effect
+-- that we get some snapping of sizes. Now, because many math characters have an
+-- italic correction, the saving on shared widths is negated by the amount of (at
+-- most 64) italics. So in practice there is no gain and the italic correction could
+-- have served as bottom kern. We think that the following approach (that we actualy
+-- came to by a different reasonsing: inconsistent open type fonts) is quite valid
+-- and robust. It's just that the opentype math fonts should never have gone that
+-- TeX italic route. Italic usage is more clear from section 543 than from the math
+-- rendering code.
+
do
local function wipe(whatever,target,original,parameters,field,move,integrals)
diff --git a/tex/context/base/mkxl/math-ini.mkxl b/tex/context/base/mkxl/math-ini.mkxl
index eb3801a9b..b8c69b78c 100644
--- a/tex/context/base/mkxl/math-ini.mkxl
+++ b/tex/context/base/mkxl/math-ini.mkxl
@@ -534,6 +534,14 @@
% \preinlinepenalty 23 \postinlinepenalty 56 x$xx$x\par x$x$x\par x$x^2$x\par x$!$x\par
% \preshortinlinepenalty 123 \postshortinlinepenalty456 x$xx$x\par x$x$x\par x$x^2$x\par x$!$x\par
+% \immutable\integerdef\defaultpreshortinlinepenalty 150
+
+\preshortinlinepenalty 150
+
+\appendtoks
+ \shortinlinemaththreshold\emwidth
+\to \everybodyfont
+
\setmathoptions\mathordinarycode\numexpr
\noitaliccorrectionclassoptioncode
% +\checkligatureclassoptioncode
@@ -638,6 +646,7 @@
+\carryoverrighttopkernclassoptioncode
+\carryoverrightbottomkernclassoptioncode
+\preferdelimiterdimensionsclassoptioncode
+ +\shortinlineclassoptioncode
\relax
\setmathoptions\mathradicalcode\numexpr
@@ -648,11 +657,13 @@
+\carryoverrighttopkernclassoptioncode
+\carryoverrightbottomkernclassoptioncode
+\preferdelimiterdimensionsclassoptioncode
+ +\shortinlineclassoptioncode
\relax
\setmathoptions\mathaccentcode\numexpr
\defaultmathclassoptions
+\autoinjectclassoptioncode
+ +\shortinlineclassoptioncode
\relax
% ord spacing but with support for \m{m^2/x__3}
diff --git a/tex/context/base/mkxl/math-spa.lmt b/tex/context/base/mkxl/math-spa.lmt
index 6cd3b467e..d068ed8e9 100644
--- a/tex/context/base/mkxl/math-spa.lmt
+++ b/tex/context/base/mkxl/math-spa.lmt
@@ -37,7 +37,7 @@ local getlist = nuts.getlist
local setglue = nuts.setglue
local setwhd = nuts.setwhd
local getdimensions = nuts.dimensions
-local getnormalizedline = node.direct.getnormalizedline
+local getnormalizedline = nuts.getnormalizedline
local getbox = nuts.getbox
local setoffsets = nuts.setoffsets
local addxoffset = nuts.addxoffset
diff --git a/tex/context/base/mkxl/spac-brk.lmt b/tex/context/base/mkxl/spac-brk.lmt
index e534faa0e..fd32f7000 100644
--- a/tex/context/base/mkxl/spac-brk.lmt
+++ b/tex/context/base/mkxl/spac-brk.lmt
@@ -37,6 +37,7 @@ local nodecodes = nodes.nodecodes
local penalty_code = nodecodes.penalty
local glue_code = nodecodes.glue
local disc_code = nodecodes.disc
+local kern_code = nodecodes.kern
local math_code = nodecodes.math
local breakcodes = tex.breakcodes
diff --git a/tex/context/base/mkxl/spac-brk.mkxl b/tex/context/base/mkxl/spac-brk.mkxl
index 8926e1b4d..0ecff3577 100644
--- a/tex/context/base/mkxl/spac-brk.mkxl
+++ b/tex/context/base/mkxl/spac-brk.mkxl
@@ -19,25 +19,21 @@
\registerctxluafile{spac-brk}{}
+\unprotect
+
%D This is a very experimental feature and a by product of improving inline math
%D crossing lines. As it might evolve: use with care.
-% \setuplayout[width=8cm]
% \starttext
% \setupalign[verytolerant]
% \tracinglousiness1
% % \tracinglousiness2
-% \samplefile{ward} \blank
-% % \ctxlua{typesetters.breakpoints.show("11=0")} \samplefile{ward} \blank
-% % \ctxlua{typesetters.breakpoints.show{ [11] = 0 }} \samplefile{ward} \blank
-% \lousiness 1 11 0 \samplefile{ward} \blank
-% \silliness 11 \samplefile{ward} \blank
-% {\tt \the\lousiness}
+% \hsize8cm \lousiness 0 \samplefile{ward} \blank
+% {\tt \the\lousiness} \blank
+% \hsize8cm \lousiness 1 11 0 \samplefile{ward} \blank
+% \hsize8cm \silliness 11 \samplefile{ward} \blank
% \stoptext
-
-\unprotect
-
-% nothing hereyet
+%D These macros are defined a the \LUA\ end.
\protect \endinput
diff --git a/tex/context/interface/mkii/keys-fr.xml b/tex/context/interface/mkii/keys-fr.xml
index e9794ab0b..db5ac7f88 100644
--- a/tex/context/interface/mkii/keys-fr.xml
+++ b/tex/context/interface/mkii/keys-fr.xml
@@ -838,6 +838,7 @@
<cd:constant name='exitoffset' value='decalagesortie'/>
<cd:constant name='expansion' value='expansion'/>
<cd:constant name='export' value='exporter'/>
+ <cd:constant name='extradata' value='extradata'/>
<cd:constant name='extras' value='extras'/>
<cd:constant name='factor' value='facteur'/>
<cd:constant name='fallback' value='repli'/>
@@ -961,6 +962,7 @@
<cd:constant name='lastpage' value='dernierepage'/>
<cd:constant name='lastpagesep' value='sepdernierepage'/>
<cd:constant name='lastpubsep' value='sepdernierepub'/>
+ <cd:constant name='lasttextseparator' value='lasttextseparator'/>
<cd:constant name='layout' value='miseenpage'/>
<cd:constant name='left' value='gauche'/>
<cd:constant name='leftclass' value='leftclass'/>
diff --git a/tex/context/sample/math/math-knuth-dt.tex b/tex/context/sample/math/math-knuth-dt.tex
index e32681437..7babcaf76 100644
--- a/tex/context/sample/math/math-knuth-dt.tex
+++ b/tex/context/sample/math/math-knuth-dt.tex
@@ -1,13 +1,16 @@
-{\bf 15.} (This procedure maintains four integers $(A, B, C, D)$ with the invariant meaning
-that \quotation{our remaining job is to output the continued fraction for $(Ay + B)/(Cy + D)$,
-where $y$ is the input yet to come.}) Initially set $j \leftarrow k \leftarrow 0$, $(A, B, C, D) \leftarrow (a, b, c, d)$;
-then input $x_j$ and set $(A, B, C, D) \leftarrow (Ax_j + B, A, Cx_j + D, C)$, $j \leftarrow j + 1$, one or
-more times until $C + D$ has the same sign as $C$. (When $j > 1$ and the input has not
-terminated, we know that $1 < y < \infty$; and when $C + D$ has the same sign as $C$ we
-know therefore that $(Ay + B)/(Cy + D)$ lies between $(A + B)/(C + D)$ and $A/C$.)
-Now comes the general step: If no integer lies strictly between $(A + B)/(C + D)$
-and $A/C$, output $X_k \leftarrow \lfloor A/C \rfloor$, and set $(A, B, C, D) \leftarrow (C, D, A - X_ k C, B - X_k D)$,
-$k \leftarrow k + 1$; otherwise input $x_j$ and set $(A, B,C, D) \leftarrow (Ax_j + B, A, Cx_j + D,C)$,
-$j \leftarrow j + 1$. The general step is repeated ad infinitum. However, if at any time the
-\emph{final} $x_j$ is input, the algorithm immediately switches gears: It outputs the continued
-fraction for $(Ax_j + B)/(Cx_j + D)$, using Euclid's algorithm, and terminates.
+{\bf 15.} (This procedure maintains four integers $(A, B, C, D)$ with the
+invariant meaning that \quotation{our remaining job is to output the continued
+fraction for $(Ay + B)/(Cy + D)$, where $y$ is the input yet to come.}) Initially
+set $j \leftarrow k \leftarrow 0$, $(A, B, C, D) \leftarrow (a, b, c, d)$; then
+input $x_j$ and set $(A, B, C, D) \leftarrow (Ax_j + B, A, Cx_j + D, C)$, $j
+\leftarrow j + 1$, one or more times until $C + D$ has the same sign as $C$.
+(When $j > 1$ and the input has not terminated, we know that $1 < y < \infty$;
+and when $C + D$ has the same sign as $C$ we know therefore that $(Ay + B)/(Cy +
+D)$ lies between $(A + B)/(C + D)$ and $A/C$.) Now comes the general step: If no
+integer lies strictly between $(A + B)/(C + D)$ and $A/C$, output $X_k \leftarrow
+\lfloor A/C \rfloor$, and set $(A, B, C, D) \leftarrow (C, D, A - X_ k C, B - X_k
+D)$, $k \leftarrow k + 1$; otherwise input $x_j$ and set $(A, B,C, D) \leftarrow
+(Ax_j + B, A, Cx_j + D,C)$, $j \leftarrow j + 1$. The general step is repeated ad
+infinitum. However, if at any time the \emph{final} $x_j$ is input, the algorithm
+immediately switches gears: It outputs the continued fraction for $(Ax_j +
+B)/(Cx_j + D)$, using Euclid's algorithm, and terminates.
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 3dfd09687..6df432862 100644
--- a/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 2023-05-27 23:23
+-- merge date : 2023-05-28 18:55
do -- begin closure to overcome local limits and interference