summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2021-06-11 00:21:44 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2021-06-11 00:21:44 +0200
commit78aafeff01160ce000074e88a1eaf2cd4b7fbce6 (patch)
tree6dde9616aa2b99705e780aa3c22777494786ec33 /tex
parentc558f97f6e47f6d2604fdea3bcd808794a6e41a7 (diff)
downloadcontext-78aafeff01160ce000074e88a1eaf2cd4b7fbce6.tar.gz
2021-06-10 23:11: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/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin23931 -> 23949 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin230130 -> 230146 bytes
-rw-r--r--tex/context/base/mkiv/strc-syn.lua10
-rw-r--r--tex/context/base/mkiv/type-set.mkiv154
-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/core-con.mkxl7
-rw-r--r--tex/context/base/mkxl/math-del.mkxl7
-rw-r--r--tex/context/base/mkxl/math-fen.mkxl61
-rw-r--r--tex/context/base/mkxl/math-int.mkxl10
-rw-r--r--tex/context/base/mkxl/page-txt.mklx2
-rw-r--r--tex/context/base/mkxl/strc-syn.mkxl19
-rw-r--r--tex/context/base/mkxl/tabl-tbl.mkxl17
-rw-r--r--tex/context/base/mkxl/type-set.mkxl154
-rw-r--r--tex/context/fonts/mkiv/type-imp-dejavu.mkiv7
-rw-r--r--tex/context/fonts/mkiv/type-imp-newcomputermodern.mkiv93
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
21 files changed, 353 insertions, 202 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index b2394098d..90e3723f7 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.06.09 20:31}
+\newcontextversion{2021.06.10 23:09}
%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 f87187c45..15405b852 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.06.09 20:31}
+\edef\contextversion{2021.06.10 23:09}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 9ef4d9f95..69e142b5f 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.06.09 20:31}
+\newcontextversion{2021.06.10 23:09}
%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 776d85c8b..0eaaf8682 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.06.09 20:31}
+\edef\contextversion{2021.06.10 23:09}
%D Kind of special:
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 4363c067a..f1d723687 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 1f3016ff8..a8c81db5d 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/mkiv/strc-syn.lua b/tex/context/base/mkiv/strc-syn.lua
index c0ebb556c..6b50da4ac 100644
--- a/tex/context/base/mkiv/strc-syn.lua
+++ b/tex/context/base/mkiv/strc-syn.lua
@@ -193,9 +193,12 @@ function synonyms.prepare(data)
local entry = result[i]
local definition = entry.definition
if definition then
- local tag = definition.tag
- local key = tag ~= "" and tag or definition.synonym
- entry.split = splitter(strip(key))
+ local srt = definition.sortkey or ""
+ local tag = definition.tag or ""
+ local key = (srt ~= "" and srt) or (tag ~= "" and tag) or definition.synonym
+ if key then
+ entry.split = splitter(strip(key))
+ end
end
end
end
@@ -310,6 +313,7 @@ implement {
{ "tag" },
{ "synonym" },
{ "meaning" },
+ { "sortkey" },
{ "used", "boolean" }
}
}
diff --git a/tex/context/base/mkiv/type-set.mkiv b/tex/context/base/mkiv/type-set.mkiv
index 68cd939d7..c7910ac62 100644
--- a/tex/context/base/mkiv/type-set.mkiv
+++ b/tex/context/base/mkiv/type-set.mkiv
@@ -59,81 +59,83 @@
\fi
-\definefilesynonym [type-imp-latin-modern.mkiv] [type-imp-latinmodern.mkiv]
-\definefilesynonym [type-imp-modern-latin.mkiv] [type-imp-modernlatin.mkiv]
-
-\definefilesynonym [type-imp-lucida.mkiv] [type-imp-lucida-typeone.mkiv]
-\definefilesynonym [type-imp-lucidaot.mkiv] [type-imp-lucida-opentype.mkiv]
-\definefilesynonym [type-imp-lucidadk.mkiv] [type-imp-lucida-opentype.mkiv]
-
-\definefilesynonym [type-imp-dejavu-condensed.mkiv] [type-imp-dejavu.mkiv]
-
-\definefilesynonym [type-imp-palatino.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-courier.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-avantgarde.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-helvetica.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-chancery.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-bookman.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-schoolbook.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-times.mkiv] [type-imp-texgyre.mkiv]
-
-\definefilesynonym [type-imp-cursor.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-adventor.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-heros.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-chorus.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-bonum.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-schola.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-pagella.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-termes.mkiv] [type-imp-texgyre.mkiv]
-
-\definefilesynonym [type-imp-mscoretimes.mkiv] [type-imp-mscore.mkiv]
-\definefilesynonym [type-imp-mscorearial.mkiv] [type-imp-mscore.mkiv]
-\definefilesynonym [type-imp-mscorecourier.mkiv] [type-imp-mscore.mkiv]
-\definefilesynonym [type-imp-mscoreverdana.mkiv] [type-imp-mscore.mkiv]
-
-\definefilesynonym [type-imp-candara.mkiv] [type-imp-cleartype.mkiv]
-\definefilesynonym [type-imp-consolas.mkiv] [type-imp-cleartype.mkiv]
-\definefilesynonym [type-imp-constantia.mkiv] [type-imp-cleartype.mkiv]
-\definefilesynonym [type-imp-corbel.mkiv] [type-imp-cleartype.mkiv]
-\definefilesynonym [type-imp-calibri.mkiv] [type-imp-cleartype.mkiv]
-
-\definefilesynonym [type-imp-antykwa-poltawskiego.mkiv] [type-imp-antykwapoltawskiego.mkiv]
-
-%definefilesynonym [type-imp-mac.mkiv] [type-imp-osx.mkiv]
-%definefilesynonym [type-imp-win.mkiv] [type-imp-mscore.mkiv]
-
-\definefilesynonym [type-imp-eulernovum.mkiv] [type-imp-euler.mkiv]
-\definefilesynonym [type-imp-eulernova.mkiv] [type-imp-euler.mkiv]
-
-\definefilesynonym [type-imp-euler-with-pagella.mkiv] [type-imp-euler.mkiv]
-\definefilesynonym [type-imp-pagella-with-euler.mkiv] [type-imp-euler.mkiv]
-
-\definefilesynonym [type-imp-mdbch.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mdugm.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mdput.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mdici.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mdpgd.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mdpus.mkiv] [type-imp-mathdesign.mkiv]
-
-\definefilesynonym [type-imp-mathdesignch.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesigngm.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesignut.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesignci.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesigngd.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesignus.mkiv] [type-imp-mathdesign.mkiv]
-
-\definefilesynonym [type-imp-mathdesigncharter.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesigngaramond.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesignutopia.mkiv] [type-imp-mathdesign.mkiv]
-
-\definefilesynonym [type-imp-cows.mkiv] [type-imp-koeielettersot.mkiv]
-\definefilesynonym [type-imp-sheep.mkiv] [type-imp-koeielettersot.mkiv]
-\definefilesynonym [type-imp-coloredcows.mkiv] [type-imp-koeielettersot.mkiv]
-\definefilesynonym [type-imp-coloredsheep.mkiv] [type-imp-koeielettersot.mkiv]
-\definefilesynonym [type-imp-koeieletters.mkiv] [type-imp-koeielettersot.mkiv]
-
-\definefilesynonym [type-imp-stixtwo.mkiv] [type-imp-stix.mkiv]
-
-\definefilesynonym [type-imp-ibmplex.mkiv] [type-imp-plex.mkiv]
+\definefilesynonym [type-imp-latin-modern.mkiv] [type-imp-latinmodern.mkiv]
+\definefilesynonym [type-imp-modern-latin.mkiv] [type-imp-modernlatin.mkiv]
+
+\definefilesynonym [type-imp-lucida.mkiv] [type-imp-lucida-typeone.mkiv]
+\definefilesynonym [type-imp-lucidaot.mkiv] [type-imp-lucida-opentype.mkiv]
+\definefilesynonym [type-imp-lucidadk.mkiv] [type-imp-lucida-opentype.mkiv]
+
+\definefilesynonym [type-imp-dejavu-condensed.mkiv] [type-imp-dejavu.mkiv]
+
+\definefilesynonym [type-imp-palatino.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-courier.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-avantgarde.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-helvetica.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-chancery.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-bookman.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-schoolbook.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-times.mkiv] [type-imp-texgyre.mkiv]
+
+\definefilesynonym [type-imp-cursor.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-adventor.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-heros.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-chorus.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-bonum.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-schola.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-pagella.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-termes.mkiv] [type-imp-texgyre.mkiv]
+
+\definefilesynonym [type-imp-mscoretimes.mkiv] [type-imp-mscore.mkiv]
+\definefilesynonym [type-imp-mscorearial.mkiv] [type-imp-mscore.mkiv]
+\definefilesynonym [type-imp-mscorecourier.mkiv] [type-imp-mscore.mkiv]
+\definefilesynonym [type-imp-mscoreverdana.mkiv] [type-imp-mscore.mkiv]
+
+\definefilesynonym [type-imp-candara.mkiv] [type-imp-cleartype.mkiv]
+\definefilesynonym [type-imp-consolas.mkiv] [type-imp-cleartype.mkiv]
+\definefilesynonym [type-imp-constantia.mkiv] [type-imp-cleartype.mkiv]
+\definefilesynonym [type-imp-corbel.mkiv] [type-imp-cleartype.mkiv]
+\definefilesynonym [type-imp-calibri.mkiv] [type-imp-cleartype.mkiv]
+
+\definefilesynonym [type-imp-antykwa-poltawskiego.mkiv] [type-imp-antykwapoltawskiego.mkiv]
+
+%definefilesynonym [type-imp-mac.mkiv] [type-imp-osx.mkiv]
+%definefilesynonym [type-imp-win.mkiv] [type-imp-mscore.mkiv]
+
+\definefilesynonym [type-imp-eulernovum.mkiv] [type-imp-euler.mkiv]
+\definefilesynonym [type-imp-eulernova.mkiv] [type-imp-euler.mkiv]
+
+\definefilesynonym [type-imp-euler-with-pagella.mkiv] [type-imp-euler.mkiv]
+\definefilesynonym [type-imp-pagella-with-euler.mkiv] [type-imp-euler.mkiv]
+
+\definefilesynonym [type-imp-mdbch.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mdugm.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mdput.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mdici.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mdpgd.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mdpus.mkiv] [type-imp-mathdesign.mkiv]
+
+\definefilesynonym [type-imp-mathdesignch.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesigngm.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesignut.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesignci.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesigngd.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesignus.mkiv] [type-imp-mathdesign.mkiv]
+
+\definefilesynonym [type-imp-mathdesigncharter.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesigngaramond.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesignutopia.mkiv] [type-imp-mathdesign.mkiv]
+
+\definefilesynonym [type-imp-cows.mkiv] [type-imp-koeielettersot.mkiv]
+\definefilesynonym [type-imp-sheep.mkiv] [type-imp-koeielettersot.mkiv]
+\definefilesynonym [type-imp-coloredcows.mkiv] [type-imp-koeielettersot.mkiv]
+\definefilesynonym [type-imp-coloredsheep.mkiv] [type-imp-koeielettersot.mkiv]
+\definefilesynonym [type-imp-koeieletters.mkiv] [type-imp-koeielettersot.mkiv]
+
+\definefilesynonym [type-imp-stixtwo.mkiv] [type-imp-stix.mkiv]
+
+\definefilesynonym [type-imp-ibmplex.mkiv] [type-imp-plex.mkiv]
+
+\definefilesynonym [type-imp-newcomputermodern-book.mkiv] [type-imp-newcomputermodern.mkiv]
\protect \endinput
diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl
index 25b2101ef..017357e88 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.06.09 20:31}
+\newcontextversion{2021.06.10 23:09}
%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 d6ec56778..1eb9519c2 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.06.09 20:31}
+\immutable\edef\contextversion{2021.06.10 23:09}
%overloadmode 1 % check frozen / warning
%overloadmode 2 % check frozen / error
diff --git a/tex/context/base/mkxl/core-con.mkxl b/tex/context/base/mkxl/core-con.mkxl
index 223afa1a1..33dc921b7 100644
--- a/tex/context/base/mkxl/core-con.mkxl
+++ b/tex/context/base/mkxl/core-con.mkxl
@@ -180,12 +180,7 @@
%D
%D The last part of this module is dedicated to converting dates. Because we want to
%D use as meaningful commands as possible, and because \TEX\ already uses up some of
-%D those, we save the original meanings.
-
-% \savenormalmeaning\time
-% \savenormalmeaning\year
-% \savenormalmeaning\month
-% \savenormalmeaning\day
+%D those, we save the original meanings. The above are defined already.
%D \macros
%D {month,MONTH}
diff --git a/tex/context/base/mkxl/math-del.mkxl b/tex/context/base/mkxl/math-del.mkxl
index 07e6d7948..538883bfc 100644
--- a/tex/context/base/mkxl/math-del.mkxl
+++ b/tex/context/base/mkxl/math-del.mkxl
@@ -85,11 +85,12 @@
\appendtoks
\ifcstok{\mathdelimiterparameter\c!define}\v!yes
+ % we can intercept auto here
\frozen\instance\setuevalue\currentmathdelimiter{\mathdelimiter[\currentmathdelimiter]}%
\fi
\to \everydefinemathdelimiter
-\permanent\tolerant\protected\def\mathdelimiter[#1]#*[#2]%
+\permanent\tolerant\protected\def\mathdelimiter[#1]#*[#2]% so not really used (for now)
{\mathop
{\edef\currentmathdelimiter{#1}%
\iftok{#2}\emptytoks
@@ -118,7 +119,9 @@
\mskip\p_rightoffset
\fi}}
-\definemathdelimiter[integral][\c!symbol="222B]
+% \definemathdelimiter[integral][\c!symbol="222B]
+
+\permanent\protected\def\integral{\int\Umathadaptsize}
% \setupmathdelimiter[integral][rightoffset=-3mu,exact=yes,factor=2]
%
diff --git a/tex/context/base/mkxl/math-fen.mkxl b/tex/context/base/mkxl/math-fen.mkxl
index 8aa0e62a8..cfefb4e2e 100644
--- a/tex/context/base/mkxl/math-fen.mkxl
+++ b/tex/context/base/mkxl/math-fen.mkxl
@@ -15,6 +15,10 @@
\unprotect
+% ignore missign right message, so we can have left extensibles (int or so)
+%
+% \mathdelimitersmode"20 (todo: flipbit)
+
% maybe always "method=auto" for:
%
% \switchtobodyfont[cambria]
@@ -87,10 +91,10 @@
\installcorenamespace {mathfencesize}
-\setvalue{\??mathfencesize big}{1}
-\setvalue{\??mathfencesize Big}{2}
-\setvalue{\??mathfencesize bigg}{3}
-\setvalue{\??mathfencesize Bigg}{4}
+\defcsname\??mathfencesize big\endcsname{1}
+\defcsname\??mathfencesize Big\endcsname{2}
+\defcsname\??mathfencesize bigg\endcsname{3}
+\defcsname\??mathfencesize Bigg\endcsname{4}
\def\math_fenced_force_size#1#2%
{\c_attr_mathsize\numexpr
@@ -268,6 +272,25 @@
\enforced\let\fenced\math_fenced_fenced
\to \everymathematics
+% integral experiment (but no scripts)
+%
+% \protected\def\math_fenced_fenced_simple#1%
+% {\pushmacro\currentmathfence
+% \edef\currentmathfence{#1}%
+% \math_fenced_fenced_common
+% \math_fenced_left
+% \popmacro\currentmathfence
+% \stopusemathstyleparameter}
+%
+% \immutable\protected\def\integral {\math_fenced_fenced_simple{integral}}
+%
+% let's keep this weird hack:
+%
+% \mathdelimitersmode"20
+% \startformula
+% x = \integral {\vrule height 20mm depth 18mm width 5mm}^^{2\,}__{2\,}
+% \stopformula
+
% todo: | in mathmode letter
%
% \appendtoks
@@ -399,20 +422,20 @@
\newconditional\c_math_fenced_unknown \settrue\c_math_fenced_unknown
\permanent\protected\def\installmathfencepair#1#2#3#4%
- {\letcsname\??mathleft \normalmeaning#1\endcsname#2%
- \letcsname\??mathright\normalmeaning#3\endcsname#4}
+ {\letcsname\??mathleft \normalmeaningless#1\endcsname#2%
+ \letcsname\??mathright\normalmeaningless#3\endcsname#4}
\def\math_unknown_left {\setfalse\c_math_fenced_done\ifconditional\c_math_fenced_unknown\normalleft \nexttoken\fi}
\def\math_unknown_right {\setfalse\c_math_fenced_done\ifconditional\c_math_fenced_unknown\normalright \nexttoken\fi}
\def\math_unknown_middle{\setfalse\c_math_fenced_done\ifconditional\c_math_fenced_unknown\normalmiddle\nexttoken\fi}
-\letvalue{\??mathleft \s!unknown}\math_unknown_left
-\letvalue{\??mathright \s!unknown}\math_unknown_right
-\letvalue{\??mathmiddle\s!unknown}\math_unknown_middle
+\letcsname\??mathleft \s!unknown\endcsname\math_unknown_left
+\letcsname\??mathright \s!unknown\endcsname\math_unknown_right
+\letcsname\??mathmiddle\s!unknown\endcsname\math_unknown_middle
\def\math_left
{\settrue\c_math_fenced_done
- \ifcsname\??mathleft\normalmeaning\nexttoken\endcsname
+ \ifcsname\??mathleft\normalmeaningless\nexttoken\endcsname
\expandafter\lastnamedcs
\else
\expandafter\math_unknown_left
@@ -420,7 +443,7 @@
\def\math_right
{\settrue\c_math_fenced_done
- \ifcsname\??mathright\normalmeaning\nexttoken\endcsname
+ \ifcsname\??mathright\normalmeaningless\nexttoken\endcsname
\expandafter\lastnamedcs
\else
\expandafter\math_unknown_right
@@ -428,7 +451,7 @@
\def\math_middle
{\settrue\c_math_fenced_done
- \ifcsname\??mathmiddle\normalmeaning\nexttoken\endcsname
+ \ifcsname\??mathmiddle\normalmeaningless\nexttoken\endcsname
\expandafter\lastnamedcs
\else
\expandafter\math_unknown_middle
@@ -437,7 +460,7 @@
\permanent\protected\def\lfence#1%
{\settrue\c_math_fenced_done
\let\nexttoken#1%
- \ifcsname\??mathleft\normalmeaning\nexttoken\endcsname
+ \ifcsname\??mathleft\normalmeaningless\nexttoken\endcsname
\expandafter\lastnamedcs
\else
\expandafter\math_unknown_left
@@ -446,7 +469,7 @@
\permanent\protected\def\rfence#1%
{\settrue\c_math_fenced_done
\let\nexttoken#1%
- \ifcsname\??mathright\normalmeaning\nexttoken\endcsname
+ \ifcsname\??mathright\normalmeaningless\nexttoken\endcsname
\expandafter\lastnamedcs
\else
\expandafter\math_unknown_right
@@ -455,7 +478,7 @@
\permanent\protected\def\mfence#1%
{\settrue\c_math_fenced_done
\let\nexttoken#1%
- \ifcsname\??mathmiddle\normalmeaning\nexttoken\endcsname
+ \ifcsname\??mathmiddle\normalmeaningless\nexttoken\endcsname
\expandafter\lastnamedcs
\else
\expandafter\math_unknown_middle
@@ -623,10 +646,10 @@
\installcorenamespace{mathbig}
-\setvalue{\??mathbig1}{0.85}
-\setvalue{\??mathbig2}{1.15}
-\setvalue{\??mathbig3}{1.45}
-\setvalue{\??mathbig4}{1.75}
+\defcsname\??mathbig1\endcsname{0.85}
+\defcsname\??mathbig2\endcsname{1.15}
+\defcsname\??mathbig3\endcsname{1.45}
+\defcsname\??mathbig4\endcsname{1.75}
\permanent\protected\def\choosemathbig#1#2% so we accept \big{||} as well
{{\naturalhbox\bgroup
diff --git a/tex/context/base/mkxl/math-int.mkxl b/tex/context/base/mkxl/math-int.mkxl
index a8dcd3c95..462c6587b 100644
--- a/tex/context/base/mkxl/math-int.mkxl
+++ b/tex/context/base/mkxl/math-int.mkxl
@@ -57,11 +57,11 @@
% none
\fi}
-\letvalue{\??mathintegral nolimits}\zerocount
-\letvalue{\??mathintegral displaylimits}\plusone
-\letvalue{\??mathintegral limits}\plustwo
-\letvalue{\??mathintegral autolimits}\plusthree
-\letvalue{\??mathintegral none}\plusfour
+\letcsname\??mathintegral nolimits\endcsname\zerocount
+\letcsname\??mathintegral displaylimits\endcsname\plusone
+\letcsname\??mathintegral limits\endcsname\plustwo
+\letcsname\??mathintegral autolimits\endcsname\plusthree
+\letcsname\??mathintegral none\endcsname\plusfour
\appendtoks
\mathintlimitmode\executeifdefined{\??mathintegral\mathematicsparameter\s!integral}\zerocount
diff --git a/tex/context/base/mkxl/page-txt.mklx b/tex/context/base/mkxl/page-txt.mklx
index b03d704c8..ed7fbbd80 100644
--- a/tex/context/base/mkxl/page-txt.mklx
+++ b/tex/context/base/mkxl/page-txt.mklx
@@ -766,7 +766,7 @@
% this can be done better now, no meaning hackery needed
\edef\currentlayoutelement{\m_page_layouts_page_number_location_v:\m_page_layouts_page_number_location_h}%
\edef\tempstring{\detokenizedlayoutelementparameter\m_page_layouts_page_number_location_x}%
- \doif{\meaning\tempstring}{\meaning\page_layouts_place_page_number}
+ \doif{\normalmeaningless\tempstring}{\normalmeaningless\page_layouts_place_page_number}
{\resetlayoutelementparameter\m_page_layouts_page_number_location_x}%
\fi}
diff --git a/tex/context/base/mkxl/strc-syn.mkxl b/tex/context/base/mkxl/strc-syn.mkxl
index df573a7e9..c6a62e607 100644
--- a/tex/context/base/mkxl/strc-syn.mkxl
+++ b/tex/context/base/mkxl/strc-syn.mkxl
@@ -274,13 +274,29 @@
\frozen\instance\protected\defcsname\e!complete\e!listof#2\endcsname{\completelistofsynonyms[#1]}%
\fi}
-\permanent\tolerant\protected\def\definesynonym[#1]#*[#2]#*[#3]%
+% \abbreviation[XXX][321]{321}{Three, Two, One} : optional sort key
+
+\permanent\tolerant\protected\def\definesynonym[#1]#*[#2]#*[#3]#*[#4]% [yes][abbreviation][FOO]{foo}{foo me}
{\begingroup
\edef\currentsynonymoption{#1}%
\edef\currentsynonym{#2}%
\edef\currentsynonymtag{#3}%
+ \edef\currentsynonymsortkey{#4}%
\strc_synonyms_define_entry}
+% \installcorenamespace {synonymentry}
+%
+% \installsetuponlycommandhandler \??synonymentry {synonymentry}
+%
+% \permanent\tolerant\protected\def\setsynonym[#1]#*[#2]%
+% {\begingroup
+% \setupsynonymentry[#2]%
+% \edef\currentsynonym {#1}%
+% \edef\currentsynonymoption {\synonymentryparameter\c!option}%
+% \edef\currentsynonymtag {\synonymentryparameter\c!tag}%
+% \edef\currentsynonymsortkey{\synonymentryparameter\c!sortkey}%
+% \strc_synonyms_define_entry{\synonymentryparameter\c!text}{\synonymentryparameter\c!meaning}}
+
\def\strc_synonyms_define_entry#1#2%
{\let\currentsimplelist\currentsynonym
\ifempty\currentsynonymtag
@@ -305,6 +321,7 @@
}%
definition {%
tag {\currentsynonymtag}%
+ sortkey {\currentsynonymsortkey}%
synonym {\m_synonyms_text}%
meaning {\m_synonyms_meaning}%
% used false
diff --git a/tex/context/base/mkxl/tabl-tbl.mkxl b/tex/context/base/mkxl/tabl-tbl.mkxl
index 08f2ee4ad..a1601c23e 100644
--- a/tex/context/base/mkxl/tabl-tbl.mkxl
+++ b/tex/context/base/mkxl/tabl-tbl.mkxl
@@ -2162,6 +2162,23 @@
% \ruledvbox{\starttabulate[|k8|] \NC xxx \NC \NR \stoptabulate}
% \ruledvbox{\starttabulate[|l|l|] \NC xxx \NC xxx \NC \NR \stoptabulate}
+% \enabletrackers[localanchor]
+%
+% \startoverlayMPgraphic{mp:whatever-6}
+% draw anchorcell (1,1) withpen pencircle scaled 1pt withcolor "blue" ;
+% fill anchorspan (2,2) (3,5) withpen pencircle scaled 1pt withcolor "yellow" ;
+% draw anchorcell (2,2) withpen pencircle scaled 1pt withcolor "green" ;
+% draw anchorcell (3,3) withpen pencircle scaled 1pt withcolor "red" ;
+% \stopoverlayMPgraphic
+%
+% \starttabulate[synchronize=background,background=mp:whatever-6,format={|l|c|r|}]
+% \NC test \NC test \NC test \NC \NR
+% \NC test \NC test test \NC test \NC \NR
+% \NC test test \NC test \NC test \NC \NR
+% \NC test \NC test \NC test \NC \NR
+% \NC test \NC test \NC test test \NC \NR
+% \stoptabulate
+
\protected\def\tabl_tabulate_anchor_indeed
{\edef\xanchor{\number\c_tabl_tabulate_column}%
\edef\yanchor{\number\c_tabl_tabulate_nofrealrows}%
diff --git a/tex/context/base/mkxl/type-set.mkxl b/tex/context/base/mkxl/type-set.mkxl
index 4a22b59a5..ed282a140 100644
--- a/tex/context/base/mkxl/type-set.mkxl
+++ b/tex/context/base/mkxl/type-set.mkxl
@@ -59,81 +59,83 @@
\fi
-\definefilesynonym [type-imp-latin-modern.mkiv] [type-imp-latinmodern.mkiv]
-\definefilesynonym [type-imp-modern-latin.mkiv] [type-imp-modernlatin.mkiv]
-
-\definefilesynonym [type-imp-lucida.mkiv] [type-imp-lucida-typeone.mkiv]
-\definefilesynonym [type-imp-lucidaot.mkiv] [type-imp-lucida-opentype.mkiv]
-\definefilesynonym [type-imp-lucidadk.mkiv] [type-imp-lucida-opentype.mkiv]
-
-\definefilesynonym [type-imp-dejavu-condensed.mkiv] [type-imp-dejavu.mkiv]
-
-\definefilesynonym [type-imp-palatino.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-courier.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-avantgarde.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-helvetica.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-chancery.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-bookman.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-schoolbook.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-times.mkiv] [type-imp-texgyre.mkiv]
-
-\definefilesynonym [type-imp-cursor.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-adventor.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-heros.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-chorus.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-bonum.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-schola.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-pagella.mkiv] [type-imp-texgyre.mkiv]
-\definefilesynonym [type-imp-termes.mkiv] [type-imp-texgyre.mkiv]
-
-\definefilesynonym [type-imp-mscoretimes.mkiv] [type-imp-mscore.mkiv]
-\definefilesynonym [type-imp-mscorearial.mkiv] [type-imp-mscore.mkiv]
-\definefilesynonym [type-imp-mscorecourier.mkiv] [type-imp-mscore.mkiv]
-\definefilesynonym [type-imp-mscoreverdana.mkiv] [type-imp-mscore.mkiv]
-
-\definefilesynonym [type-imp-candara.mkiv] [type-imp-cleartype.mkiv]
-\definefilesynonym [type-imp-consolas.mkiv] [type-imp-cleartype.mkiv]
-\definefilesynonym [type-imp-constantia.mkiv] [type-imp-cleartype.mkiv]
-\definefilesynonym [type-imp-corbel.mkiv] [type-imp-cleartype.mkiv]
-\definefilesynonym [type-imp-calibri.mkiv] [type-imp-cleartype.mkiv]
-
-\definefilesynonym [type-imp-antykwa-poltawskiego.mkiv] [type-imp-antykwapoltawskiego.mkiv]
-
-%definefilesynonym [type-imp-mac.mkiv] [type-imp-osx.mkiv]
-%definefilesynonym [type-imp-win.mkiv] [type-imp-mscore.mkiv]
-
-\definefilesynonym [type-imp-eulernovum.mkiv] [type-imp-euler.mkiv]
-\definefilesynonym [type-imp-eulernova.mkiv] [type-imp-euler.mkiv]
-
-\definefilesynonym [type-imp-euler-with-pagella.mkiv] [type-imp-euler.mkiv]
-\definefilesynonym [type-imp-pagella-with-euler.mkiv] [type-imp-euler.mkiv]
-
-\definefilesynonym [type-imp-mdbch.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mdugm.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mdput.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mdici.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mdpgd.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mdpus.mkiv] [type-imp-mathdesign.mkiv]
-
-\definefilesynonym [type-imp-mathdesignch.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesigngm.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesignut.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesignci.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesigngd.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesignus.mkiv] [type-imp-mathdesign.mkiv]
-
-\definefilesynonym [type-imp-mathdesigncharter.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesigngaramond.mkiv] [type-imp-mathdesign.mkiv]
-\definefilesynonym [type-imp-mathdesignutopia.mkiv] [type-imp-mathdesign.mkiv]
-
-\definefilesynonym [type-imp-cows.mkiv] [type-imp-koeielettersot.mkiv]
-\definefilesynonym [type-imp-sheep.mkiv] [type-imp-koeielettersot.mkiv]
-\definefilesynonym [type-imp-coloredcows.mkiv] [type-imp-koeielettersot.mkiv]
-\definefilesynonym [type-imp-coloredsheep.mkiv] [type-imp-koeielettersot.mkiv]
-\definefilesynonym [type-imp-koeieletters.mkiv] [type-imp-koeielettersot.mkiv]
-
-\definefilesynonym [type-imp-stixtwo.mkiv] [type-imp-stix.mkiv]
-
-\definefilesynonym [type-imp-ibmplex.mkiv] [type-imp-plex.mkiv]
+\definefilesynonym [type-imp-latin-modern.mkiv] [type-imp-latinmodern.mkiv]
+\definefilesynonym [type-imp-modern-latin.mkiv] [type-imp-modernlatin.mkiv]
+
+\definefilesynonym [type-imp-lucida.mkiv] [type-imp-lucida-typeone.mkiv]
+\definefilesynonym [type-imp-lucidaot.mkiv] [type-imp-lucida-opentype.mkiv]
+\definefilesynonym [type-imp-lucidadk.mkiv] [type-imp-lucida-opentype.mkiv]
+
+\definefilesynonym [type-imp-dejavu-condensed.mkiv] [type-imp-dejavu.mkiv]
+
+\definefilesynonym [type-imp-palatino.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-courier.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-avantgarde.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-helvetica.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-chancery.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-bookman.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-schoolbook.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-times.mkiv] [type-imp-texgyre.mkiv]
+
+\definefilesynonym [type-imp-cursor.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-adventor.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-heros.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-chorus.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-bonum.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-schola.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-pagella.mkiv] [type-imp-texgyre.mkiv]
+\definefilesynonym [type-imp-termes.mkiv] [type-imp-texgyre.mkiv]
+
+\definefilesynonym [type-imp-mscoretimes.mkiv] [type-imp-mscore.mkiv]
+\definefilesynonym [type-imp-mscorearial.mkiv] [type-imp-mscore.mkiv]
+\definefilesynonym [type-imp-mscorecourier.mkiv] [type-imp-mscore.mkiv]
+\definefilesynonym [type-imp-mscoreverdana.mkiv] [type-imp-mscore.mkiv]
+
+\definefilesynonym [type-imp-candara.mkiv] [type-imp-cleartype.mkiv]
+\definefilesynonym [type-imp-consolas.mkiv] [type-imp-cleartype.mkiv]
+\definefilesynonym [type-imp-constantia.mkiv] [type-imp-cleartype.mkiv]
+\definefilesynonym [type-imp-corbel.mkiv] [type-imp-cleartype.mkiv]
+\definefilesynonym [type-imp-calibri.mkiv] [type-imp-cleartype.mkiv]
+
+\definefilesynonym [type-imp-antykwa-poltawskiego.mkiv] [type-imp-antykwapoltawskiego.mkiv]
+
+%definefilesynonym [type-imp-mac.mkiv] [type-imp-osx.mkiv]
+%definefilesynonym [type-imp-win.mkiv] [type-imp-mscore.mkiv]
+
+\definefilesynonym [type-imp-eulernovum.mkiv] [type-imp-euler.mkiv]
+\definefilesynonym [type-imp-eulernova.mkiv] [type-imp-euler.mkiv]
+
+\definefilesynonym [type-imp-euler-with-pagella.mkiv] [type-imp-euler.mkiv]
+\definefilesynonym [type-imp-pagella-with-euler.mkiv] [type-imp-euler.mkiv]
+
+\definefilesynonym [type-imp-mdbch.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mdugm.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mdput.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mdici.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mdpgd.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mdpus.mkiv] [type-imp-mathdesign.mkiv]
+
+\definefilesynonym [type-imp-mathdesignch.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesigngm.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesignut.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesignci.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesigngd.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesignus.mkiv] [type-imp-mathdesign.mkiv]
+
+\definefilesynonym [type-imp-mathdesigncharter.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesigngaramond.mkiv] [type-imp-mathdesign.mkiv]
+\definefilesynonym [type-imp-mathdesignutopia.mkiv] [type-imp-mathdesign.mkiv]
+
+\definefilesynonym [type-imp-cows.mkiv] [type-imp-koeielettersot.mkiv]
+\definefilesynonym [type-imp-sheep.mkiv] [type-imp-koeielettersot.mkiv]
+\definefilesynonym [type-imp-coloredcows.mkiv] [type-imp-koeielettersot.mkiv]
+\definefilesynonym [type-imp-coloredsheep.mkiv] [type-imp-koeielettersot.mkiv]
+\definefilesynonym [type-imp-koeieletters.mkiv] [type-imp-koeielettersot.mkiv]
+
+\definefilesynonym [type-imp-stixtwo.mkiv] [type-imp-stix.mkiv]
+
+\definefilesynonym [type-imp-ibmplex.mkiv] [type-imp-plex.mkiv]
+
+\definefilesynonym [type-imp-newcomputermodern-book.mkiv] [type-imp-newcomputermodern.mkiv]
\protect \endinput
diff --git a/tex/context/fonts/mkiv/type-imp-dejavu.mkiv b/tex/context/fonts/mkiv/type-imp-dejavu.mkiv
index 6da2daa89..092e1fde6 100644
--- a/tex/context/fonts/mkiv/type-imp-dejavu.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-dejavu.mkiv
@@ -44,7 +44,7 @@
\definefontsynonym [\s!MonoBoldItalic] [\s!name:dejavusansmonoboldoblique] [\s!features=\s!none,\s!fallbacks=\s!MonoBoldItalic]
\stoptypescript
- \starttypescript [\s!math][dejavu][\s!name]
+ \starttypescript [\s!math][dejavu] [\s!name]
\loadfontgoodies[dejavu-math]
\definefontsynonym[\s!MathRoman] [\s!file:texgyredejavu-math][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=dejavu-math]
\definefontsynonym[\s!MathRomanBold][\s!file:texgyredejavu-math][\s!features={\s!math\mathsizesuffix,dejavu-math-bold,mathextra},\s!goodies=dejavu-math]
@@ -83,10 +83,6 @@
\starttypescript [\s!mono] [dejavu-condensed] [\s!name]
\setups[\s!font:\s!fallback:\s!mono]
- % \definefontsynonym [\s!Mono] [\s!name:dejavusansmonocondensed] [\s!features=\s!none]
- % \definefontsynonym [\s!MonoBold] [\s!name:dejavusansmonoboldcondensed] [\s!features=\s!none]
- % \definefontsynonym [\s!MonoItalic] [\s!name:dejavusansmonoobliquecondensed] [\s!features=\s!none]
- % \definefontsynonym [\s!MonoBoldItalic] [\s!name:dejavusansmonoboldobliquecondensed] [\s!features=\s!none]
\definefontsynonym [\s!Mono] [\s!name:dejavusansmono] [\s!features=dejavu-condensed-mono]
\definefontsynonym [\s!MonoBold] [\s!name:dejavusansmonobold] [\s!features=dejavu-condensed-mono]
\definefontsynonym [\s!MonoItalic] [\s!name:dejavusansmonooblique] [\s!features=dejavu-condensed-mono]
@@ -105,7 +101,6 @@
\definetypeface [dejavu-condensed] [\s!rm] [\s!serif] [dejavu-condensed] [\s!default]
\definetypeface [dejavu-condensed] [\s!ss] [\s!sans] [dejavu-condensed] [\s!default]
\definetypeface [dejavu-condensed] [\s!tt] [\s!mono] [dejavu-condensed] [\s!default]
- % \definetypeface [dejavu-condensed] [\s!mm] [\s!math] [xits] [\s!default] [\s!rscale=1.2]
\definetypeface [dejavu-condensed] [\s!mm] [\s!math] [dejavu] [\s!default]
\stoptypescript
diff --git a/tex/context/fonts/mkiv/type-imp-newcomputermodern.mkiv b/tex/context/fonts/mkiv/type-imp-newcomputermodern.mkiv
new file mode 100644
index 000000000..536c90ede
--- /dev/null
+++ b/tex/context/fonts/mkiv/type-imp-newcomputermodern.mkiv
@@ -0,0 +1,93 @@
+%D \module
+%D [ file=type-imp-newcomputermodern,
+%D version=2021.06.08,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=NewComputerModern,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D There is something fishy with the books fonts. The otf files are twice as large
+%D as the normal ones but the tma's we filter from it are pretty close (mostly
+%D boundingbox differences). The streams are also of similar size so there must be
+%D something extra in there.
+
+% \definefontfallback[Serif] [file:notoserif-regular.ttf] [0x0000-0xFFFF] [check=yes,rscale=1.02]
+% \definefontfallback[SerifBold][file:notoserif-bold.ttf] [0x0000-0xFFFF] [check=yes,rscale=1.02]
+
+\starttypescriptcollection[newcomputermodern]
+
+ \doifunknownfontfeature {newcomputermodern-math-bold} {\definefontfeature[newcomputermodern-math-bold][boldened]}
+
+ \starttypescript [\s!serif] [newcomputermodern] [\s!name]
+ \setups[\s!font:\s!fallback:\s!serif]
+ \definefontsynonym [\s!Serif] [\s!file:newcm10-regular.otf] [\s!features=\s!default,\s!fallbacks=\s!Serif]
+ \definefontsynonym [\s!SerifBold] [\s!file:newcm10-bold.otf] [\s!features=\s!default,\s!fallbacks=\s!SerifBold]
+ \definefontsynonym [\s!SerifItalic] [\s!file:newcm10-italic.otf] [\s!features=\s!default,\s!fallbacks=\s!SerifItalic]
+ \definefontsynonym [\s!SerifBoldItalic] [\s!file:newcm10-bolditalic.otf] [\s!features=\s!default,\s!fallbacks=\s!SerifBoldItalic]
+ \stoptypescript
+
+ \starttypescript [\s!sans] [newcomputermodern] [\s!name]
+ \setups[\s!font:\s!fallback:\s!sans]
+ \definefontsynonym [\s!Sans] [\s!file:newcmsans10-regular.otf] [\s!features=\s!default,\s!fallbacks=\s!Sans]
+ \definefontsynonym [\s!SansBold] [\s!file:newcmsans10-bold.otf] [\s!features=\s!default,\s!fallbacks=\s!SansBold]
+ \definefontsynonym [\s!SansItalic] [\s!file:newcmsans10-oblique.otf] [\s!features=\s!default,\s!fallbacks=\s!SansItalic]
+ \definefontsynonym [\s!SansBoldItalic] [\s!file:newcmsans10-boldoblique.otf] [\s!features=\s!default,\s!fallbacks=\s!SansBoldItalic]
+ \stoptypescript
+
+ \starttypescript [\s!mono] [newcomputermodern] [\s!name]
+ \setups[\s!font:\s!fallback:\s!mono]
+ \definefontsynonym [\s!Mono] [\s!file:newcmmono10-regular.otf] [\s!features=\s!none,\s!fallbacks=\s!Mono]
+ \definefontsynonym [\s!MonoBold] [\s!file:newcmmono10-bold.otf] [\s!features=\s!none,\s!fallbacks=\s!MonoBold]
+ \definefontsynonym [\s!MonoItalic] [\s!file:newcmmono10-italic.otf] [\s!features=\s!none,\s!fallbacks=\s!MonoItalic]
+ \definefontsynonym [\s!MonoBoldItalic] [\s!file:newcmmono10-bolditalic.otf] [\s!features=\s!none,\s!fallbacks=\s!MonoBoldItalic]
+ \stoptypescript
+
+ \starttypescript [\s!math][newcomputermodern] [\s!name]
+ % \loadfontgoodies[newcomputermodern-math] ,\s!goodies=newcomputermodern-math
+ \definefontsynonym[\s!MathRoman] [\s!file:newcmmath-regular][\s!features={\s!math\mathsizesuffix,mathextra}]
+ \definefontsynonym[\s!MathRomanBold][\s!file:newcmmath-regular][\s!features={\s!math\mathsizesuffix,newcomputermodern-math-bold,mathextra}]
+ \stoptypescript
+
+ \starttypescript [\s!serif] [newcomputermodern-book] [\s!name]
+ \setups[\s!font:\s!fallback:\s!serif]
+ \definefontsynonym [\s!Serif] [\s!file:newcm10-book.otf] [\s!features=\s!default,\s!fallbacks=\s!Serif]
+ \definefontsynonym [\s!SerifBold] [\s!file:newcm10-bold.otf] [\s!features=\s!default,\s!fallbacks=\s!SerifBold]
+ \definefontsynonym [\s!SerifItalic] [\s!file:newcm10-bookitalic.otf] [\s!features=\s!default,\s!fallbacks=\s!SerifItalic]
+ \definefontsynonym [\s!SerifBoldItalic] [\s!file:newcm10-bolditalic.otf] [\s!features=\s!default,\s!fallbacks=\s!SerifBoldItalic]
+ \stoptypescript
+
+ \starttypescript [\s!sans] [newcomputermodern-book] [\s!name]
+ \setups[\s!font:\s!fallback:\s!sans]
+ \definefontsynonym [\s!Sans] [\s!file:newcmsans10-book.otf] [\s!features=\s!default,\s!fallbacks=\s!Sans]
+ \definefontsynonym [\s!SansBold] [\s!file:newcmsans10-bold.otf] [\s!features=\s!default,\s!fallbacks=\s!SansBold]
+ \definefontsynonym [\s!SansItalic] [\s!file:newcmsans10-bookoblique.otf] [\s!features=\s!default,\s!fallbacks=\s!SansItalic]
+ \definefontsynonym [\s!SansBoldItalic] [\s!file:newcmsans10-boldoblique.otf] [\s!features=\s!default,\s!fallbacks=\s!SansBoldItalic]
+ \stoptypescript
+
+ \starttypescript [\s!mono] [newcomputermodern-book] [\s!name]
+ \setups[\s!font:\s!fallback:\s!mono]
+ \definefontsynonym [\s!Mono] [\s!file:newcmmono10-book.otf] [\s!features=\s!none,\s!fallbacks=\s!Mono]
+ \definefontsynonym [\s!MonoBold] [\s!file:newcmmono10-bold.otf] [\s!features=\s!none,\s!fallbacks=\s!MonoBold]
+ \definefontsynonym [\s!MonoItalic] [\s!file:newcmmono10-bookitalic.otf] [\s!features=\s!none,\s!fallbacks=\s!MonoItalic]
+ \definefontsynonym [\s!MonoBoldItalic] [\s!file:newcmmono10-bolditalic.otf] [\s!features=\s!none,\s!fallbacks=\s!MonoBoldItalic]
+ \stoptypescript
+
+ \starttypescript [\s!math][newcomputermodern-book] [\s!name]
+ % \loadfontgoodies[newcomputermodern-math] ,\s!goodies=newcomputermodern-math
+ \definefontsynonym[\s!MathRoman] [\s!file:newcmmath-book][\s!features={\s!math\mathsizesuffix,mathextra}]
+ \definefontsynonym[\s!MathRomanBold][\s!file:newcmmath-book][\s!features={\s!math\mathsizesuffix,newcomputermodern-math-bold,mathextra}]
+ \stoptypescript
+
+ \starttypescript[newcomputermodern,newcomputermodern-book]
+ \definetypeface [\typescriptone] [\s!rm] [\s!serif] [\typescriptone] [\s!default]
+ \definetypeface [\typescriptone] [\s!ss] [\s!sans] [\typescriptone] [\s!default]
+ \definetypeface [\typescriptone] [\s!tt] [\s!mono] [\typescriptone] [\s!default]
+ \definetypeface [\typescriptone] [\s!mm] [\s!math] [\typescriptone] [\s!default]
+ \stoptypescript
+
+\stoptypescriptcollection
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 0f2a28228..5dc6b3f44 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-06-09 20:31
+-- merge date : 2021-06-10 23:09
do -- begin closure to overcome local limits and interference