diff options
author | Hans Hagen <pragma@wxs.nl> | 2010-04-16 21:08:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2010-04-16 21:08:00 +0200 |
commit | 5d4880ac91b0e605b3392d15dd7572489b92333e (patch) | |
tree | 8e0a6ef300fcee6646de8967f1d504a566026f4f /tex/context | |
parent | f23cb4ae64dc24ea24aaa2d1fdf049756063cfff (diff) | |
download | context-5d4880ac91b0e605b3392d15dd7572489b92333e.tar.gz |
beta 2010.04.16 21:08
Diffstat (limited to 'tex/context')
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"] = { |