summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2021-04-21 12:14:45 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2021-04-21 12:14:45 +0200
commit8beb3b723a828ee7e1a12677b6ef04506ceac45f (patch)
tree71e92596788b0a791434ff271f8a7517e813167f /tex
parent5ca0a10c8ee7333320b58b2ae02e902e51f27449 (diff)
downloadcontext-8beb3b723a828ee7e1a12677b6ef04506ceac45f.tar.gz
2021-04-21 11:39: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/mkiv/cldf-ini.lua2
-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-low.lua8
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin24878 -> 24875 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin240852 -> 240858 bytes
-rw-r--r--tex/context/base/mkxl/buff-ver.mkxl3
-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/driv-shp.lmt2
-rw-r--r--tex/context/base/mkxl/font-pre.mkxl13
-rw-r--r--tex/context/base/mkxl/font-vfc.lmt2
-rw-r--r--tex/context/base/mkxl/lang-ini.mkxl19
-rw-r--r--tex/context/base/mkxl/lpdf-lmt.lmt29
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
17 files changed, 44 insertions, 48 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 9305993eb..5cab6d540 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{2021.04.20 18:41}
+\newcontextversion{2021.04.21 11:36}
%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 309070ba8..e35c6a5ae 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{2021.04.20 18:41}
+\edef\contextversion{2021.04.21 11:36}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/cldf-ini.lua b/tex/context/base/mkiv/cldf-ini.lua
index 008e0ea3a..5d4b3d8a8 100644
--- a/tex/context/base/mkiv/cldf-ini.lua
+++ b/tex/context/base/mkiv/cldf-ini.lua
@@ -577,7 +577,7 @@ local space = patterns.spacer
local spacing = newline * space^0
local content = lpegC((1-spacing)^1) -- texsprint
local emptyline = space^0 * newline^2 -- texprint("")
- + newline * space^1
+ + newline * space^1 * newline^1
local endofline = space^0 * newline * space^0 -- texsprint(" ")
local simpleline = endofline * lpegP(-1) --
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 5750b6e86..2b07e8d4b 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{2021.04.20 18:41}
+\newcontextversion{2021.04.21 11:36}
%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 86220aa80..91d7c5640 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -45,7 +45,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2021.04.20 18:41}
+\edef\contextversion{2021.04.21 11:36}
%D Kind of special:
diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua
index eb4918980..592645b8c 100644
--- a/tex/context/base/mkiv/mult-low.lua
+++ b/tex/context/base/mkiv/mult-low.lua
@@ -159,12 +159,14 @@ return {
"wildcardsymbol",
--
"normalhyphenationmodecode", "automatichyphenationmodecode", "explicithyphenationmodecode",
- "syllablehyphenationmodecode", "uppercasehyphenationmodecode", "completehyphenationmodecode",
+ "syllablehyphenationmodecode", "uppercasehyphenationmodecode", "collapsehyphenationmodecode",
"compoundhyphenationmodecode", "strictstarthyphenationmodecode", "strictendhyphenationmodecode",
"automaticpenaltyhyphenationmodecode", "explicitpenaltyhyphenationmodecode",
"permitgluehyphenationmodecode", "permitallhyphenationmodecode", "permitmathreplacehyphenationmodecode",
"forcecheckhyphenationmodecode", "lazyligatureshyphenationmodecode", "forcehandlerhyphenationmodecode",
- "feedbackcompoundhyphenationmodecode", "ignoreboundshyphenationmodecode", "collapsehyphenationmodecode",
+ "feedbackcompoundhyphenationmodecode", "ignoreboundshyphenationmodecode",
+ --
+ "partialhyphenationmodecode", "completehyphenationmodecode",
--
"normalizelinecode", "parindentskipcode", "swaphangindentcode", "swapparsshapecode", "breakafterdircode", "removemarginkernscode",
"clipwidthcode", "flattendiscretionariescode",
@@ -514,7 +516,7 @@ return {
"synchronizelayoutdirection","synchronizedisplaydirection","synchronizeinlinedirection",
"dirlre", "dirrle", "dirlro", "dirrlo",
--
- "lesshyphens", "morehyphens", "nohyphens", "dohyphens",
+ "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "dohyphencollapsing", "nohyphencollapsing",
"compounddiscretionary",
--
"Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath",
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 793ac218f..af4f3802f 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 999970419..1ddade41c 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/buff-ver.mkxl b/tex/context/base/mkxl/buff-ver.mkxl
index c948181c5..65c919556 100644
--- a/tex/context/base/mkxl/buff-ver.mkxl
+++ b/tex/context/base/mkxl/buff-ver.mkxl
@@ -40,6 +40,7 @@
\resetfontfeature
\resetcharacterspacing
\resetbreakpoints
+ \nohyphencollapsing
\to \everyinitializeverbatim
\permanent\protected\def\setverbatimspaceskip % to be checked: must happen after font switch
@@ -53,7 +54,7 @@
\defcsname\??typingspace\v!on \endcsname{\enforced\let\obeyedspace\specialcontrolspace}
\defcsname\??typingspace\v!stretch \endcsname{\enforced\let\obeyedspace\specialstretchedspace}
-\defcsname\??typingspace\v!normal \endcsname{}
+\letcsname\??typingspace\v!normal \endcsname\donothing
\defcsname\??typingspace\v!fixed \endcsname{\enforced\let\obeyedspace\specialfixedspace}
\defcsname\??typingblank\v!standard \endcsname{\s_spac_whitespace_parskip}
diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl
index 51fa1e383..b48a3b801 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{2021.04.20 18:41}
+\newcontextversion{2021.04.21 11:36}
%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 1c6546bfc..d8475d81f 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{2021.04.20 18:41}
+\immutable\edef\contextversion{2021.04.21 11:36}
%overloadmode 1 % check frozen / warning
%overloadmode 2 % check frozen / error
diff --git a/tex/context/base/mkxl/driv-shp.lmt b/tex/context/base/mkxl/driv-shp.lmt
index 5739dc15e..6188f8a24 100644
--- a/tex/context/base/mkxl/driv-shp.lmt
+++ b/tex/context/base/mkxl/driv-shp.lmt
@@ -304,7 +304,7 @@ local flush_character do
pos_h = ph
pos_v = pv
end
- elseif command == "compose" then
+ elseif command == "compose" then -- for now idem
local ph = pos_h
local pv = pos_v
local h = packet[2] or 0
diff --git a/tex/context/base/mkxl/font-pre.mkxl b/tex/context/base/mkxl/font-pre.mkxl
index 7f1aa5f7f..0840d3255 100644
--- a/tex/context/base/mkxl/font-pre.mkxl
+++ b/tex/context/base/mkxl/font-pre.mkxl
@@ -67,8 +67,17 @@
% calt=yes, % maybe too
% clig=yes, % maybe too
% rlig=yes, % maybe too
- tlig=yes,
- trep=yes] % texligatures=yes,texquotes=yes
+% tlig=yes, % no longer default
+% trep=yes, % no longer default
+ ] % texligatures=yes,texquotes=yes
+
+% if needed users can add this to a local cont-loc.mkxl in texmf-local:
+
+% \definefontfeature
+% [default]
+% [default]
+% [tlig=yes,
+% trep=yes]
\definefontfeature
[original] % a clone of default so we can revert
diff --git a/tex/context/base/mkxl/font-vfc.lmt b/tex/context/base/mkxl/font-vfc.lmt
index 9330bdea0..2872bb908 100644
--- a/tex/context/base/mkxl/font-vfc.lmt
+++ b/tex/context/base/mkxl/font-vfc.lmt
@@ -166,7 +166,7 @@ function helpers.scalecommands(list,hdelta,vdelta)
result[i] = { key, cmd[2]*hdelta }
elseif key == "down" or key == "up" then
result[i] = { key, cmd[2]*vdelta }
- elseif key == "offset" or key == "rule" then
+ elseif key == "offset" or key == "rule" then -- or key == "compose"
result[i] = { key, cmd[2]*hdelta, cmd[3]*vdelta }
-- elseif key == "frame" then
-- result[i] = cmd -- already scaled, for now
diff --git a/tex/context/base/mkxl/lang-ini.mkxl b/tex/context/base/mkxl/lang-ini.mkxl
index a8cf1b1fb..d99fa4f79 100644
--- a/tex/context/base/mkxl/lang-ini.mkxl
+++ b/tex/context/base/mkxl/lang-ini.mkxl
@@ -436,7 +436,12 @@
+ \forcehandlerhyphenationmodecode % kick in the handler (could be an option)
+ \feedbackcompoundhyphenationmodecode % feedback compound snippets
+ \ignoreboundshyphenationmodecode % just in case we have hyphens at the edges
-% + \collapsehyphenationmodecode % collapse -- and ---
+ + \collapsehyphenationmodecode % collapse -- and ---
+\relax
+
+\permanent \integerdef \partialhyphenationmodecode \numexpr
+ \ignoreboundshyphenationmodecode % just in case we have hyphens at the edges
+ + \collapsehyphenationmodecode % collapse -- and ---
\relax
\hccode"002D "002D
@@ -448,12 +453,20 @@
\permanent\protected\def\dohyphens {\hyphenationmode\completehyphenationmodecode}
%permanent\protected\def\nohyphens {\hyphenationmode\zerocount}
-\permanent\protected\def\nohyphens {\hyphenationmode\forcehandlerhyphenationmodecode}
+\permanent\protected\def\nohyphens {\hyphenationmode\partialhyphenationmodecode}
+
+\permanent\protected\def\dohyphencollapsing{\hyphenationmode\bitwiseflip\hyphenationmode \collapsehyphenationmodecode}
+\permanent\protected\def\nohyphencollapsing{\hyphenationmode\bitwiseflip\hyphenationmode-\collapsehyphenationmodecode}
\permanent\protected\def\usehyphensparameter#1%
{\edef\p_hyphens{#1\c!hyphens}%
\ifx\p_hyhens\v!no
- \nohyphens
+ \ifbitwiseand\hyphenationmode\collapsehyphenationmodecode
+ \nohyphens
+ \else
+ \nohyphens
+ \nohyphencollapsing
+ \fi
\fi}
\dohyphens
diff --git a/tex/context/base/mkxl/lpdf-lmt.lmt b/tex/context/base/mkxl/lpdf-lmt.lmt
index 590d69c58..1861cbc49 100644
--- a/tex/context/base/mkxl/lpdf-lmt.lmt
+++ b/tex/context/base/mkxl/lpdf-lmt.lmt
@@ -434,35 +434,6 @@ do
-- luatex where we have more widths arrays and these reflect the cheated
-- widths (goes wrong elsewhere).
--- local naturalwidths = setmetatableindex(function(t,font)
--- local d = descriptions[font]
--- local c = characters[font]
--- local f = parameters[font].hfactor or parameters[font].factor
--- local v = setmetatableindex(function(t,char)
--- local w
--- local e = d and d[char]
--- if e then
--- w = e.width
--- if w then
--- w = w * f
--- end
--- end
--- if not w then
--- e = c and c[char]
--- if e then
--- w = e.width or 0
--- end
--- end
--- if not w then
--- w = 0
--- end
--- t[char] = w
--- return w
--- end)
--- t[font] = v
--- return v
--- end)
-
-- when changing this, check math: compact-001.tex (rule width)
local naturalwidths = setmetatableindex(function(t,font)
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index c3e8104ea..4d7a9796a 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 : 2021-04-20 18:41
+-- merge date : 2021-04-21 11:36
do -- begin closure to overcome local limits and interference