summaryrefslogtreecommitdiff
path: root/tex/context
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2010-04-16 21:08:00 +0200
committerHans Hagen <pragma@wxs.nl>2010-04-16 21:08:00 +0200
commit5d4880ac91b0e605b3392d15dd7572489b92333e (patch)
tree8e0a6ef300fcee6646de8967f1d504a566026f4f /tex/context
parentf23cb4ae64dc24ea24aaa2d1fdf049756063cfff (diff)
downloadcontext-5d4880ac91b0e605b3392d15dd7572489b92333e.tar.gz
beta 2010.04.16 21:08
Diffstat (limited to 'tex/context')
-rw-r--r--tex/context/base/attr-ini.lua72
-rw-r--r--tex/context/base/colo-ini.lua13
-rw-r--r--tex/context/base/cont-new.tex2
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/font-ctx.lua10
-rw-r--r--tex/context/base/font-dum.lua10
-rw-r--r--tex/context/base/font-ini.mkiv2
-rw-r--r--tex/context/base/font-otf.lua2
-rw-r--r--tex/context/base/font-ott.lua12
-rw-r--r--tex/context/base/font-xtx.lua5
-rw-r--r--tex/context/base/l-lpeg.lua2
-rw-r--r--tex/context/base/lxml-tab.lua10
-rw-r--r--tex/context/base/m-punk.mkiv11
-rw-r--r--tex/context/base/m-punk.tex3
-rw-r--r--tex/context/base/metatex.tex27
-rw-r--r--tex/context/base/spac-ver.mkiv8
-rw-r--r--tex/context/base/tabl-tbl.mkiv36
-rw-r--r--tex/context/base/type-otf.mkiv2
-rw-r--r--tex/context/fonts/antykwa-math.lfg1
-rw-r--r--tex/context/fonts/charter-math.lfg1
-rw-r--r--tex/context/fonts/garamond-math.lfg1
-rw-r--r--tex/context/fonts/iwona-math.lfg1
-rw-r--r--tex/context/fonts/lm-math.lfg1
-rw-r--r--tex/context/fonts/mathtimes-math.lfg1
-rw-r--r--tex/context/fonts/utopia-math.lfg1
25 files changed, 189 insertions, 47 deletions
diff --git a/tex/context/base/attr-ini.lua b/tex/context/base/attr-ini.lua
index dd56e083a..81c2f4744 100644
--- a/tex/context/base/attr-ini.lua
+++ b/tex/context/base/attr-ini.lua
@@ -98,8 +98,7 @@ local registered = colors.registered
local numbers = attributes.numbers
local list = attributes.list
-local min = math.min
-local max = math.max
+local min, max, floor = math.min, math.max, math.floor
local nodeinjections = backends.nodeinjections
local codeinjections = backends.codeinjections
@@ -125,10 +124,77 @@ local function cmyktogray(c,m,y,k)
return rgbtogray(cmyktorgb(c,m,y,k))
end
+-- http://en.wikipedia.org/wiki/HSI_color_space
+-- http://nl.wikipedia.org/wiki/HSV_(kleurruimte)
+
+
+local function hsvtorgb(h,s,v)
+ -- h = h % 360
+ local hd = h/60
+ local hf = floor(hd)
+ local hi = hf % 6
+ -- local f = hd - hi
+ local f = hd - hf
+ local p = v * (1 - s)
+ local q = v * (1 - f * s)
+ local t = v * (1 - (1 - f) * s)
+ if hi == 0 then
+ return v, t, p
+ elseif hi == 1 then
+ return q, v, p
+ elseif hi == 2 then
+ return p, v, t
+ elseif hi == 3 then
+ return p, q, v
+ elseif hi == 4 then
+ return t, p, v
+ elseif hi == 5 then
+ return v, p, q
+ else
+ print("error in hsv -> rgb",hi,h,s,v)
+ end
+end
+
+function rgbtohsv(r,g,b)
+ local offset, maximum, other_1, other_2
+ if r >= g and r >= b then
+ offset, maximum, other_1, other_2 = 0, r, g, b
+ elseif g >= r and g >= b then
+ offset, maximum, other_1, other_2 = 2, g, b, r
+ else
+ offset, maximum, other_1, other_2 = 4, b, r, g
+ end
+ if maximum == 0 then
+ return 0, 0, 0
+ end
+ local minimum = other_1 < other_2 and other_1 or other_2
+ if maximum == minimum then
+ return 0, 0, maximum
+ end
+ local delta = maximum - minimum
+ return (offset + (other_1-other_2)/delta)*60, delta/maximum, maximum
+end
+
+function graytorgb(s) -- unweighted
+ return 1-s, 1-s, 1-s
+end
+
+function hsvtogray(h,s,v)
+ return rgb_to_gray(hsv_to_rgb(h,s,v))
+end
+
+function grayto_hsv(s)
+ return 0, 0, s
+end
+
colors.rgbtocmyk = rgbtocmyk
colors.rgbtogray = rgbtogray
colors.cmyktorgb = cmyktorgb
colors.cmyktogray = cmyktogray
+colors.rgbtohsv = rgbtohsv
+colors.hsvtorgb = hsvtorgb
+colors.hsvtogray = hsvtogray
+colors.graytohsv = graytohsv
-- we can share some *data by using s, rgb and cmyk hashes, but
-- normally the amount of colors is not that large; storing the
@@ -234,7 +300,7 @@ function colors.register(name, colorspace, ...) -- passing 9 vars is faster (but
local stamp = format(templates[colorspace],...)
local color = registered[stamp]
if not color then
- color = #values+1
+ color = #values + 1
values[color] = colors[colorspace](...)
registered[stamp] = color
-- colors.reviver(color)
diff --git a/tex/context/base/colo-ini.lua b/tex/context/base/colo-ini.lua
index 4546f5279..b92f7561f 100644
--- a/tex/context/base/colo-ini.lua
+++ b/tex/context/base/colo-ini.lua
@@ -191,15 +191,18 @@ function colors.defineprocesscolor(name,str,global,freeze) -- still inconsistent
local r = match(str,"^#(.+)$") -- for old times sake (if we need to feed from xml or so)
local t = (r and { h = r }) or settings_to_hash_strict(str)
if t then
- if t.h then
+ if t.v then
+ local r, g, b = colors.hsvtorgb(tonumber(t.h) or 0, tonumber(t.s) or 1, tonumber(t.v) or 1) -- maybe later native
+ definecolor(name, register_color(name,'rgb',r,g,b), global)
+ elseif t.h then
local r, g, b = match(t.h .. "000000","(..)(..)(..)") -- watch the 255
- definecolor(name, register_color(name,'rgb',(tonumber(r,16) or 0)/255,(tonumber(g,16) or 0)/255,(tonumber(b,16) or 0)/255 ), global)
+ definecolor(name, register_color(name,'rgb',(tonumber(r,16) or 0)/255,(tonumber(g,16) or 0)/255,(tonumber(b,16) or 0)/255), global)
elseif t.r or t.g or t.b then
- definecolor(name, register_color(name,'rgb', tonumber(t.r) or 0, tonumber(t.g) or 0, tonumber(t.b) or 0 ), global)
+ definecolor(name, register_color(name,'rgb', tonumber(t.r) or 0, tonumber(t.g) or 0, tonumber(t.b) or 0), global)
elseif t.c or t.m or t.y or t.k then
- definecolor(name, register_color(name,'cmyk',tonumber(t.c) or 0, tonumber(t.m) or 0, tonumber(t.y) or 0, tonumber(t.k) or 0), global)
+ definecolor(name, register_color(name,'cmyk',tonumber(t.c) or 0, tonumber(t.m) or 0, tonumber(t.y) or 0, tonumber(t.k) or 0), global)
else
- definecolor(name, register_color(name,'gray',tonumber(t.s) or 0), global)
+ definecolor(name, register_color(name,'gray',tonumber(t.s) or 0), global)
end
if t.a and t.t then
definetransparent(name, transparencies.register(name,transparent[t.a] or tonumber(t.a) or 1,tonumber(t.t) or 1), global)
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index 39f4b7e48..9999d79bd 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2010.04.13 16:57}
+\newcontextversion{2010.04.16 21:08}
%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/context.tex b/tex/context/base/context.tex
index 34cd917bc..bba0807fb 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2010.04.13 16:57}
+\edef\contextversion{2010.04.16 21:08}
%D For those who want to use this:
diff --git a/tex/context/base/font-ctx.lua b/tex/context/base/font-ctx.lua
index ef02f925c..f634e5806 100644
--- a/tex/context/base/font-ctx.lua
+++ b/tex/context/base/font-ctx.lua
@@ -489,11 +489,11 @@ fonts.get_digit_width = fonts.set_digit_width
-- soon to be obsolete:
-local loaded = { -- prevent double loading
- ["original-base.map" ] = true,
- ["original-ams-base.map" ] = true,
- ["original-ams-euler.map"] = true,
- ["original-public-lm.map"] = true,
+local loaded = { -- prevent loading (happens in cont-sys files)
+ ["original-base.map" ] = true,
+ ["original-ams-base.map" ] = true,
+ ["original-ams-euler.map"] = true,
+ ["original-public-lm.map"] = true,
}
function fonts.map.loadfile(name)
diff --git a/tex/context/base/font-dum.lua b/tex/context/base/font-dum.lua
index 8e13b5b1b..5ba8e6015 100644
--- a/tex/context/base/font-dum.lua
+++ b/tex/context/base/font-dum.lua
@@ -247,3 +247,13 @@ fonts.protrusions.setups['default'] = {
[0x06D4] = { 0, 1 }, -- arabic full stop ۔
}
+
+-- normalizer
+
+fonts.otf.meanings = fonts.otf.meanings or { }
+
+fonts.otf.meanings.normalize = fonts.otf.meanings.normalize or function(t)
+ if t.rand then
+ t.rand = "random"
+ end
+end
diff --git a/tex/context/base/font-ini.mkiv b/tex/context/base/font-ini.mkiv
index 02d793bc1..cbe9f2234 100644
--- a/tex/context/base/font-ini.mkiv
+++ b/tex/context/base/font-ini.mkiv
@@ -3421,7 +3421,7 @@
%D some typing:
\def\setfont% geen \dosetfont mogelijk
- {\def\next{\nextfont\setupinterlinespace}%
+ {\def\next{\nextfont\setupinterlinespace}% hm, we need to use \setuplocalinterlinespace
\afterassignment\next\font\nextfont=}
%D One can call this macro as:
diff --git a/tex/context/base/font-otf.lua b/tex/context/base/font-otf.lua
index 9aa1a3a1f..29c56cd00 100644
--- a/tex/context/base/font-otf.lua
+++ b/tex/context/base/font-otf.lua
@@ -247,6 +247,8 @@ function otf.load(filename,format,sub,featurefile)
logs.report("load otf","warning: %s",tostring(messages[m]))
end
end
+ else
+ logs.report("load otf","font loaded okay")
end
if ff then
load_featurefile(ff,featurefile)
diff --git a/tex/context/base/font-ott.lua b/tex/context/base/font-ott.lua
index 55cb734d6..d26c55f4b 100644
--- a/tex/context/base/font-ott.lua
+++ b/tex/context/base/font-ott.lua
@@ -682,6 +682,14 @@ for k, v in pairs(to_features) do
to_features[lower(k)] = v
end
+otf.meanings.checkers = {
+ rand = function(v)
+ return v and "random"
+ end
+}
+
+local checkers = otf.meanings.checkers
+
function otf.meanings.normalize(features)
local h = { }
for k,v in next, features do
@@ -710,7 +718,9 @@ function otf.meanings.normalize(features)
v = b
end
end
- h[to_features[k] or k] = v
+ k = to_features[k] or k
+ local c = checkers[k]
+ h[k] = c and c(v) or v
end
end
return h
diff --git a/tex/context/base/font-xtx.lua b/tex/context/base/font-xtx.lua
index 5a87d0c4f..eac75dd29 100644
--- a/tex/context/base/font-xtx.lua
+++ b/tex/context/base/font-xtx.lua
@@ -90,6 +90,8 @@ local option = spaces * (keyvalue + falsevalue + truevalue + somevalue) * sp
local options = lpeg.P(":") * spaces * (lpeg.P(";")^0 * option)^0
local pattern = (filename + fontname) * subvalue^0 * crapspec^0 * options^0
+local normalize_meanings = fonts.otf.meanings.normalize
+
function fonts.define.specify.colonized(specification) -- xetex mode
list = { }
lpegmatch(pattern,specification.specification)
@@ -112,7 +114,8 @@ function fonts.define.specify.colonized(specification) -- xetex mode
specification.sub = list.sub
list.sub = nil
end
- specification.features.normal = list
+-- specification.features.normal = list
+ specification.features.normal = normalize_meanings(list)
return specification
end
diff --git a/tex/context/base/l-lpeg.lua b/tex/context/base/l-lpeg.lua
index 2e366a904..f060f3b36 100644
--- a/tex/context/base/l-lpeg.lua
+++ b/tex/context/base/l-lpeg.lua
@@ -120,7 +120,7 @@ function string:checkedsplit(separator)
return match(c,self)
end
---~ function lpeg.L(list,pp)
+--~ function lpeg.append(list,pp)
--~ local p = pp
--~ for l=1,#list do
--~ if p then
diff --git a/tex/context/base/lxml-tab.lua b/tex/context/base/lxml-tab.lua
index b13e2a4ac..08466665e 100644
--- a/tex/context/base/lxml-tab.lua
+++ b/tex/context/base/lxml-tab.lua
@@ -145,7 +145,7 @@ element.</p>
local nsremap, resolvens = xml.xmlns, xml.resolvens
local stack, top, dt, at, xmlns, errorstr, entities = { }, { }, { }, { }, { }, nil, { }
-local strip, cleanup, utfize, resolve, keep = false, false, false, false, false
+local strip, cleanup, utfize, resolve, resolve_predefined = false, false, false, false, false
local dcache, hcache, acache = { }, { }, { }
local mt = { }
@@ -349,7 +349,7 @@ xml.parsedentitylpeg = parsedentity
local predefined = {
amp = "&",
lt = "<",
- gt = "<",
+ gt = ">",
quot = '"',
apos = "'",
}
@@ -358,7 +358,7 @@ local function handle_any_entity(str)
if resolve then
local a = acache[str] -- per instance ! todo
if not a then
- a = not keep and predefined[str]
+ a = resolve_predefined and predefined[str]
if a then
-- one of the predefined
elseif type(resolve) == "function" then
@@ -404,7 +404,7 @@ local function handle_any_entity(str)
if trace_entities then
logs.report("xml","found entity &%s;",str)
end
- a = not keep and predefined[str]
+ a = resolve_predefined and predefined[str]
if a then
-- one of the predefined
acache[str] = a
@@ -553,7 +553,7 @@ local function xmlconvert(data, settings)
strip = settings.strip_cm_and_dt
utfize = settings.utfize_entities
resolve = settings.resolve_entities
- keep = settings.keep_predefined_entities
+ resolve_predefined = settings.resolve_predefined_entities -- in case we have escaped entities
cleanup = settings.text_cleanup
stack, top, at, xmlns, errorstr, result, entities = { }, { }, { }, { }, nil, nil, settings.entities or { }
acache, hcache, dcache = { }, { }, { } -- not stored
diff --git a/tex/context/base/m-punk.mkiv b/tex/context/base/m-punk.mkiv
index 3b1baa75b..c2557f972 100644
--- a/tex/context/base/m-punk.mkiv
+++ b/tex/context/base/m-punk.mkiv
@@ -217,6 +217,17 @@ end
\definetypeface [punk] [rm] [serif] [punk] [default]
\stoptypescript
+\definefontfeature[punknova][mode=node,script=latn,rand=yes,kern=yes,liga=yes,tlig=yes]
+
+\starttypescript [serif] [punknova]
+ \setups[font:fallback:serif] % no style variants yet, actually it's a sans
+ \definefontsynonym [Serif] [file:punknova] [features=punknova]
+\stoptypescript
+
+\starttypescript [punknova]
+ \definetypeface [punknova] [rm] [serif] [punknova] [default]
+\stoptypescript
+
\endinput
\usetypescript[punk]
diff --git a/tex/context/base/m-punk.tex b/tex/context/base/m-punk.tex
new file mode 100644
index 000000000..fe7ec85cc
--- /dev/null
+++ b/tex/context/base/m-punk.tex
@@ -0,0 +1,3 @@
+% this file will disasppear but we need it as it is still in tex live
+
+\loadmarkfile{m-punk}
diff --git a/tex/context/base/metatex.tex b/tex/context/base/metatex.tex
index df674c11a..84c1268db 100644
--- a/tex/context/base/metatex.tex
+++ b/tex/context/base/metatex.tex
@@ -11,6 +11,10 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
+%D We can experiment here with runtime loading, id est no longer
+%D use a format. However, we still need a stub then but it could
+%D as well be luatools (mtxrun) itself then.
+
%D This format is just a minimal layer on top of the \LUATEX\
%D engine and will not provide high level functionality. It can
%D be used as basis for dedicated (specialized) macro packages.
@@ -35,9 +39,18 @@
\ifx\normalinput\undefined \let\normalinput\input \fi
-\def\loadcorefile#1{\normalinput#1\relax}
+\def\loadcorefile#1{\normalinput#1.tex \relax}
+\def\loadmarkfile#1{\normalinput#1.mkiv\relax}
+
+\loadcorefile{syst-ini}
+
+\ifnum\luatexversion<60 % also change message
+ \writestatus{!!!!}{Your luatex binary is too old, you need at least version 0.60!}
+ \expandafter\end
+\fi
+
+\newtoks\metatexversiontoks \metatexversiontoks\expandafter{\metatexversion} % at the lua end
-\loadcorefile{syst-ini} % some basic commands and allocations that are expected down the line
\loadcorefile{syst-pln} % plain tex initializations of internal registers (no further code)
\loadmarkfile{luat-cod} %
@@ -46,11 +59,11 @@
% needs stripping:
-\loadcorefile{catc-ini.mkiv} % catcode table management
-\loadcorefile{catc-act.tex} % active character definition mechanisms
-\loadcorefile{catc-def.tex} % some generic catcode tables
-\loadcorefile{catc-ctx.tex} % a couple of context specific tables but expected by later modules
-\loadcorefile{catc-sym.tex} % some definitions related to \letter<tokens>
+\loadmarkfile{catc-ini} % catcode table management
+\loadcorefile{catc-act} % active character definition mechanisms
+\loadcorefile{catc-def} % some generic catcode tables
+\loadcorefile{catc-ctx} % a couple of context specific tables but expected by later modules
+\loadcorefile{catc-sym} % some definitions related to \letter<tokens>
% helpers, maybe less
diff --git a/tex/context/base/spac-ver.mkiv b/tex/context/base/spac-ver.mkiv
index 22bad702d..a5b391a2f 100644
--- a/tex/context/base/spac-ver.mkiv
+++ b/tex/context/base/spac-ver.mkiv
@@ -2012,7 +2012,7 @@
\def\dodefinelines[#1][#2]%
{\getparameters[\??rg#1][\s!parent=\??rg,#2]%
- \setvalue{\e!start#1}{\dodoubleempty\dostartlines[#1]}%
+ \setvalue{\e!start#1}{\dostartlines[#1]}%
\setvalue{\e!stop #1}{\dostoplines}}
\def\setuplines
@@ -2024,18 +2024,16 @@
{\def\docommand##1{\getparameters[\??rg##1][#2]}%
\processcommacommand[#1]\docommand}}
-\def\dostartlines[#1][#2]%
+\def\dostartlines[#1]%
{\bgroup
\edef\currentlines{#1}%
- \ifsecondargument
- \getparameters[\??rg\currentlines][#2]%
- \fi
\linesparameter\c!before
\pushmacro\checkindentation
\whitespace
\begingroup
\dosetlinesattributes\c!style\c!color
\setupindenting[\linesparameter\c!indenting]%
+ \setupalign[\linesparameter\c!align]%
\typesettinglinestrue
\setupwhitespace[\v!none]%
\obeylines
diff --git a/tex/context/base/tabl-tbl.mkiv b/tex/context/base/tabl-tbl.mkiv
index 5718e6db4..400d8a659 100644
--- a/tex/context/base/tabl-tbl.mkiv
+++ b/tex/context/base/tabl-tbl.mkiv
@@ -175,6 +175,7 @@
\newif \ifframedtabulate
\newdimen \tabulatepwidth
+\newdimen \tabulatexwidth
\newdimen \tabulatewidth
\newdimen \tabulateunit
\newdimen \tabulatemaxpheight
@@ -318,6 +319,13 @@
\unexpanded\def\beforetabulateentry{\ignorespaces\tabulatehook}
\unexpanded\def\aftertabulateentry {\unskip\unskip\ifmmode\else\endgraf\fi}
+\unexpanded\def\beginreshapedtabulatepar
+ {\dowithnextbox
+ {\ctxlua{commands.doreshapeframedbox(\number\nextbox)}\ifvmode\unvbox\else\box\fi\nextbox}
+ \vbox\bgroup}
+
+\let\endreshapedtabulatepar\egroup
+
\def\dodosettabulatepreamble#1#2% only makes sense for many tabulates
{\normalexpanded{\!!toksa{\the\!!toksa
&\hskip\pretabskip\noexpand\pretabrule##&%
@@ -330,7 +338,7 @@
\noexpand\autotabulatetrue
\fi
\else
- \ifnum\tabulatemodus=\zeropoint
+ \ifnum\tabulatemodus=\zerocount
\hbox to
\else
\hsize
@@ -341,8 +349,11 @@
\noexpand\bbskip
\bgroup % we cannot combine the if because a cell may have only one ##
\noexpand#1%
+ \ifcase\tabulatereshape\else
+ \beginreshapedtabulatepar
+ \fi
\noexpand\ifnum\noexpand\tabulatetype=\plusone\noexpand\else
- \the\tabulatebmath
+ \the\tabulatebmath % maybe later?
\the\tabulatefont
\the\tabulatesettings
\the\tabulatebefore
@@ -358,6 +369,9 @@
\the\tabulateafter
\the\tabulateemath
\noexpand\fi
+ \ifcase\tabulatereshape\else
+ \endreshapedtabulatepar
+ \fi
\noexpand#2%
\egroup
\egroup
@@ -485,6 +499,8 @@
[ \v!fit=>\let\tabulatemodus\plusthree,
\v!fixed=>\let\tabulatemodus\plusthree
\tabulatenopbreaktrue,
+ \v!auto=>\let\tabulatemodus\plusthree
+ \let\tabulatereshape\plusone,
\s!unknown=>\tabulatewidth#1\relax]%
\ifnum\tabulatedimen=\plusone
\global\advance\tabulatepwidth\tabulatewidth
@@ -535,11 +551,12 @@
{\let\tabulatealign\@@tabulatealign
\let\tabulatemodus\zerocount
\let\tabulatedimen\zerocount
- \tabulatebefore \emptytoks
- \tabulateafter \emptytoks
- \tabulatebmath \emptytoks
- \tabulateemath \emptytoks
- \tabulatefont \emptytoks
+ \let\tabulatereshape\zerocount
+ \tabulatebefore\emptytoks
+ \tabulateafter\emptytoks
+ \tabulatebmath\emptytoks
+ \tabulateemath\emptytoks
+ \tabulatefont\emptytoks
\tabulatesettings\emptytoks
\global\advance\tabulatecolumns\plusone
\expandafter\let\csname\??tt:s:\the\tabulatecolumns\endcsname\donothing
@@ -1019,7 +1036,7 @@
\def\tabulatexeskipone{\par\egroup\egroup\glet\tabulatehook\dotabulatehook}
\def\tabulatebaselinecorrection
- {\def\dobaselinecorrection
+ {\def\dobaselinecorrection % todo: mkiv
{\vskip-\prevdepth
\vskip\strutdp
\vskip\strutdp}%
@@ -1241,6 +1258,7 @@
\totalnoftabulatelines\noftabulatelines
\minusnoftabulatelines\noftabulatelines
\global\tabulatepwidth\zeropoint
+ \global\tabulatexwidth\zeropoint
\global\tabulateequalfalse
\resettabulatepheight
\ifinsidesplitfloat
@@ -1309,7 +1327,7 @@
\ifnum\nofautotabulate>\zerocount
% so, even if the natural size is larger, in the final
% run, we force the calculated width
- \tabulatewidth\dimexpr\hsize-\wd0-\tabulatepwidth\relax
+ \tabulatewidth\dimexpr\hsize-\wd0-\tabulatepwidth-\tabulatexwidth\relax
\ifnum\nofautotabulate>\zerocount
\divide\tabulatewidth \nofautotabulate\relax
\fi
diff --git a/tex/context/base/type-otf.mkiv b/tex/context/base/type-otf.mkiv
index f2dcb71fe..d898a29c7 100644
--- a/tex/context/base/type-otf.mkiv
+++ b/tex/context/base/type-otf.mkiv
@@ -1688,11 +1688,9 @@
\stoptypescriptcollection
-
% \starttypescript [math] [hvmath]
% \definefontsynonym[MathRoman][hvmath@hvmath-math]
% \loadfontgoodies[hvmath-math]
% \stoptypescript
-
\protect \endinput
diff --git a/tex/context/fonts/antykwa-math.lfg b/tex/context/fonts/antykwa-math.lfg
index 70f63ca06..112a3f9a7 100644
--- a/tex/context/fonts/antykwa-math.lfg
+++ b/tex/context/fonts/antykwa-math.lfg
@@ -13,6 +13,7 @@ return {
"antt-mi.map",
"antt-sy.map",
"antt-ex.map",
+ "mkiv-base.map",
},
virtuals = {
["antykwa-math"] = {
diff --git a/tex/context/fonts/charter-math.lfg b/tex/context/fonts/charter-math.lfg
index 54403972d..9d061d1e0 100644
--- a/tex/context/fonts/charter-math.lfg
+++ b/tex/context/fonts/charter-math.lfg
@@ -7,6 +7,7 @@ return {
mathematics = {
mapfiles = {
"mdbch.map",
+ "mkiv-base.map",
},
virtuals = {
["charter-math"] = {
diff --git a/tex/context/fonts/garamond-math.lfg b/tex/context/fonts/garamond-math.lfg
index 6e762663f..a082f8a9d 100644
--- a/tex/context/fonts/garamond-math.lfg
+++ b/tex/context/fonts/garamond-math.lfg
@@ -7,6 +7,7 @@ return {
mathematics = {
mapfiles = {
"mdugm.map",
+ "mkiv-base.map",
},
virtuals = {
["garamond-math"] = {
diff --git a/tex/context/fonts/iwona-math.lfg b/tex/context/fonts/iwona-math.lfg
index c64fac7e5..f2fb69341 100644
--- a/tex/context/fonts/iwona-math.lfg
+++ b/tex/context/fonts/iwona-math.lfg
@@ -13,6 +13,7 @@ return {
"iwona-mi.map",
"iwona-sy.map",
"iwona-ex.map",
+ "mkiv-base.map",
},
virtuals = {
["iwona-math"] = {
diff --git a/tex/context/fonts/lm-math.lfg b/tex/context/fonts/lm-math.lfg
index f38886df0..361b5bb86 100644
--- a/tex/context/fonts/lm-math.lfg
+++ b/tex/context/fonts/lm-math.lfg
@@ -213,6 +213,7 @@ return {
mapfiles = {
"lm-math.map",
"lm-rm.map",
+ "mkiv-base.map",
},
virtuals = {
["lmroman5-math"] = five,
diff --git a/tex/context/fonts/mathtimes-math.lfg b/tex/context/fonts/mathtimes-math.lfg
index 58c24c86c..951cb6838 100644
--- a/tex/context/fonts/mathtimes-math.lfg
+++ b/tex/context/fonts/mathtimes-math.lfg
@@ -7,6 +7,7 @@ return {
mathematics = {
mapfiles = {
"mathtime.map",
+ "mkiv-base.map",
},
virtuals = {
["mathtimes-math"] = {
diff --git a/tex/context/fonts/utopia-math.lfg b/tex/context/fonts/utopia-math.lfg
index 05298396c..4074aa886 100644
--- a/tex/context/fonts/utopia-math.lfg
+++ b/tex/context/fonts/utopia-math.lfg
@@ -7,6 +7,7 @@ return {
mathematics = {
mapfiles = {
"mdput.map",
+ "mkiv-base.map",
},
virtuals = {
["utopia-math"] = {