diff options
Diffstat (limited to 'tex/context/fonts/mkiv')
28 files changed, 1280 insertions, 317 deletions
diff --git a/tex/context/fonts/mkiv/asana-math.lfg b/tex/context/fonts/mkiv/asana-math.lfg index 63e2aab69..0e8beb9e3 100644 --- a/tex/context/fonts/mkiv/asana-math.lfg +++ b/tex/context/fonts/mkiv/asana-math.lfg @@ -37,33 +37,6 @@ return { author = "Hans Hagen & Mikael Sundqvist", copyright = "ConTeXt development team", mathematics = { - tweaks = { - aftercopying = { - { - tweak = "version", - expected = "Version 000.958", - message = "this font is not supported", - }, - { - tweak = "dimensions", - list = { - -- nothing yet - } - }, - { - tweak = "fixprimes", - factor = 0.85, - scale = 0.65, - smaller = true, - }, - { - tweak = "checkspacing", - }, - { - tweak = "addscripts", - }, - }, - }, parameters = { -- DisplayOperatorMinHeight = 0, -- more -- StackBottomDisplayStyleShiftDown = 0, @@ -86,7 +59,46 @@ return { StretchStackGapAboveMin = less, StretchStackGapBelowMin = less, StretchStackTopShiftUp = less, - } + NoLimitSupFactor = 0, + NoLimitSubFactor = 1200, + AccentBaseDepth = 300, + }, + tweaks = { + aftercopying = { + { + tweak = "version", + expected = "Version 000.958", + message = "this font is not supported", + }, + { + tweak = "dimensions", + list = { + -- nothing yet + } + }, + -- { + -- tweak = "fixprimes", + -- factor = 0.85, + -- scale = 0.65, + -- smaller = true, + -- }, + { + tweak = "checkspacing", + }, + { + tweak = "addscripts", + }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, + }, + }, + bigslots = { + 1, 2, 3, 4 + }, } } diff --git a/tex/context/fonts/mkiv/bonum-math.lfg b/tex/context/fonts/mkiv/bonum-math.lfg index 65f51446a..af1df417d 100644 --- a/tex/context/fonts/mkiv/bonum-math.lfg +++ b/tex/context/fonts/mkiv/bonum-math.lfg @@ -24,6 +24,11 @@ return { author = "Hans Hagen & Mikael Sundqvist", copyright = "ConTeXt development team", mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + AccentBaseDepth = 50, + }, tweaks = { aftercopying = { { @@ -33,103 +38,146 @@ return { { tweak = "dimensions", list = { -- offset width italic - [0x00393] = { -0.05, 0.875, 0 }, -- \Gamma - [0x00394] = { -0.05, 0.875, 0 }, -- \Delta - [0x00398] = { -0.05, 0.9, 0 }, -- \Theta - [0x0039B] = { -0.075, 0.85, 0 }, -- \Lambda - [0x0039E] = { -0.075, 0.85, 0 }, -- \Xi - [0x003A0] = { -0.075, 0.85, 0 }, -- \Pi - [0x003A3] = { -0.075, 0.85, 0 }, -- \Sigma - [0x003A5] = { -0.075, 0.85, 0 }, -- \Upsilon - [0x003A6] = { -0.05, 0.9, 0 }, -- \Phi - [0x003A8] = { -0.05, 0.9, 0 }, -- \Psi - [0x003A9] = { -0.05, 0.9, 0 }, -- \Omega - [0x02202] = { -0.075, 0.825, 0 }, -- \partial - [0x1D436] = { -0.1, 1, 0 }, -- C - [0x1D43A] = { -0.1, 1, 0 }, -- G - [0x1D442] = { -0.1, 1, 0 }, -- O - [0x1D444] = { -0.05, 1.025, 0 }, -- Q - [0x1D445] = { -0.025, 1.05, 0 }, -- R - [0x1D446] = { -0.05, 1, 0 }, -- S - [0x1D447] = { -0.05, 1.05, 0.7 }, -- T - [0x1D448] = { -0.125, 1, 0.3 }, -- U - [0x1D449] = { -0.125, 1, 0.3 }, -- V - [0x1D44A] = { -0.075, 1, 0.3 }, -- W - [0x1D44B] = { 0.05, 1.1, 0.35 }, -- X - [0x1D44C] = { -0.075, 1.1, 0.35 }, -- Y - [0x1D44E] = { -0.05, 1.1, 0 }, -- a - [0x1D44F] = { -0.05, 1.1, 0 }, -- b - [0x1D450] = { -0.05, 1.1, 0 }, -- c - [0x1D451] = { -0.05, 1.1, 0 }, -- d - [0x1D452] = { -0.05, 1.1, 0 }, -- e - [0x1D453] = { 0.45, 1.85, 0.45 }, -- f - [0x1D454] = { 0.05, 1.1, 0 }, -- g - [0x0210E] = { -0.1, 1.05, 0 }, -- h - [0x1D456] = { -0.2, 1.1, 0 }, -- i - [0x1D457] = { 0.6, 1.7, 0.45 }, -- j - [0x1D458] = { -0.05, 1.1, 0 }, -- k - [0x1D459] = { -0.15, 1.1, 0 }, -- l - [0x1D45A] = { -0.05, 1, 0 }, -- m - [0x1D45B] = { -0.1, 1, 0 }, -- n - [0x1D45C] = { -0.05, 1.1, 0 }, -- o - [0x1D45D] = { 0, 1.05, 0 }, -- p - [0x1D45E] = { -0.05, 1.05, 0 }, -- q - [0x1D45F] = { -0.1, 1.15, 0 }, -- r - [0x1D460] = { -0.05, 1.05, 0 }, -- s - [0x1D461] = { -0.15, 1.1, 0 }, -- t - [0x1D462] = { -0.1, 1.05, 0 }, -- u - [0x1D463] = { -0.1, 1.05, 0 }, -- v - [0x1D464] = { -0.05, 1.05, 0 }, -- w - [0x1D465] = { 0, 1.175, 0 }, -- x - [0x1D466] = { -0.05, 1.05, 0 }, -- y - [0x1D467] = { -0.05, 1.1, 0 }, -- z - [0x1D6FC] = { -0.075, 0.825, 0 }, -- \alpha - [0x1D6FD] = { 0, 0.85, 0 }, -- \beta - [0x1D6FE] = { -0.075, 0.825, 0.05 }, -- \gamma - [0x1D6FF] = { -0.1, 0.8, 0 }, -- \delta - [0x1D716] = { -0.1, 0.8, 0 }, -- \epsilon - [0x1D700] = { -0.1, 0.8, 0 }, -- \varepsilon - [0x1D701] = { -0.1, 0.8, 0 }, -- \zeta - [0x1D702] = { -0.1, 0.8, 0 }, -- \eta - [0x1D703] = { -0.1, 0.8, 0 }, -- \theta - [0x1D717] = { -0.075, 0.85, 0 }, -- \vartheta - [0x1D704] = { -0.1, 0.8, 0 }, -- \iota - [0x1D705] = { -0.075, 0.825, 0 }, -- \kappa - [0x1D718] = { -0.075, 0.825, 0 }, -- \varkappa - [0x1D706] = { -0.075, 0.825, 0 }, -- \lambda - [0x1D707] = { -0.075, 0.825, 0 }, -- \mu - [0x1D708] = { -0.075, 0.825, 0 }, -- \nu - [0x1D709] = { -0.075, 0.825, 0 }, -- \xi - [0x1D70A] = { -0.075, 0.825, 0 }, -- \omicron - [0x1D70B] = { -0.075, 0.825, 0 }, -- \pi - [0x1D71B] = { -0.07, 0.85, 0 }, -- \varpi - [0x1D70C] = { -0.075, 0.85, 0 }, -- \rho - [0x1D71A] = { -0.075, 0.85, 0 }, -- \varrho - [0x1D70E] = { -0.075, 0.85, 0 }, -- \sigma - [0x1D70D] = { -0.075, 0.85, 0 }, -- \varsigma - [0x1D70F] = { -0.08, 0.825, 0 }, -- \tau - [0x1D710] = { -0.08, 0.825, 0 }, -- \upsilon - [0x1D719] = { -0.075, 0.85, 0 }, -- \phi - [0x1D711] = { -0.075, 0.85, 0 }, -- \varphi - [0x1D712] = { -0.075, 0.85, 0 }, -- \chi - [0x1D713] = { -0.075, 0.85, 0 }, -- \psi - [0x1D714] = { -0.05, 0.875, 0 }, -- \omega + [0x00393] = { -0.05, 0.875, 0 }, -- \Gamma + [0x00394] = { -0.05, 0.875, 0 }, -- \Delta + [0x00398] = { -0.05, 0.9, 0 }, -- \Theta + [0x0039B] = { -0.075, 0.85, 0 }, -- \Lambda + [0x0039E] = { -0.075, 0.85, 0 }, -- \Xi + [0x003A0] = { -0.075, 0.85, 0 }, -- \Pi + [0x003A3] = { -0.075, 0.85, 0 }, -- \Sigma + [0x003A5] = { -0.075, 0.85, 0 }, -- \Upsilon + [0x003A6] = { -0.05, 0.9, 0 }, -- \Phi + [0x003A8] = { -0.05, 0.9, 0 }, -- \Psi + [0x003A9] = { -0.05, 0.9, 0 }, -- \Omega + [0x02202] = { -0.075, 0.825, 0 }, -- \partial + [0x1D436] = { -0.1, 1, 0 }, -- C + [0x1D43A] = { -0.1, 1, 0 }, -- G + [0x1D442] = { -0.1, 1, 0 }, -- O + [0x1D444] = { -0.05, 1.025, 0 }, -- Q + [0x1D445] = { -0.025, 1.05, 0 }, -- R + [0x1D446] = { -0.05, 1, 0 }, -- S + [0x1D447] = { -0.05, 1.05, 0.7 }, -- T + [0x1D448] = { -0.125, 1, 0.3 }, -- U + [0x1D449] = { -0.125, 1, 0.3 }, -- V + [0x1D44A] = { -0.075, 1, 0.3 }, -- W + [0x1D44B] = { 0.05, 1.1, 0.35 }, -- X + [0x1D44C] = { -0.075, 1.1, 0.35 }, -- Y + [0x1D44E] = { -0.05, 1.1, 0, 0.8 }, -- a + [0x1D44F] = { -0.05, 1.1, 0 }, -- b + [0x1D450] = { -0.05, 1.1, 0, 0.9 }, -- c + [0x1D451] = { -0.05, 1.1, 0, 0.75 }, -- d + [0x1D452] = { -0.05, 1.1, 0, 0.9 }, -- e + [0x1D453] = { 0.45, 1.85, 0.45 }, -- f + [0x1D454] = { 0.05, 1.1, 0, 0.9 }, -- g + [0x0210E] = { -0.1, 1.05, 0, 1.15 }, -- h + [0x1D456] = { -0.2, 1.1, 0 }, -- i + [0x1D457] = { 0.6, 1.7, 0.45 }, -- j + [0x1D458] = { -0.05, 1.1, 0, 1.15 }, -- k + [0x1D459] = { -0.15, 1.1, 0, 0.8 }, -- l + [0x1D45A] = { -0.05, 1, 0 }, -- m + [0x1D45B] = { -0.1, 1, 0, 0.9 }, -- n + [0x1D45C] = { -0.05, 1.1, 0, 0.9 }, -- o + [0x1D45D] = { 0, 1.05, 0 }, -- p + [0x1D45E] = { -0.05, 1.05, 0, 0.9 }, -- q + [0x1D45F] = { -0.1, 1.15, 0, 0.9 }, -- r + [0x1D460] = { -0.05, 1.05, 0 }, -- s + [0x1D461] = { -0.15, 1.1, 0, 0.9 }, -- t + [0x1D462] = { -0.1, 1.05, 0, 0.85 }, -- u + [0x1D463] = { -0.1, 1.05, 0, 0.85 }, -- v + [0x1D464] = { -0.05, 1.05, 0, 0.95 }, -- w + [0x1D465] = { 0, 1.175, 0, 0.9 }, -- x + [0x1D466] = { -0.05, 1.05, 0 }, -- y + [0x1D467] = { -0.05, 1.1, 0, 0.9 }, -- z + [0x1D6FC] = { -0.075, 0.825, 0 }, -- \alpha + [0x1D6FD] = { 0, 0.85, 0, 1.1 }, -- \beta + [0x1D6FE] = { -0.075, 0.825, 0.05, 1.05 }, -- \gamma + [0x1D6FF] = { -0.1, 0.8, 0 }, -- \delta + [0x1D716] = { -0.1, 0.8, 0 }, -- \epsilon + [0x1D700] = { -0.1, 0.8, 0 }, -- \varepsilon + [0x1D701] = { -0.1, 0.8, 0 }, -- \zeta + [0x1D702] = { -0.1, 0.8, 0, 1.05 }, -- \eta + [0x1D703] = { -0.1, 0.8, 0 }, -- \theta + [0x1D717] = { -0.075, 0.85, 0, 1.03 }, -- \vartheta + [0x1D704] = { -0.1, 0.8, 0, 1.05 }, -- \iota + [0x1D705] = { -0.075, 0.825, 0 }, -- \kappa + [0x1D706] = { -0.075, 0.825, 0, 1.05 }, -- \lambda + [0x1D707] = { -0.075, 0.825, 0, 1.03 }, -- \mu + [0x1D708] = { -0.075, 0.825, 0, 1.03 }, -- \nu + [0x1D709] = { -0.075, 0.825, 0 }, -- \xi + [0x1D70A] = { -0.075, 0.825, 0, 1.03 }, -- \omicron + [0x1D70B] = { -0.075, 0.825, 0 }, -- \pi + [0x1D71B] = { -0.07, 0.85, 0 }, -- \varpi + [0x1D70C] = { -0.075, 0.85, 0 }, -- \rho + [0x1D71A] = { -0.075, 0.85, 0 }, -- \varrho + [0x1D70D] = { -0.075, 0.85, 0, 1.02 }, -- \varsigma + [0x1D70E] = { -0.075, 0.85, 0 }, -- \sigma + [0x1D70F] = { -0.08, 0.825, 0, 1.05 }, -- \tau + [0x1D710] = { -0.08, 0.825, 0, 1.03 }, -- \upsilon + [0x1D719] = { -0.075, 0.85, 0 }, -- \phi + [0x1D711] = { -0.075, 0.85, 0, 1.02 }, -- \varphi + [0x1D712] = { -0.075, 0.85, 0 }, -- \chi + [0x1D713] = { -0.075, 0.85, 0 }, -- \psi + [0x1D714] = { -0.05, 0.875, 0 }, -- \omega + -- [0x1D718] = { -0.075, 0.825, 0, 1.03 }, -- \varkappa + [0x1D719] = { -0.075, 0.85, 0 }, -- \phi + [0x1D41B] = { 0, 1, 0, 1.5 }, -- bold lowercase upright b + [0x1D41D] = { 0, 1, 0, 0.6 }, -- bold lowercase upright d + [0x1D41F] = { 0, 1.25, 0, 0.8 }, -- bold lowercase upright f + [0x1D420] = { 0, 1, 0, 0.6 }, -- bold lowercase upright g + [0x1D421] = { 0, 1, 0, 1.5 }, -- bold lowercase upright h + [0x1D424] = { 0, 1, 0, 1.5 }, -- bold lowercase upright k + [0x1D425] = { 0, 1, 0, 0.75 }, -- bold lowercase upright l + [0x1D42A] = { 0, 1, 0, 0.9 }, -- bold lowercase upright q + [0x1D42B] = { 0, 1, 0, 0.9 }, -- bold lowercase upright r + [0x1D42C] = { 0, 1, 0, 0.9 }, -- bold lowercase upright s + [0x1D482] = { 0, 1, 0, 0.9 }, -- bold lowercase italic a + [0x1D483] = { 0, 1, 0, 1.1 }, -- bold lowercase italic b + [0x1D484] = { 0, 1, 0, 0.95 }, -- bold lowercase italic c + [0x1D485] = { 0, 1, 0, 0.75 }, -- bold lowercase italic d + [0x1D486] = { 0, 1, 0, 0.95 }, -- bold lowercase italic e + [0x1D487] = { 0, 1, 0, 0.95 }, -- bold lowercase italic f + [0x1D488] = { 0, 1, 0, 0.9 }, -- bold lowercase italic g + [0x1D489] = { 0, 1, 0, 1.2 }, -- bold lowercase italic h + -- [0x1D48A] = { 0, 1, 0, 0.6 }, -- bold lowercase italic i + -- [0x1D48B] = { 0, 1, 0, 0.8 }, -- bold lowercase italic j + [0x1D48C] = { 0, 1, 0, 1.2 }, -- bold lowercase italic k + [0x1D48D] = { 0, 1, 0, 0.9 }, -- bold lowercase italic l + [0x1D492] = { 0, 1, 0, 0.85 }, -- bold lowercase italic q + [0x1D493] = { 0, 1, 0, 0.9 }, -- bold lowercase italic r + [0x1D497] = { 0, 1, 0, 0.9 }, -- bold lowercase italic v + [0x1D499] = { 0, 1, 0, 0.9 }, -- bold lowercase italic x + [0x1D49A] = { 0, 1, 0, 0.95 }, -- bold lowercase italic y + [0x1D49B] = { 0, 1, 0, 1.1 }, -- bold lowercase italic z + [0x1D743] = { 0, 1, 0, 1.7 }, -- bold lowercase italic greek xi }, }, { tweak = "fixprimes", - scale = 0.8, - smaller = true, - factor = 0.9, + -- scale = 0.8, + -- smaller = true, + factor = 1.1, }, { tweak = "addscripts", }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, + -- { + -- tweak = "fixanchors", + -- factor = .5, + -- }, }, }, alternates = { dotless = { feature = 'dtls', value = 1, comment = "Mathematical Dotless Forms" }, }, + bigslots = { + 1, 3, 5, 7 + }, -- -- experimental fixes for mkiv: -- diff --git a/tex/context/fonts/mkiv/cambria-math.lfg b/tex/context/fonts/mkiv/cambria-math.lfg index d641784d7..4fe564cea 100644 --- a/tex/context/fonts/mkiv/cambria-math.lfg +++ b/tex/context/fonts/mkiv/cambria-math.lfg @@ -32,34 +32,21 @@ local dimensions, kerns, kernpairs if CONTEXTLMTXMODE == 0 then end -local patches = fonts.handlers.otf.enhancers.patches - -local function patch(data,filename,threshold) - local m = data.metadata.math - if m then - local d = m.DisplayOperatorMinHeight or 0 - if d < threshold then - patches.report("DisplayOperatorMinHeight(%s -> %s)",d,threshold) - m.DisplayOperatorMinHeight = threshold - end - end -end - -patches.register("after","analyze math","cambria", function(data,filename) patch(data,filename,2800) end) -patches.register("after","analyze math","cambmath",function(data,filename) patch(data,filename,2800) end) - --- This is a runtime fix, but then we need to explicitly set --- the goodies parameter for the font. As a demonstration we --- we do both. - -local function FixDisplayOperatorMinHeight(value,target,original) - local o = original.mathparameters.DisplayOperatorMinHeight - if o < 2800 then - return 2800 * target.parameters.factor - else - return value -- already scaled - end -end +-- local patches = fonts.handlers.otf.enhancers.patches +-- +-- local function patch(data,filename,threshold) +-- local m = data.metadata.math +-- if m then +-- local d = m.DisplayOperatorMinHeight or 0 +-- if d < threshold then +-- patches.report("DisplayOperatorMinHeight(%s -> %s)",d,threshold) +-- m.DisplayOperatorMinHeight = threshold +-- end +-- end +-- end +-- +-- patches.register("after","analyze math","cambria", function(data,filename) patch(data,filename,2800) end) +-- patches.register("after","analyze math","cambmath",function(data,filename) patch(data,filename,2800) end) return { name = "cambria-math", @@ -68,19 +55,49 @@ return { author = "Hans Hagen", copyright = "ConTeXt development team", mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 1000, + DisplayOperatorMinHeight = 2800, + AccentBaseDepth = 300, + }, tweaks = { aftercopying = { { tweak = "dimensions", list = { - [0x1D43D] = { 0.25, 1.15, 0.2}, -- J + -- [0x00060] = { yoffset = -0.1 }, -- grave + -- [0x000B4] = { yoffset = -0.1 }, -- acute + -- [0x002C6] = { yoffset = -0.1 }, -- hat + -- [0x002DC] = { yoffset = -0.1 }, -- tilde + -- [0x000AF] = { yoffset = -0.1 }, -- bar + -- [0x002D8] = { yoffset = -0.15 }, -- breve + -- [0x002D9] = { yoffset = -0.15 }, -- dot + -- [0x000A8] = { yoffset = -0.1 }, -- ddot + [0x020DB] = { yoffset = -0.05 }, -- dddot + -- [0x002C7] = { yoffset = -0.1 }, -- check + [0x020D7] = { yoffset = -0.05 }, -- vec + -- [0x00300] = { yoffset = -0.12 , all=true }, -- widegrave + -- [0x00301] = { yoffset = -0.12 , all=true }, -- wideacute + -- [0x00302] = { yoffset = -0.12 , all=true }, -- widehat + -- [0x00303] = { yoffset = -0.12 , all=true }, -- widetilde + -- [0x00304] = { yoffset = -0.12 , all=true }, -- widebar + -- [0x00306] = { yoffset = -0.12 , all=true }, -- widebreve + [0x00307] = { yoffset = -0.025 , all=true }, -- widedot + [0x00308] = { yoffset = -0.025 , all=true }, -- wideddot + -- [0x020DB] = { yoffset = -0.1 , all=true }, -- widedddot + -- [0x0030A] = { yoffset = -0.12 , all=true }, -- widering + -- [0x0030C] = { yoffset = -0.12 , all=true }, -- widecheck + [0x1D43D] = { 0.25, 1.15, 0.2 }, -- J + [0x1D487] = { anchor = 0.8 }, -- bold lower case italic f + -- [0x1D487] = { 0, 1, 0, 1.3}, -- bold lower case italic f }, }, { tweak = "fixprimes", - scale = 0.7, - smaller = true, - factor = 0.8, + scale = 0.9, + -- smaller = true, + factor = 0.9, }, { tweak = "checkspacing", @@ -88,10 +105,27 @@ return { { tweak = "addscripts", }, + { + tweak = "accentdimensions", + list = { "over", "under" }, + -- list = { + -- [0x203E] = { factor = "over" }, -- overbar + -- [0x203E] = { factor = "under" }, -- underbar + -- [0x23DE] = { factor = "over" }, -- overbrace + -- [0x23DF] = { factor = "under" }, -- underbrace + -- [0x23DC] = { factor = "over" }, -- overparent + -- [0x23DD] = { factor = "under" }, -- underparent + -- [0x23B4] = { factor = "over" }, -- overbracket + -- [0x23B5] = { factor = "under" }, -- underbracket + -- } + }, + { + tweak = "addrules", + }, }, }, - parameters = { - DisplayOperatorMinHeight = FixDisplayOperatorMinHeight, + bigslots = { + 1, 2, 3, 4 }, -- -- experimental fixes for mkiv: diff --git a/tex/context/fonts/mkiv/concrete-math.lfg b/tex/context/fonts/mkiv/concrete-math.lfg new file mode 100644 index 000000000..ecd910eb0 --- /dev/null +++ b/tex/context/fonts/mkiv/concrete-math.lfg @@ -0,0 +1,29 @@ +-- this file might go away and is for experiments only + +return { + name = "concrete-math", + version = "1.00", + comment = "Goodies that complement concrete math.", + author = "Hans Hagen", + copyright = "ConTeXt development team", + mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + }, + tweaks = { + aftercopying = { + -- { + -- tweak = "fixprimes", + -- factor = 0.9, + -- }, + }, + }, + bigslots = { + 1, 2, 3, 4 + }, + }, + +} + + diff --git a/tex/context/fonts/mkiv/dejavu-math.lfg b/tex/context/fonts/mkiv/dejavu-math.lfg index f214f0bb5..3c262fab5 100644 --- a/tex/context/fonts/mkiv/dejavu-math.lfg +++ b/tex/context/fonts/mkiv/dejavu-math.lfg @@ -17,6 +17,12 @@ return { author = "Hans Hagen & Mikael Sundqvist", copyright = "ConTeXt development team", mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + FractionRuleThickness = 60, + AccentBaseDepth = 30, + }, tweaks = { aftercopying = { { @@ -26,15 +32,15 @@ return { { tweak = "dimensions", list = { - -- [0x1D449] = { 0, .8, .2 }, - -- [0x1D44A] = { 0, .8, .2 }, + -- [0x1D449] = { 0, .8, .2 }, + -- [0x1D44A] = { 0, .8, .2 }, ["0x1D449:0x1D44A"] = { 0, .8, .2 }, } }, { tweak = "fixprimes", - scale = 0.9, - smaller = true, + -- scale = 0.9, + -- smaller = true, factor = 0.8, }, { @@ -43,11 +49,20 @@ return { { tweak = "addscripts", }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, }, }, alternates = { dotless = { feature = 'dtls', value = 1, comment = "Mathematical Dotless Forms" }, }, + bigslots = { + 1, 3, 5, 7 + }, -- -- experimental fixes for mkiv: -- diff --git a/tex/context/fonts/mkiv/ebgaramond.lfg b/tex/context/fonts/mkiv/ebgaramond.lfg deleted file mode 100644 index 0e91141d4..000000000 --- a/tex/context/fonts/mkiv/ebgaramond.lfg +++ /dev/null @@ -1,87 +0,0 @@ -return { - name = "ebgaramond", - version = "1.00", - comment = "Goodies that complement ebgaramond.", - author = "Hans Hagen & Mikael Sundqvist", - copyright = "ConTeXt development team", - mathematics = { - tweaks = { - aftercopying = { - { - tweak = "version", - expected = "Version 2019-08-16", - }, - { - tweak = "dimensions", - list = { - -- offset width italic - [0x00393] = { 0.05, 1.05, 0.075 }, -- \Gamma - -- [0x003A6] = { 0.05, 1.05, 0 }, -- \Phi difficult! - [0x003A8] = { 0.05, 1.05, 0.075 }, -- \Psi - [0x02113] = { 0, 1, 0.075 }, -- \ell - [0x1D436] = { 0, 1, 0.05 }, -- C - [0x1D43D] = { 0.3, 1.4, 0.1 }, -- J - [0x1D44B] = { 0, 1, 0.05 }, -- X - [0x1D450] = { 0, 1.1, 0 }, -- c - [0x1D451] = { 0, 1, 0.05 }, -- d - [0x1D452] = { 0, 1.1, 0.05 }, -- e - [0x1D453] = { 0.15, 1.15, 0.1 }, -- f - [0x1D454] = { 0.1, 1.2, 0.1 }, -- g - [0xF0276] = { 0, 1.1, 0 }, -- h - [0x1D457] = { 0.2, 1.25, 0.05 }, -- j - [0x1D459] = { 0, 1, 0.05 }, -- l - [0x1D45D] = { 0.15, 1.15, 0 }, -- p - [0x1D45E] = { 0, 1.05, 0 }, -- q - [0x1D45F] = { 0, 1.05, 0 }, -- r - [0x1D461] = { 0, 1, 0.1 }, -- t - [0x1D465] = { 0.05, 1.1, 0.05 }, -- x - [0x1D466] = { 0.2, 1.2, 0 }, -- y - [0x1D6FD] = { 0.05, 1.1, 0.05 }, -- \beta - [0x1D6FE] = { 0, 1.05, 0 }, -- \gamma - [0x1D6FF] = { 0, 1, 0.1 }, -- \delta - [0x1D716] = { 0, 1.1, 0 }, -- \epsilon - [0x1D700] = { 0, 1.1, 0 }, -- \varepsilon - [0x1D701] = { 0, 1, 0.15 }, -- \zeta - [0x1D703] = { 0, 1, 0.1 }, -- \theta - [0x1D705] = { 0, 1, 0.1 }, -- \kappa - [0x1D706] = { 0.05, 1.1, 0 }, -- \lambda - [0x1D707] = { 0.05, 1.05, 0 }, -- \mu - [0x1D708] = { 0, 1.1, 0 }, -- \nu - [0x1D709] = { 0, 1.1, 0 }, -- \xi - [0x1D70B] = { 0, 1.05, 0 }, -- \pi - [0x1D70C] = { 0.2, 1.2, 0 }, -- \rho - [0x1D70E] = { 0, 1, 0.1 }, -- \sigma - [0x1D70F] = { 0.05, 1.05, 0.1 }, -- \tau - [0x1D712] = { 0.15, 1.2, 0.05 }, -- \chi - [0x1D713] = { 0.05, 1.05, 0.05 }, -- \psi - }, - }, - { - tweak = "fixprimes", - scale = 0.75, - smaller = true, - factor = 0.8, - fake = 0.75, - }, - { - tweak = "checkspacing", - }, - { - tweak = "addscripts", - }, - }, - }, - alternates = { - partial = { feature = 'ss02', value = 1, comment = "Curved partial" }, - semibold = { feature = 'ss04', value = 1, comment = "Semibold" }, - extrabold = { feature = 'ss05', value = 1, comment = "Extrabold" }, - hbar = { feature = 'ss06', value = 1, comment = "Horizontal bar for h-bar" }, - integral = { feature = 'ss07', value = 1, comment = "A more slanted integral sign" }, - tilde = { feature = 'ss09', value = 1, comment = "A tilde variant" }, - outbendingh = { feature = 'ss10', value = 1, comment = "Out-bending h" }, - largeoperators = { feature = 'ss11', value = 1, comment = "Larger operators" }, - }, - }, -} - - diff --git a/tex/context/fonts/mkiv/erewhon-math.lfg b/tex/context/fonts/mkiv/erewhon-math.lfg new file mode 100644 index 000000000..d5b576f76 --- /dev/null +++ b/tex/context/fonts/mkiv/erewhon-math.lfg @@ -0,0 +1,44 @@ +-- this file might go away and is for experiments only + +return { + name = "erewhon-math", + version = "1.00", + comment = "Goodies that complement erewhon math.", + author = "Hans Hagen", + copyright = "ConTeXt development team", + mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + AccentBaseHeight = 0, + AccentBaseDepth = 60, + }, + tweaks = { + aftercopying = { + { + tweak = "fixprimes", + factor = 0.9, + scale = 0.9, + }, + { + tweak = "checkspacing", + }, + { + tweak = "addscripts", + }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, + }, + }, + bigslots = { + 1, 2, 3, 4 + }, + }, + +} + + diff --git a/tex/context/fonts/mkiv/euler-math.lfg b/tex/context/fonts/mkiv/euler-math.lfg index 77b144754..cb3ec36a0 100644 --- a/tex/context/fonts/mkiv/euler-math.lfg +++ b/tex/context/fonts/mkiv/euler-math.lfg @@ -6,8 +6,7 @@ return { comment = "Goodies that complement euler math.", author = "Hans Hagen", copyright = "ConTeXt development team", - - mathematics = { + mathematics = { tweaks = { aftercopying = { { @@ -19,6 +18,9 @@ return { }, }, }, + bigslots = { + 1, 3, 5, 7 + }, }, diff --git a/tex/context/fonts/mkiv/garamond-math.lfg b/tex/context/fonts/mkiv/garamond-math.lfg new file mode 100644 index 000000000..b002cc942 --- /dev/null +++ b/tex/context/fonts/mkiv/garamond-math.lfg @@ -0,0 +1,133 @@ +return { + name = "ebgaramond", + version = "1.00", + comment = "Goodies that complement ebgaramond.", + author = "Hans Hagen & Mikael Sundqvist", + copyright = "ConTeXt development team", + mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 1200, + FractionRuleThickness = 60, + OverbarRuleThickness = 60, + -- RadicalRuleThickness = 60, + UnderbarRuleThickness = 60, + -- AccentBaseHeight = 0, + AccentBaseDepth = 75, + -- AccentTopShiftUp = -75, + -- FlattenedAccentTopShiftUp = -100, + }, + tweaks = { + aftercopying = { + { + tweak = "version", + expected = "Version 2019-08-16", + }, + { + tweak = "dimensions", + list = { + -- offset width italic + -- [0x00060] = { yoffset = -0.1 }, -- grave + -- [0x000B4] = { yoffset = -0.1 }, -- acute + [0x002C6] = { yoffset = -0.1 }, -- hat + [0x002DC] = { yoffset = -0.1 }, -- tilde + -- [0x000AF] = { yoffset = -0.1 }, -- bar + [0x002D8] = { yoffset = -0.15 }, -- breve + [0x002D9] = { yoffset = -0.15 }, -- dot + -- [0x000A8] = { yoffset = -0.1 }, -- ddot + [0x020DB] = { yoffset = -0.115 }, -- dddot + [0x002C7] = { yoffset = -0.1 }, -- check + [0x020D7] = { yoffset = -0.1 }, -- vec + [0x00300] = { yoffset = -0.12 , all=true }, -- widegrave + [0x00301] = { yoffset = -0.12 , all=true }, -- wideacute + [0x00302] = { yoffset = -0.12 , all=true }, -- widehat + [0x00303] = { yoffset = -0.12 , all=true }, -- widetilde + [0x00304] = { yoffset = -0.12 , all=true }, -- widebar + [0x00306] = { yoffset = -0.12 , all=true }, -- widebreve + [0x00307] = { yoffset = -0.12 , all=true }, -- widedot + [0x00308] = { yoffset = -0.12 , all=true }, -- wideddot + -- [0x020DB] = { yoffset = -0.1 , all=true }, -- widedddot + [0x0030A] = { yoffset = -0.12 , all=true }, -- widering + [0x0030C] = { yoffset = -0.12 , all=true }, -- widecheck + -- [0x002C6] = { scale=.85, yoffset = .1, width = .85, height = .935 }, -- hat + [0x00393] = { 0.05, 1.05, 0.075 }, -- \Gamma + -- [0x003A6] = { 0.05, 1.05, 0 }, -- \Phi difficult! + [0x003A8] = { 0.05, 1.05, 0.075 }, -- \Psi + [0x02113] = { 0, 1, 0.075 }, -- \ell + [0x1D436] = { 0, 1, 0.05 }, -- C + [0x1D43D] = { 0.3, 1.4, 0.1 }, -- J + [0x1D44B] = { 0, 1, 0.05 }, -- X + [0x1D44F] = { 0, 1, 0, 1.25 }, -- b + [0x1D450] = { 0, 1.1, 0 }, -- c + [0x1D451] = { 0, 1, 0.05, 0.8 }, -- d + [0x1D452] = { 0, 1.1, 0.05 }, -- e + [0x1D453] = { 0.15, 1.15, 0.1, 1.2 }, -- f + [0x1D454] = { 0.1, 1.2, 0.1 }, -- g + [0x0210E] = { 0, 1.1, 0, 1.4 }, -- h + [0x1D457] = { 0.2, 1.25, 0.05 }, -- j + [0x1D458] = { 0, 1, 0, 1.25 }, -- k + [0x1D459] = { 0, 1, 0.05 }, -- l + [0x1D45D] = { 0.15, 1.15, 0, 1.4 }, -- p + [0x1D45E] = { 0, 1.05, 0 }, -- q + [0x1D45F] = { 0, 1.05, 0 }, -- r + [0x1D461] = { 0, 1, 0.1 }, -- t + [0x1D465] = { 0.05, 1.1, 0.05 }, -- x + [0x1D466] = { 0.2, 1.2, 0, 1.35 }, -- y + [0x1D6FD] = { 0.05, 1.1, 0.05 }, -- \beta + [0x1D6FE] = { 0, 1.05, 0 }, -- \gamma + [0x1D6FF] = { 0, 1, 0.1 }, -- \delta + [0x1D716] = { 0, 1.1, 0 }, -- \epsilon + [0x1D700] = { 0, 1.1, 0 }, -- \varepsilon + [0x1D701] = { 0, 1, 0.15 }, -- \zeta + [0x1D703] = { 0, 1, 0.1 }, -- \theta + [0x1D705] = { 0, 1, 0.1 }, -- \kappa + [0x1D706] = { 0.05, 1.1, 0 }, -- \lambda + [0x1D707] = { 0.05, 1.05, 0 }, -- \mu + [0x1D708] = { 0, 1.1, 0 }, -- \nu + [0x1D709] = { 0, 1.1, 0 }, -- \xi + [0x1D70B] = { 0, 1.05, 0 }, -- \pi + [0x1D70C] = { 0.2, 1.2, 0 }, -- \rho + [0x1D70E] = { 0, 1, 0.1 }, -- \sigma + [0x1D70F] = { 0.05, 1.05, 0.1 }, -- \tau + [0x1D712] = { 0.15, 1.2, 0.05 }, -- \chi + [0x1D713] = { 0.05, 1.05, 0.05 }, -- \psi + }, + }, + { + tweak = "fixprimes", + scale = 0.9, + -- smaller = true, + factor = 0.9, + -- fake = 0.75, + }, + { + tweak = "checkspacing", + }, + { + tweak = "addscripts", + }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, + }, + }, + alternates = { + partial = { feature = 'ss02', value = 1, comment = "Curved partial" }, + semibold = { feature = 'ss04', value = 1, comment = "Semibold" }, + extrabold = { feature = 'ss05', value = 1, comment = "Extrabold" }, + hbar = { feature = 'ss06', value = 1, comment = "Horizontal bar for h-bar" }, + integral = { feature = 'ss07', value = 1, comment = "A more slanted integral sign" }, + tilde = { feature = 'ss09', value = 1, comment = "A tilde variant" }, + outbendingh = { feature = 'ss10', value = 1, comment = "Out-bending h" }, + largeoperators = { feature = 'ss11', value = 1, comment = "Larger operators" }, + }, + bigs = { + 1, 3, 5, 7 + }, + }, +} + + diff --git a/tex/context/fonts/mkiv/generic-math.lfg b/tex/context/fonts/mkiv/generic-math.lfg new file mode 100644 index 000000000..c14067cc5 --- /dev/null +++ b/tex/context/fonts/mkiv/generic-math.lfg @@ -0,0 +1,74 @@ +return { + name = "generic-math", + version = "1.00", + comment = "A starting point.", + author = "Hans Hagen", + copyright = "ConTeXt development team", + mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + AccentBaseDepth = 150, + PrimeRaisePercent = 25, + PrimeShiftUp = "SuperscriptShiftUp", + PrimeBaselineDropMax = "SuperscriptBaselineDropMax", + PrimeShiftUpCramped = "SuperscriptShiftUpCramped", + PrimeSpaceAfter = 0, + PrimeWidthPercent = 50, + SpaceBeforeScript = "SpaceAfterScript", + NoLimitSupFactor = 0, + NoLimitSubFactor = 0, + AccentTopShiftUp = 0, + AccentBottomShiftDown = 0, + AccentBaseDepth = 0, + AccentFlattenedBaseDepth = 0, + }, + tweaks = { + aftercopying = { + { + tweak = "dimensions", + list = { + -- whatever + }, + }, + { + tweak = "fixprimes", + factor = 0.85, -- accent base height + smaller = true, -- replace multiples + scale = 0.75, -- glyph scale + fake = 0.75, -- replace multiples with this width proportion + -- keep = true, -- keep the text size prime (aka minute) + }, + { + tweak = "checkspacing", + }, + { + tweak = "addscripts", + }, + { + tweak = "accentdimensions", + list = { "over", "under" }, + -- list = { + -- [0x203E] = { factor = "over" }, -- overbar + -- [0x203E] = { factor = "under" }, -- underbar + -- [0x23DE] = { factor = "over" }, -- overbrace + -- [0x23DF] = { factor = "under" }, -- underbrace + -- [0x23DC] = { factor = "over" }, -- overparent + -- [0x23DD] = { factor = "under" }, -- underparent + -- [0x23B4] = { factor = "over" }, -- overbracket + -- [0x23B5] = { factor = "under" }, -- underbracket + -- } + }, + { + tweak = "addrules", + }, + }, + }, + bigslots = { + 1, 2, 3, 4 + }, + alternates = { + -- italic = { feature = 'ss01', value = 1, comment = "Mathematical Alternative Lowercase Italic" }, + }, + }, +} diff --git a/tex/context/fonts/mkiv/kpfonts-math.lfg b/tex/context/fonts/mkiv/kpfonts-math.lfg index bdeadd25a..695a6af32 100644 --- a/tex/context/fonts/mkiv/kpfonts-math.lfg +++ b/tex/context/fonts/mkiv/kpfonts-math.lfg @@ -5,6 +5,12 @@ return { author = "Hans Hagen & Mikael Sundqvist", copyright = "ConTeXt development team", mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + -- AccentBaseHeight = 0, + AccentBaseDepth = 30, + }, tweaks = { aftercopying = { { @@ -17,26 +23,33 @@ return { -- whatever }, }, - { - tweak = "fixprimes", - factor = 0.85, -- accent base height - smaller = true, -- replace multiples - scale = 0.75, -- glyph scale - fake = 0.75, -- replace multiples with this width proportion - -- keep = true, -- keep the text size prime (aka minute) - }, + -- { + -- tweak = "fixprimes", + -- factor = 0.85, -- accent base height + -- smaller = true, -- replace multiples + -- scale = 0.75, -- glyph scale + -- fake = 0.75, -- replace multiples with this width proportion + -- -- keep = true, -- keep the text size prime (aka minute) + -- }, { tweak = "checkspacing", }, { tweak = "addscripts", }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, }, }, - parameters = { - }, alternates = { -- italic = { feature = 'ss01', value = 1, comment = "Mathematical Alternative Lowercase Italic" }, }, + bigslots = { + 1, 2, 3, 4 + }, }, } diff --git a/tex/context/fonts/mkiv/libertinus-math.lfg b/tex/context/fonts/mkiv/libertinus-math.lfg index 908d78eea..1cf22f4d0 100644 --- a/tex/context/fonts/mkiv/libertinus-math.lfg +++ b/tex/context/fonts/mkiv/libertinus-math.lfg @@ -11,6 +11,17 @@ return { author = "Hans Hagen & Mikael Sundqvist", copyright = "ConTeXt development team", mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 1000, + FractionRuleThickness = 50, + OverbarRuleThickness = 50, + -- RadicalRuleThickness = 50, + UnderbarRuleThickness = 50, + -- AccentBaseHeight = 0, + -- AccentTopShiftUp = 0, + AccentBaseDepth = 10, + }, tweaks = { aftercopying = { { @@ -20,14 +31,40 @@ return { { tweak = "dimensions", list = { - -- nothing yet + [0x00060] = { yoffset = -0.075 }, -- grave + [0x000B4] = { yoffset = -0.075 }, -- acute + [0x002C6] = { yoffset = -0.075 }, -- hat + [0x002DC] = { yoffset = -0.075 }, -- tilde + -- [0x000AF] = { yoffset = -0.1 }, -- bar + [0x002D8] = { yoffset = -0.075 }, -- breve + [0x002D9] = { yoffset = -0.05 }, -- dot + [0x000A8] = { yoffset = -0.02 }, -- ddot + [0x020DB] = { yoffset = -0.02 }, -- dddot + [0x002DA] = { yoffset = -0.1 }, -- ring + -- [0x002C7] = { yoffset = -0.1 }, -- check + [0x020D7] = { yoffset = -0.1 }, -- vec + [0x00300] = { yoffset = -0.1 , all=true }, -- widegrave + [0x00301] = { yoffset = -0.1 , all=true }, -- wideacute + [0x00302] = { yoffset = -0.1 , all=true }, -- widehat + [0x00303] = { yoffset = -0.09 , all=true }, -- widetilde + -- [0x00304] = { yoffset = -0.12 , all=true }, -- widebar + [0x00306] = { yoffset = -0.05 , all=true }, -- widebreve + [0x00307] = { yoffset = -0.02 , all=true }, -- widedot + [0x00308] = { yoffset = -0.02 , all=true }, -- wideddot + -- [0x020DB] = { yoffset = -0.1 , all=true }, -- widedddot + [0x0030A] = { yoffset = -0.12 , all=true }, -- widering + [0x0030C] = { yoffset = -0.04 , all=true }, -- widecheck + [0x1D44F] = { 0, 1, 0, 1.5 }, -- b + [0x1D451] = { 0, 1, 0, 1.2 }, -- d + [0x0210E] = { 0, 1, 0, 1.5 }, -- h + [0x1D458] = { 0, 1, 0, 1.5 }, -- k }, }, { tweak = "fixprimes", - scale = 0.8, - smaller = true, - factor = 0.85, + scale = 0.9, + -- smaller = true, + factor = 0.9, }, { tweak = "checkspacing", @@ -35,7 +72,16 @@ return { { tweak = "addscripts", }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, }, }, + bigslots = { + 1, 3, 5, 7 + }, }, } diff --git a/tex/context/fonts/mkiv/lm-math.lfg b/tex/context/fonts/mkiv/lm-math.lfg index a0fd2c21c..2f5a69e36 100644 --- a/tex/context/fonts/mkiv/lm-math.lfg +++ b/tex/context/fonts/mkiv/lm-math.lfg @@ -235,6 +235,10 @@ return { author = "Hans Hagen", copyright = "ConTeXt development team", mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + }, mapfiles = { "lm-math.map", "lm-rm.map", @@ -253,11 +257,5 @@ return { variables = { joinrelfactor = 3, -- default anyway }, - parameters = { -- test values - -- FactorA = 123.456, - -- FactorB = false, - -- FactorC = function(value,target,original) return 7.89 * target.factor end, - -- FactorD = "Hi There!", - }, } } diff --git a/tex/context/fonts/mkiv/lm.lfg b/tex/context/fonts/mkiv/lm.lfg index 243087850..58db0e3a4 100644 --- a/tex/context/fonts/mkiv/lm.lfg +++ b/tex/context/fonts/mkiv/lm.lfg @@ -64,15 +64,37 @@ return { { tweak = "dimensions", list = { - -- nothing yet + [0x00060] = { yoffset = -0.05 }, -- grave + [0x000B4] = { yoffset = -0.05 }, -- acute + [0x002C6] = { yoffset = -0.05 }, -- hat + [0x002DC] = { yoffset = -0.05 }, -- tilde + [0x000AF] = { yoffset = -0.1 }, -- bar + [0x002D8] = { yoffset = -0.05 }, -- breve + [0x002D9] = { yoffset = -0.05 }, -- dot + [0x000A8] = { yoffset = -0.05 }, -- ddot + [0x020DB] = { yoffset = -0.15 }, -- dddot (seem to hit some max) + [0x002DA] = { yoffset = -0.05 }, -- ring + [0x002C7] = { yoffset = -0.05 }, -- check + [0x020D7] = { yoffset = -0.05 }, -- vec + [0x00300] = { yoffset = -0.07 , all=true }, -- widegrave + [0x00301] = { yoffset = -0.07 , all=true }, -- wideacute + [0x00302] = { yoffset = -0.1 , all=true }, -- widehat + [0x00303] = { yoffset = -0.09 , all=true }, -- widetilde + [0x00304] = { yoffset = -0.1 , all=true }, -- widebar + [0x00306] = { yoffset = -0.07 , all=true }, -- widebreve + [0x00307] = { yoffset = -0.05 , all=true }, -- widedot + [0x00308] = { yoffset = -0.05 , all=true }, -- wideddot + [0x020DB] = { yoffset = -0.075 , all=true }, -- widedddot + [0x0030A] = { yoffset = -0.05 , all=true }, -- widering + [0x0030C] = { yoffset = -0.075 , all=true }, -- widecheck }, }, { tweak = "fixprimes", - factor = 0.85, - smaller = true, - scale = 0.70, - fake = 0.6, + factor = 1.05, + -- smaller = true, + scale = 0.9, + -- fake = 0.6, }, { tweak = "checkspacing", @@ -83,6 +105,12 @@ return { { tweak = "addscripts", }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, }, }, parameters = { @@ -95,7 +123,12 @@ return { end return o * target.parameters.factor end, + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + -- AccentBaseHeight = 0, + AccentBaseDepth = 50, }, + bigs = {1, 3, 5, 7}, -- -- experimental fixes for mkiv: -- diff --git a/tex/context/fonts/mkiv/lucida-opentype-math.lfg b/tex/context/fonts/mkiv/lucida-opentype-math.lfg index eff1603fb..769965386 100644 --- a/tex/context/fonts/mkiv/lucida-opentype-math.lfg +++ b/tex/context/fonts/mkiv/lucida-opentype-math.lfg @@ -25,17 +25,6 @@ local dimensions, kerns if CONTEXTLMTXMODE == 0 then end --- RadicalVerticalGap = 50 --- RadicalDisplayStyleVerticalGap = 175 - --- RadicalVerticalGap = 166 --- RadicalDisplayStyleVerticalGap = 345 - -local function FixRadicalDisplayStyleVerticalGap(value,target,original) - local o = original.mathparameters.RadicalVerticalGap -- 50 - return 2 * o * target.parameters.factor -end - return { name = "lucida-opentype-math", version = "1.00", @@ -43,6 +32,14 @@ return { author = "Hans Hagen & Mikael Sundqvist", copyright = "ConTeXt development team", mathematics = { + parameters = { + RadicalDisplayStyleVerticalGap = 100, + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + FractionRuleThickness = 55, + AccentBaseHeight = 650, + AccentBaseDepth = 150, + }, tweaks = { aftercopying = { { @@ -52,28 +49,40 @@ return { { tweak = "dimensions", list = { - -- nothing yet + -- these we fix here + ["0x23DC.parts.1"] = { xoffset = -0.075, height = .4, yoffset = -0.6 }, + ["0x23DC.parts.2"] = { height = .4, yoffset = -0.6 }, + ["0x23DC.parts.3"] = { xoffset = 0.075, height = .4, yoffset = -0.6 }, + ["0x23DD.parts.1"] = { xoffset = -0.075, depth = .8, yoffset = 0.2 }, + ["0x23DD.parts.2"] = { depth = .8, yoffset = 0.2 }, + ["0x23DD.parts.3"] = { xoffset = 0.075, depth = .8, yoffset = 0.2 }, + -- these are done later using the AccentBase* parameters + -- [0x23DC] = { height = .2, yoffset = -0.8 }, + -- [0x23DD] = { depth = .6, yoffset = 0.4 }, }, }, - { - tweak = "fixprimes", - factor = 0.8, -- accent base height - smaller = true, -- replace multiples - scale = 0.75, -- glyph scale - fake = 0.65, -- replace multiples with this width proportion - -- keep = true, -- keep the text size prime (aka minute) - }, + { + tweak = "fixprimes", + factor = 0.9, -- accent base height + -- smaller = true, -- replace multiples + scale = 1, -- glyph scale + -- fake = 0.65, -- replace multiples with this width proportion + -- keep = true, -- keep the text size prime (aka minute) + }, { tweak = "checkspacing", }, { tweak = "addscripts", }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, }, }, - parameters = { - RadicalDisplayStyleVerticalGap = FixRadicalDisplayStyleVerticalGap, - }, alternates = { italic = { feature = 'ss01', value = 1, comment = "Mathematical Alternative Lowercase Italic" }, arrow = { feature = 'ss02', value = 1, comment = "Mathematical Alternative Smaller Arrows" }, @@ -82,6 +91,9 @@ return { zero = { feature = 'ss05', value = 1, comment = "Mathematical Alternative Zero" }, partial = { feature = 'ss20', value = 1, comment = "Mathematical Alternative Upright Partial Differential" }, }, + bigslots = { + 1, 2, 3, 4 + }, -- -- experimental fixes for mkiv: -- diff --git a/tex/context/fonts/mkiv/minion-math.lfg b/tex/context/fonts/mkiv/minion-math.lfg index e4f42e18b..c80ade9be 100644 --- a/tex/context/fonts/mkiv/minion-math.lfg +++ b/tex/context/fonts/mkiv/minion-math.lfg @@ -51,6 +51,12 @@ return { { tweak = "addscripts", }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, }, }, -- diff --git a/tex/context/fonts/mkiv/newcomputermodern-math.lfg b/tex/context/fonts/mkiv/newcomputermodern-math.lfg new file mode 100644 index 000000000..db05cb947 --- /dev/null +++ b/tex/context/fonts/mkiv/newcomputermodern-math.lfg @@ -0,0 +1,311 @@ +-- In order to be able to use beta math fonts, we use our own file name and +-- always remap. + +local dimensions, kerns if CONTEXTLMTXMODE == 0 then + + local kern_150 = { bottomright = { { kern = -150 } } } + local kern_200 = { bottomright = { { kern = -200 } } } + + kerns = { + [0x1D449] = kern_150, -- + [0x1D44A] = kern_200, -- 𝑊 + } + + dimensions = { + -- always applied + -- default = { + -- }, + -- driven by 'mathdimensions' feature + default = { + -- the root is quite displaced + [0x221A] = { + -- 73, -960, 853, 40 + yoffset = 960 - 40, + height = 960, + depth = 40, + }, + -- [0xFE932] = { xoffset = 50, width = 290 }, -- used prime + -- [0x2032] = { xoffset = 50, width = 290 }, -- prime + }, + -- -- seems ok now -- + -- signs = { + -- -- [0x00B1] = { -- ± + -- -- height = 500, depth = 0, + -- -- }, + -- -- [0x2213] = { -- ∓ + -- -- height = 500, depth = 0, + -- -- }, + -- -- move in boundingbox + -- [0x00B1] = { -- ± + -- yoffset = 100, + -- }, + -- [0x2213] = { -- ∓ + -- yoffset = -100, + -- }, + -- }, + } + +end + + +return { + name = "newcomputermodern", + version = "1.00", + comment = "Goodies that complement newcomputermodern.", + author = "Hans Hagen & Mikael Sundqvist", + copyright = "ConTeXt development team", + mathematics = { + parameters = { + FractionNumeratorDisplayStyleShiftUp = function(value,target,original) + local o = original.mathparameters.FractionNumeratorDisplayStyleShiftUp + if o > 675 then + o = 600 + else + -- probably tuned + end + return o * target.parameters.factor + end, + NoLimitSupFactor = 0, + NoLimitSubFactor = 1200, + }, + tweaks = { + aftercopying = { + { + tweak = "version", + expected = "Version 1.958", + }, + { + tweak = "dimensions", + list = { + -- nothing yet + }, + }, + -- { + -- tweak = "fixprimes", + -- factor = 0.85, + -- smaller = true, + -- scale = 0.70, + -- fake = 0.6, + -- }, + { + tweak = "checkspacing", + }, + { + tweak = "fixradicals", + }, + { + tweak = "addscripts", + }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, + }, + }, + bigs = { + 1, 3, 5, 7 + }, + -- + -- experimental fixes for mkiv: + -- + dimensions = dimensions, + kerns = kerns, + }, + filenames = { + ["latinmodern-math-regular.otf"] = { + "latinmodern-math.otf", -- the beta + "lmmath-regular.otf", + "latinmodernmath-regular.otf", + "lmmath-regular.otf", + "lmodernmath-regular.otf", + "lmodern-math.otf", + }, + }, + designsizes = { + ["LMMathRoman-Regular"] = { + ["4pt"] = "LMMath5-Regular@lmroman5-math", + ["5pt"] = "LMMath5-Regular@lmroman5-math", + ["6pt"] = "LMMath6-Regular@lmroman6-math", + ["7pt"] = "LMMath7-Regular@lmroman7-math", + ["8pt"] = "LMMath8-Regular@lmroman8-math", + ["9pt"] = "LMMath9-Regular@lmroman9-math", + ["10pt"] = "LMMath10-Regular@lmroman10-math", + ["11pt"] = "LMMath10-Regular@lmroman10-math", + ["12pt"] = "LMMath12-Regular@lmroman12-math", + default = "LMMath10-Regular@lmroman10-math" + }, + ["LMMathRoman-Bold"] = { -- not yet ready + ["4pt"] = "LMMath5-Regular@lmroman5-math", + ["5pt"] = "LMMath5-Regular@lmroman5-math", + ["6pt"] = "LMMath6-Regular@lmroman6-math", + ["7pt"] = "LMMath7-Regular@lmroman7-math", + ["8pt"] = "LMMath8-Regular@lmroman8-math", + ["9pt"] = "LMMath9-Regular@lmroman9-math", + ["10pt"] = "LMMath10-Regular@lmroman10-math", + ["11pt"] = "LMMath10-Regular@lmroman10-math", + ["12pt"] = "LMMath12-Regular@lmroman12-math", + default = "LMMath10-Regular@lmroman10-math" + }, + ["LMRoman-Regular"] = { + ["4pt"] = "file:lmroman5-regular", + ["5pt"] = "file:lmroman5-regular", + ["6pt"] = "file:lmroman6-regular", + ["7pt"] = "file:lmroman7-regular", + ["8pt"] = "file:lmroman8-regular", + ["9pt"] = "file:lmroman9-regular", + ["10pt"] = "file:lmroman10-regular", + ["11pt"] = "file:lmroman10-regular", + ["12pt"] = "file:lmroman12-regular", + default = "file:lmroman10-regular", + }, + ["LMRoman-Bold"] = { + ["4pt"] = "file:lmroman5-bold", + ["5pt"] = "file:lmroman5-bold", + ["6pt"] = "file:lmroman6-bold", + ["7pt"] = "file:lmroman7-bold", + ["8pt"] = "file:lmroman8-bold", + ["9pt"] = "file:lmroman9-bold", + ["10pt"] = "file:lmroman10-bold", + ["11pt"] = "file:lmroman10-bold", + ["12pt"] = "file:lmroman12-bold", + default = "file:lmroman10-bold", + }, + ["LMRoman-Demi"] = { + default = "file:lmromandemi10-regular", + }, + ["LMRoman-Italic"] = { + ["4pt"] = "file:lmroman7-italic", + ["5pt"] = "file:lmroman7-italic", + ["6pt"] = "file:lmroman7-italic", + ["7pt"] = "file:lmroman7-italic", + ["8pt"] = "file:lmroman8-italic", + ["9pt"] = "file:lmroman9-italic", + ["10pt"] = "file:lmroman10-italic", + ["11pt"] = "file:lmroman10-italic", + ["12pt"] = "file:lmroman12-italic", + default = "file:lmroman10-italic", + }, + ["LMRoman-Oblique"] = { + ["4pt"] = "file:lmromanslant8-regular", + ["5pt"] = "file:lmromanslant8-regular", + ["6pt"] = "file:lmromanslant8-regular", + ["7pt"] = "file:lmromanslant8-regular", + ["8pt"] = "file:lmromanslant8-regular", + ["9pt"] = "file:lmromanslant9-regular", + ["10pt"] = "file:lmromanslant10-regular", + ["11pt"] = "file:lmromanslant10-regular", + ["12pt"] = "file:lmromanslant12-regular", + default = "file:lmromanslant10-regular", + }, + ["LMRoman-BoldItalic"] = { + default = "file:lmroman10-bolditalic", + }, + ["LMRoman-BoldOblique"] = { + default = "file:lmromanslant10-bold", + }, + ["LMRoman-DemiOblique"] = { + default = "file:lmromandemi10-oblique", + }, + ["LMRoman-CapsRegular"] = { + default = "file:lmromancaps10-regular", + }, + ["LMRoman-CapsOblique"] = { + default = "file:lmromancaps10-oblique", + }, + ["LMRoman-Dunhill"] = { + default = "file:lmromandunh10-regular", + }, + ["LMRoman-DunhillOblique"] = { + default = "file:lmromandunh10-oblique", + }, + ["LMRoman-Unslanted"] = { + default = "file:lmromanunsl10-regular", + }, + ["LMSans-Regular"] = { + ["8pt"] = "file:lmsans8-regular", + ["9pt"] = "file:lmsans9-regular", + ["10pt"] = "file:lmsans10-regular", + ["11pt"] = "file:lmsans10-regular", + ["12pt"] = "file:lmsans12-regular", + default = "file:lmsans10-regular", + }, + ["LMSans-Oblique"] = { + ["8pt"] = "file:lmsans8-oblique", + ["9pt"] = "file:lmsans9-oblique", + ["10pt"] = "file:lmsans10-oblique", + ["11pt"] = "file:lmsans10-oblique", + ["12pt"] = "file:lmsans12-oblique", + default = "file:lmsans10-oblique", + }, + ["LMSans-Bold"] = { + default = "file:lmsans10-bold", + }, + ["LMSans-BoldOblique"] = { + default = "file:lmsans10-boldoblique", + }, + ["LMSans-DemiCondensed"] = { + default = "file:lmsansdemicond10-regular", + }, + ["LMSans-DemiCondensedOblique"] = { + default = "file:lmsansdemicond10-oblique", + }, + ["LMTypewriter-Regular"] = { + ["8pt"] = "file:lmmono8-regular", + ["9pt"] = "file:lmmono9-regular", + ["10pt"] = "file:lmmono10-regular", + ["11pt"] = "file:lmmono10-regular", + ["12pt"] = "file:lmmono12-regular", + default = "file:lmmono10-regular", + }, + ["LMTypewriter-Light"] = { + default = "file:lmmonolt10-regular", + }, + ["LMTypewriter-Dark"] = { + default = "file:lmmonolt10-bold", + }, + ["LMTypewriter-Italic"] = { + default = "file:lmmono10-italic", + }, + ["LMTypewriter-LightOblique"] = { + default = "file:lmmonolt10-oblique", + }, + ["LMTypewriter-Oblique"] = { + default = "file:lmmonoslant10-regular", + }, + ["LMTypewriter-DarkOblique"] = { + default = "file:lmmonolt10-boldoblique", + }, + ["LMTypewriter-LightCondensed"] = { + default = "file:lmmonoltcond10-regular", + }, + ["LMTypewriter-LightCondensedOblique"] = { + default = "file:lmmonoltcond10-oblique", + }, + ["LMTypewriterVarWd-Regular"] = { + default = "file:lmmonoproplt10-regular", + }, + ["LMTypewriterVarWd-Oblique"] = { + default = "file:lmmonoproplt10-oblique", + }, + ["LMTypewriterVarWd-Light"] = { + default = "file:lmmonoprop10-regular", + }, + ["LMTypewriterVarWd-LightOblique"] = { + default = "file:lmmonoprop10-oblique", + }, + ["LMTypewriterVarWd-Dark"] = { + default = "file:lmmonoproplt10-bold", + }, + ["LMTypewriterVarWd-DarkOblique"] = { + default = "file:lmmonoproplt10-boldoblique", + }, + ["LMTypewriter-CapsRegular"] = { + default = "file:lmmonocaps10-regular", + }, + ["LMTypewriter-CapsOblique"] = { + default = "file:lmmonocaps10-oblique", + }, + } +} diff --git a/tex/context/fonts/mkiv/pagella-math.lfg b/tex/context/fonts/mkiv/pagella-math.lfg index 3ea465cf9..db2f30a0a 100644 --- a/tex/context/fonts/mkiv/pagella-math.lfg +++ b/tex/context/fonts/mkiv/pagella-math.lfg @@ -34,6 +34,13 @@ return { author = "Hans Hagen & Mikael Sundqvist", copyright = "ConTeXt development team", mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + AccentTopShiftUp = 30, + -- AccentBaseHeight = 0, + AccentBaseDepth = 80, + }, tweaks = { aftercopying = { { @@ -55,19 +62,63 @@ return { { tweak = "dimensions", list = { -- offset width italic - [0x1D453] = { 0.50, 1.70, 0.6 }, -- f - [0x1D454] = { 0.10, 1.15, 0.2 }, -- g - [0x1D70F] = { -.10, 1, 0 }, -- \tau - [0x1D712] = { 0.1, 1.2, 0.1 }, -- \chi - [0x1D713] = { -0.05, 0.95, 0.1 }, -- \psi + -- [0x002C6] = { scale=.85, yoffset = .1, width = .85, height = .935 }, -- hat + -- [0x00302] = { scale=.85, yoffset = .1, width = .85, height = .935 }, -- hat + -- [0x002C6] = { scale=.75, yoffset = .2, advance = .75, width = .75, height = .90 }, -- hat + -- [0x00302] = { scale=.75, yoffset = .2, advance = .75, width = .75, height = .90 }, -- hat + [0x00060] = { yoffset = -0.035 }, -- grave + [0x000B4] = { yoffset = -0.035 }, -- acute + [0x002C6] = { yoffset = -0.035 }, -- hat + [0x002DC] = { yoffset = -0.035 }, -- tilde + [0x000AF] = { yoffset = -0.05 }, -- bar + [0x002D8] = { yoffset = -0.035 }, -- breve + [0x002D9] = { yoffset = -0.035 }, -- dot + [0x000A8] = { yoffset = -0.05 }, -- ddot + [0x020DB] = { yoffset = -0.06 }, -- dddot + -- [0x002DA] = { yoffset = -0.05 }, -- ring + -- [0x002C7] = { yoffset = -0.05 }, -- check + [0x020D7] = { yoffset = -0.05 }, -- vec + -- [0x00300] = { yoffset = -0.07 , all=true }, -- widegrave + -- [0x00301] = { yoffset = -0.07 , all=true }, -- wideacute + [0x00302] = { yoffset = -0.02 , all=true }, -- widehat + [0x00303] = { yoffset = -0.02 , all=true }, -- widetilde + [0x00304] = { yoffset = -0.05 , all=true }, -- widebar + [0x00306] = { yoffset = -0.03 , all=true }, -- widebreve + [0x00307] = { yoffset = -0.03 , all=true }, -- widedot + [0x00308] = { yoffset = -0.03 , all=true }, -- wideddot + -- [0x020DB] = { yoffset = 0.0 , all=true }, -- widedddot + -- [0x0030A] = { yoffset = -0.05 , all=true }, -- widering + [0x0030C] = { yoffset = -0.03 , all=true }, -- widecheck + [0x1D44E] = { 0, 1, 0, 0.9 }, -- a + [0x1D44F] = { 0, 1, 0, 1.3 }, -- b + [0x1D450] = { 0, 1, 0, 0.9 }, -- c + [0x1D451] = { 0, 1, 0, 0.7 }, -- d + [0x1D452] = { 0, 1, 0, 0.9 }, -- e + [0x1D453] = { 0.50, 1.70, 0.6 }, -- f + [0x1D454] = { 0.10, 1.15, 0.2 }, -- g + [0x0210E] = { 0, 1, 0, 1.3 }, -- h + [0x1D458] = { 0, 1, 0, 1.3 }, -- k + [0x1D459] = { 0, 1, 0, 0.9 }, -- l + [0x1D45E] = { 0, 1, 0, 0.9 }, -- q + [0x1D463] = { 0, 1, 0, 1.25 }, -- v + [0x1D464] = { 0, 1, 0, 1.2 }, -- w + [0x1D6FE] = { 0, 1, 0, 1.2 }, -- \gamma + [0x1D706] = { 0, 1, 0, 1.05 }, -- \lambda + [0x1D70A] = { 0, 1, 0, 1.2 }, -- \omicron + [0x1D70D] = { 0, 1, 0, 1.2 }, -- \varsigma + [0x1D70E] = { 0, 1, 0, 1.1 }, -- \sigma + [0x1D70F] = { -.10, 1, 0, 0.95 }, -- \tau + [0x1D712] = { 0.1, 1.2, 0.1 }, -- \chi + [0x1D713] = { -0.05, 0.95, 0.1 }, -- \psi + [0x1D71D] = { 0, 1, 0, 0.7 }, -- \varpi }, }, { tweak = "fixprimes", - factor = 0.85, - smaller = true, - scale = 0.70, - fake = 0.65, + factor = 0.9, + -- smaller = true, + scale = 0.9, + -- fake = 0.65, }, { tweak = "checkspacing", @@ -75,8 +126,17 @@ return { { tweak = "addscripts", }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, }, }, + bigslots = { + 1, 3, 5, 7 + }, alternates = { dotless = { feature = 'dtls', value = 1, comment = "Mathematical Dotless Forms" }, }, diff --git a/tex/context/fonts/mkiv/schola-math.lfg b/tex/context/fonts/mkiv/schola-math.lfg index f2e6d2e9b..33efb6892 100644 --- a/tex/context/fonts/mkiv/schola-math.lfg +++ b/tex/context/fonts/mkiv/schola-math.lfg @@ -17,6 +17,12 @@ return { author = "Hans Hagen & Mikael Sundqvist", copyright = "ConTeXt development team", mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + -- AccentBaseHeight = 0, + AccentBaseDepth = 30, + }, tweaks = { aftercopying = { { @@ -31,9 +37,9 @@ return { }, { tweak = "fixprimes", - scale = 0.8, - smaller = true, - factor = 0.9, + scale = 0.85, + -- smaller = true, + factor = 1, }, { tweak = "checkspacing", @@ -41,8 +47,17 @@ return { { tweak = "addscripts", }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, }, }, + bigslots = { + 1, 3, 5, 7 + }, alternates = { dotless = { feature = 'dtls', value = 1, comment = "Mathematical Dotless Forms" }, }, diff --git a/tex/context/fonts/mkiv/stix-two-math.lfg b/tex/context/fonts/mkiv/stix-two-math.lfg index 4c382babb..d698167aa 100644 --- a/tex/context/fonts/mkiv/stix-two-math.lfg +++ b/tex/context/fonts/mkiv/stix-two-math.lfg @@ -20,6 +20,12 @@ return { -- todo = { feature = 'ss14', value = 1, comment = "" }, circled = { feature = 'ss16', value = 1, comment = "Mathematical Alternative Circled Operators" }, }, + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 1000, + -- AccentBaseHeight = 0, + AccentBaseDepth = 30, + }, tweaks = { aftercopying = { { @@ -29,14 +35,35 @@ return { { tweak = "dimensions", list = { - -- nothing yet + -- [0x00060] = { yoffset = -0.035 }, -- grave + -- [0x000B4] = { yoffset = -0.035 }, -- acute + -- [0x002C6] = { yoffset = -0.035 }, -- hat + -- [0x002DC] = { yoffset = -0.035 }, -- tilde + -- [0x000AF] = { yoffset = -0.05 }, -- bar + -- [0x002D8] = { yoffset = -0.035 }, -- breve + [0x002D9] = { yoffset = -0.02 }, -- dot + [0x000A8] = { yoffset = -0.02 }, -- ddot + [0x020DB] = { yoffset = 0.04 }, -- dddot + -- [0x002DA] = { yoffset = -0.05 }, -- ring + -- [0x002C7] = { yoffset = -0.05 }, -- check + [0x020D7] = { yoffset = -0.07 }, -- vec + -- [0x00300] = { yoffset = -0.07 , all=true }, -- widegrave + -- [0x00301] = { yoffset = -0.07 , all=true }, -- wideacute + -- [0x00302] = { yoffset = -0.02 , all=true }, -- widehat + -- [0x00303] = { yoffset = -0.02 , all=true }, -- widetilde + -- [0x00304] = { yoffset = -0.05 , all=true }, -- widebar + -- [0x00306] = { yoffset = -0.03 , all=true }, -- widebreve + -- [0x00307] = { yoffset = -0.03 , all=true }, -- widedot + -- [0x00308] = { yoffset = -0.03 , all=true }, -- wideddot + -- [0x020DB] = { yoffset = 0.0 , all=true }, -- widedddot + -- [0x0030A] = { yoffset = -0.05 , all=true }, -- widering }, }, { tweak = "fixprimes", - scale = 0.7, - smaller = true, - factor = 0.85, + scale = 1, + -- smaller = true, + factor = 1, }, { tweak = "checkspacing", @@ -44,8 +71,17 @@ return { { tweak = "addscripts", }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, }, }, + bigslots = { + 1, 3, 5, 7 + }, }, } diff --git a/tex/context/fonts/mkiv/termes-math.lfg b/tex/context/fonts/mkiv/termes-math.lfg index fe6cc7956..2ad93c30b 100644 --- a/tex/context/fonts/mkiv/termes-math.lfg +++ b/tex/context/fonts/mkiv/termes-math.lfg @@ -25,6 +25,12 @@ return { author = "Hans Hagen & Mikael Sundqvist", copyright = "ConTeXt development team", mathematics = { + parameters = { + NoLimitSupFactor = 0, + NoLimitSubFactor = 900, + -- AccentBaseHeight = 0, + AccentBaseDepth = 50, + }, tweaks = { aftercopying = { { @@ -34,16 +40,27 @@ return { { tweak = "dimensions", list = { - [0x1D453] = { 0.6, 1.4, 1.2 }, -- f - [0x1D457] = { 0.5, 1.3, 1.7 }, -- j - [0x1D45D] = { 0.15, 1.15, 0 }, -- p + [0x1D44F] = { 0, 1, 0, 1.3 }, -- b + [0x1D451] = { 0, 1, 0, 0.8 }, -- d + [0x1D452] = { 0, 1, 0, 0.9 }, -- e + [0x0210E] = { 0, 1, 0, 1.3 }, -- h + [0x1D458] = { 0, 1, 0, 1.3 }, -- k + [0x1D453] = { 0.6, 1.4, 1.2, 1.5 }, -- f + [0x1D457] = { 0.5, 1.3, 1.7 }, -- j + [0x1D45D] = { 0.15, 1.15, 0, 1.4 }, -- p + [0x1D45E] = { 0, 1, 0, 0.9 }, -- q + [0x1D464] = { 0, 1, 0, 1.1 }, -- w + [0x1D6FE] = { 0, 1, 0, 1.1 }, -- \gamma + [0x1D706] = { 0, 1, 0, 1.05 }, -- \lambda + [0x1D70A] = { 0, 1, 0, 1.2 }, -- \omicron + [0x1D70F] = { 0, 1, 0, 1.05 }, -- \tau }, }, { tweak = "fixprimes", - scale = 0.7, - smaller = true, - factor = 0.9, + scale = 0.85, + -- smaller = true, + factor = 0.95, }, { tweak = "checkspacing", @@ -51,8 +68,17 @@ return { { tweak = "addscripts", }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, }, }, + bigslots = { + 1, 3, 5, 7 + }, alternates = { dotless = { feature = 'dtls', value = 1, comment = "Mathematical Dotless Forms" }, }, diff --git a/tex/context/fonts/mkiv/tx-math.lfg b/tex/context/fonts/mkiv/tx-math.lfg index 58467129e..1acebfd5b 100644 --- a/tex/context/fonts/mkiv/tx-math.lfg +++ b/tex/context/fonts/mkiv/tx-math.lfg @@ -13,13 +13,13 @@ return { { name = "texgyretermes-regular.otf", features = "virtualmath", main = true }, { name = "texgyretermes-regular.otf", features = "virtualmath", vector = "tex-mr-missing" }, { name = "rtxr.tfm", vector = "tex-mr" }, - { name = "rtxptmri.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "rtxmi.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "txsy.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, + { name = "rtxptmri.tfm", vector = "tex-it", skewchar = 0x7F }, + { name = "rtxmi.tfm", vector = "tex-mi", skewchar = 0x7F }, + { name = "txsy.tfm", vector = "tex-sy", skewchar = 0x30, parameters = true }, { name = "txex.tfm", vector = "tex-ex", extension = true }, { name = "txsya.tfm", vector = "tex-ma" }, { name = "txsyb.tfm", vector = "tex-mb" }, - { name = "texgyretermes-bold.otf", vector = "tex-bf", skewchar=0x7F }, + { name = "texgyretermes-bold.otf", vector = "tex-bf", skewchar = 0x7F }, { name = "texgyretermes-bolditalic.otf", vector = "tex-bi" }, { name = "lmsans10-regular.otf", vector = "tex-ss", optional=true }, { name = "lmmono10-regular.otf", vector = "tex-tt", optional=true }, diff --git a/tex/context/fonts/mkiv/type-imp-concrete.mkiv b/tex/context/fonts/mkiv/type-imp-concrete.mkiv new file mode 100644 index 000000000..72b0141a5 --- /dev/null +++ b/tex/context/fonts/mkiv/type-imp-concrete.mkiv @@ -0,0 +1,51 @@ +%\loadtypescriptfile[texgyre] +%\resetfontfallback [concrete-euler-fix] +%\definefontfallback[concrete-euler-fix][texgyrepagella-math] [0x022EE,0x022F0,0x022F1,0x02661,0x02220][force=yes] + + +\starttypescriptcollection[concrete] + + %\definefontfeature[default-slanted-concrete][default][slant=.2] + %\definefontfeature[none-slanted-concrete] [none] [slant=.2] + + \starttypescript [\s!serif] [concrete-serif] + \definefontsynonym [\s!Serif] [\s!file:cmunorm] [\s!features=\s!default] + \definefontsynonym [\s!SerifItalic] [\s!file:cmunoti] [\s!features=\s!default] + \definefontsynonym [\s!SerifSlanted] [\s!file:cmunorm] [\s!features=default-slanted-concrete] + \definefontsynonym [\s!SerifBold] [\s!file:cmunobx] [\s!features=\s!default] + \definefontsynonym [\s!SerifBoldItalic] [\s!file:cmunobi] [\s!features=\s!default] + \definefontsynonym [\s!SerifBoldSlanted][\s!file:cmunobx] [\s!features=default-slanted-concrete] + \stoptypescript + + \starttypescript [\s!sans] [concrete-sans] + \definefontsynonym [\s!Sans] [\s!file:cmunss] [\s!features=\s!default] + \definefontsynonym [\s!SansItalic] [\s!file:cmunsi] [\s!features=\s!default] + \definefontsynonym [\s!SansSlanted] [\s!file:cmunss] [\s!features=default-slanted-concrete] + \definefontsynonym [\s!SansBold] [\s!file:cmunsx] [\s!features=\s!default] + \definefontsynonym [\s!SansBoldItalic] [\s!file:cmunso] [\s!features=\s!default] + \definefontsynonym [\s!SansBoldSlanted] [\s!file:cmunsx] [\s!features=default-slanted-concrete] + \stoptypescript + + \starttypescript [\s!mono] [concrete-mono] + \definefontsynonym [\s!Mono] [\s!file:cmuntt] [\s!features=\s!none] + \definefontsynonym [\s!MonoItalic] [\s!file:cmunit] [\s!features=\s!none] + \definefontsynonym [\s!MonoSlanted] [\s!file:cmunst] [\s!features=\s!none] + \definefontsynonym [\s!MonoBold] [\s!file:cmuntb] [\s!features=\s!none] + \definefontsynonym [\s!MonoBoldItalic] [\s!file:cmuntx] [\s!features=\s!none] + \definefontsynonym [\s!MonoBoldSlanted] [\s!file:cmuntb] [\s!features=none-slanted-concrete] + \stoptypescript + + \starttypescript [\s!math] [concrete-math] [\s!name] + \loadfontgoodies[concrete-math] + \definefontsynonym[\s!MathRoman] [\s!file:Concrete-Math.otf] [\s!features=\s!math\mathsizesuffix,\s!goodies=concrete-math] + \stoptypescript + + \starttypescript [concrete] + \definetypeface [concrete] [\s!rm] [\s!serif] [concrete-serif] [\s!default] + \definetypeface [concrete] [\s!ss] [\s!sans] [concrete-sans] [\s!default] + \definetypeface [concrete] [\s!tt] [\s!mono] [concrete-mono] [\s!default] + \definetypeface [concrete] [\s!mm] [\s!math] [concrete-math] [\s!default] + \quittypescriptscanning + \stoptypescript + +\stoptypescriptcollection diff --git a/tex/context/fonts/mkiv/type-imp-erewhon.mkiv b/tex/context/fonts/mkiv/type-imp-erewhon.mkiv new file mode 100644 index 000000000..b8efcd7f9 --- /dev/null +++ b/tex/context/fonts/mkiv/type-imp-erewhon.mkiv @@ -0,0 +1,45 @@ +%\loadtypescriptfile[texgyre] +%\resetfontfallback [erewhon-euler-fix] +%\definefontfallback[erewhon-euler-fix][texgyrepagella-math] [0x022EE,0x022F0,0x022F1,0x02661,0x02220][force=yes] + + +\starttypescriptcollection[erewhon] + + %\definefontfeature[default-slanted-erewhon][default][slant=.2] + %\definefontfeature[none-slanted-erewhon] [none] [slant=.2] + + \starttypescript [\s!serif] [erewhon-serif] + \definefontsynonym [\s!Serif] [\s!file:Erewhon-Regular] [\s!features=\s!default] + \definefontsynonym [\s!SerifItalic] [\s!file:Erewhon-Italic] [\s!features=\s!default] + \definefontsynonym [\s!SerifSlanted] [\s!file:Erewhon-RegularSlanted] [\s!features=\s!default] + \definefontsynonym [\s!SerifBold] [\s!file:Erewhon-Bold] [\s!features=\s!default] + \definefontsynonym [\s!SerifBoldItalic] [\s!file:Erewhon-BoldItalic] [\s!features=\s!default] + \definefontsynonym [\s!SerifBoldSlanted][\s!file:Erewhon-BoldSlanted] [\s!features=\s!default] + \stoptypescript + + \starttypescript [\s!sans] [cabin-sans] + \definefontsynonym [\s!Sans] [\s!file:Cabin-Regular] [\s!features=\s!default] + \definefontsynonym [\s!SansItalic] [\s!file:Cabin-Italic] [\s!features=\s!default] + \definefontsynonym [\s!SansBold] [\s!file:Cabin-SemiBold] [\s!features=\s!default] + \definefontsynonym [\s!SansBoldItalic] [\s!file:Cabin-SemiBoldItalic] [\s!features=\s!default] + \stoptypescript + + \starttypescript [\s!mono] [inconsolata-mono] + \definefontsynonym [\s!Mono] [\s!file:Inconsolatazi4-Regular] [\s!features=\s!none] + \definefontsynonym [\s!MonoBold] [\s!file:Inconsolatazi4-Bold] [\s!features=\s!none] + \stoptypescript + + \starttypescript [\s!math] [erewhon-math] [\s!name] + \loadfontgoodies[erewhon-math] + \definefontsynonym[\s!MathRoman] [\s!file:Erewhon-Math.otf] [\s!features=\s!math\mathsizesuffix,\s!goodies=erewhon-math] + \stoptypescript + + \starttypescript [erewhon] + \definetypeface [erewhon] [\s!rm] [\s!serif] [erewhon-serif] [\s!default] + \definetypeface [erewhon] [\s!ss] [\s!sans] [cabin-sans] [\s!default] + \definetypeface [erewhon] [\s!tt] [\s!mono] [inconsolata-mono] [\s!default] [\s!rscale=1.1] + \definetypeface [erewhon] [\s!mm] [\s!math] [erewhon-math] [\s!default] + \quittypescriptscanning + \stoptypescript + +\stoptypescriptcollection diff --git a/tex/context/fonts/mkiv/type-imp-libertinus.mkiv b/tex/context/fonts/mkiv/type-imp-libertinus.mkiv index 00b2a6abd..38804cf79 100644 --- a/tex/context/fonts/mkiv/type-imp-libertinus.mkiv +++ b/tex/context/fonts/mkiv/type-imp-libertinus.mkiv @@ -72,6 +72,7 @@ \stoptypescript \starttypescript [\s!math] [libertinus] [\s!name] + \loadfontgoodies[libertinus-math] \definefontsynonym[\s!MathRoman ] [\s!file:libertinusmath-regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=libertinus-math.lfg] \definefontsynonym[\s!MathRomanBold] [\s!file:libertinusmath-regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=libertinus-math.lfg] \stoptypescript diff --git a/tex/context/fonts/mkiv/type-imp-modernlatin.mkiv b/tex/context/fonts/mkiv/type-imp-modernlatin.mkiv index e3417fca5..2494d1af2 100644 --- a/tex/context/fonts/mkiv/type-imp-modernlatin.mkiv +++ b/tex/context/fonts/mkiv/type-imp-modernlatin.mkiv @@ -54,8 +54,8 @@ \starttypescript [\s!math] [modern-latin] \loadfontgoodies[lm] - \definefontsynonym [MathRoman] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,lm-math,oldmath,lm-math-regular,mathextra},\s!goodies=lm] - \definefontsynonym [MathRomanBold] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,lm-math,oldmath,lm-math-bold,mathextra},\s!goodies=lm] + \definefontsynonym [MathRoman] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,lm-math,lm-math-regular,mathextra},\s!goodies=lm] + \definefontsynonym [MathRomanBold] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,lm-math,lm-math-bold,mathextra},\s!goodies=lm] \stoptypescript \starttypescript [modern-latin,modernlatin] diff --git a/tex/context/fonts/mkiv/type-imp-newcomputermodern.mkiv b/tex/context/fonts/mkiv/type-imp-newcomputermodern.mkiv index 1c9788a98..00b9cb964 100644 --- a/tex/context/fonts/mkiv/type-imp-newcomputermodern.mkiv +++ b/tex/context/fonts/mkiv/type-imp-newcomputermodern.mkiv @@ -49,8 +49,8 @@ \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},\s!goodies=lm] - \definefontsynonym[\s!MathRomanBold][\s!file:newcmmath-regular][\s!features={\s!math\mathsizesuffix,newcomputermodern-math-bold,mathextra}\s!goodies=lm] + \definefontsynonym[\s!MathRoman] [\s!file:newcmmath-regular][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=newcomputermodern-math] + \definefontsynonym[\s!MathRomanBold][\s!file:newcmmath-regular][\s!features={\s!math\mathsizesuffix,newcomputermodern-math-bold,mathextra}\s!goodies=newcomputermodern-math] \stoptypescript \starttypescript [\s!serif] [newcomputermodern-book] [\s!name] diff --git a/tex/context/fonts/mkiv/xits-math.lfg b/tex/context/fonts/mkiv/xits-math.lfg index d85e4b1b6..42a7052b9 100644 --- a/tex/context/fonts/mkiv/xits-math.lfg +++ b/tex/context/fonts/mkiv/xits-math.lfg @@ -38,6 +38,12 @@ return { { tweak = "addscripts", }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, }, }, alternates = { |