diff options
Diffstat (limited to 'tex/context/fonts')
34 files changed, 1493 insertions, 939 deletions
diff --git a/tex/context/fonts/mkiv/asana-math.lfg b/tex/context/fonts/mkiv/asana-math.lfg deleted file mode 100644 index 970d031ea..000000000 --- a/tex/context/fonts/mkiv/asana-math.lfg +++ /dev/null @@ -1,107 +0,0 @@ -local common = fonts.goodies.load("common-math.lfg") -local presets = common.mathematics.tweaks.presets - -return { - name = "asana-math", - version = "1.00", - comment = "Goodies that complement asana.", - author = "Hans Hagen & Mikael Sundqvist", - copyright = "ConTeXt development team", - mathematics = { - parameters = { - -- StackBottomDisplayStyleShiftDown = less, - -- StackBottomShiftDown = less, - -- StackDisplayStyleGapMin = less, - -- StackGapMin = less, - -- StackTopDisplayStyleShiftUp = less, - -- StackTopShiftUp = less, - -- StretchStackBottomShiftDown = less, - -- StretchStackGapAboveMin = less, - -- StretchStackGapBelowMin = less, - -- StretchStackTopShiftUp = less, - NoLimitSupFactor = 200, - NoLimitSubFactor = 1200, - AccentBaseDepth = 300, - RadicalDegreeBottomRaisePercent = 70, - RadicalRuleThickness = 66, -- 59 in font - DelimiterPercent = 90, - DelimiterShortfall = 400, - DisplayOperatorMinHeight = 1800, -- 1250 in font - }, - tweaks = { - aftercopying = { - { - tweak = "version", - expected = "Version 000.958", - message = "this font is not supported", - }, - { - tweak = "addmirrors", - }, - presets.scripttocalligraphic { }, - presets.rsfstoscript { }, - presets.rsfsuprighttoscript { }, - presets.moderntocalligraphic { }, - presets.eulertocalligraphic { }, - presets.xitsarabic { }, - presets.fallbacks { }, - presets.moveitalics { correct = true }, - presets.moveitalics { correct = true, letters = true }, - presets.moveintegrals { factor = 2 }, - presets.wipeitalics { }, - { - tweak = "dimensions", - list = { - -- nothing yet - } - }, - -- { - -- tweak = "kerns", - -- list = { - -- [0x2F] = { - -- topleft = -0.2, - -- bottomleft = 0, - -- topright = 0, - -- bottomright = -0.2, - -- }, - -- }, - -- }, - -- { - -- tweak = "fixprimes", - -- factor = 0.85, - -- scale = 0.65, - -- smaller = true, - -- }, - { - tweak = "checkspacing", - }, - { - tweak = "addscripts", - }, - { - tweak = "accentdimensions", - }, - { - tweak = "addrules", - }, - { - tweak = "fixellipses", - }, - { - tweak = "setoptions", - set = { "ignorekerndimensions" } - }, - -- this is the mkiv section - { - tweak = "emulatelmtx", - feature = "emulatelmtx", - comment = "this is for mkiv", - }, - }, - }, - bigslots = { - 1, 2, 3, 4 - }, - } -} - diff --git a/tex/context/fonts/mkiv/bonum-math.lfg b/tex/context/fonts/mkiv/bonum-math.lfg index e5d764aff..cc7ae23dc 100644 --- a/tex/context/fonts/mkiv/bonum-math.lfg +++ b/tex/context/fonts/mkiv/bonum-math.lfg @@ -2,8 +2,8 @@ local common = fonts.goodies.load("common-math.lfg") local presets = common.mathematics.tweaks.presets local integral_variants = { bottomright = -0.20 } -local integral_top = { topright = 0.05 } -local integral_bottom = { bottomright = -0.30 } +local integral_top = { topright = 0 } +local integral_bottom = { bottomright = -0.10 } -- if too big it looks bad with triple integrals return { name = "bonum-math", @@ -13,14 +13,14 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 900, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 900, AccentTopShiftUp = -15, FlattenedAccentTopShiftUp = -15, -- AccentExtendMargin = 50, AccentBaseDepth = 50, - RadicalDegreeBottomRaisePercent = 60, - RadicalRuleThickness = 66, -- 72 in font + -- RadicalDegreeBottomRaisePercent = 60, +-- RadicalRuleThickness = 66, -- 72 in font DelimiterPercent = 90, DelimiterShortfall = 400, DisplayOperatorMinHeight = 1900, -- 1250 in font @@ -131,15 +131,19 @@ return { [0x27EB] = { topright = -0.1, bottomright = -0.1 }, ["0x27EB.variants.*"] = { topright = -0.2, bottomright = -0.2 }, -- - [0x222B] = integral_variants, ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, - [0x222C] = integral_variants, ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, - [0x222D] = integral_variants, ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, - [0x222E] = integral_variants, ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, - [0x222F] = integral_variants, ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, - [0x2230] = integral_variants, ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, - [0x2231] = integral_variants, ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, - [0x2232] = integral_variants, ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, - [0x2233] = integral_variants, ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, + -- [0x222B] = integral_variants, ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, + ["0x222B.parts.bottom"] = { bottomright = -0.20 }, -- int + ["0x222C.parts.bottom"] = { bottomright = -0.15 }, -- iint + ["0x222D.parts.bottom"] = { bottomright = -0.10 }, -- iiint + ["0x2A0C.parts.bottom"] = { bottomright = -0.05 }, -- iiiint + -- [0x222C] = integral_variants, ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, + -- [0x222D] = integral_variants, ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, + -- [0x222E] = integral_variants, ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, + -- [0x222F] = integral_variants, ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, + -- [0x2230] = integral_variants, ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, + -- [0x2231] = integral_variants, ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, + -- [0x2232] = integral_variants, ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, + -- [0x2233] = integral_variants, ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, }, }, -- Accents are a mess. We migrate the extensibles from the combiners to the base accent @@ -148,6 +152,30 @@ return { { tweak = "extendaccents", }, +{ + tweak = "flattenaccents", + squeeze = 0.8, + height = 0.9, + offset = 0.1, +}, + +{ + tweak = "radicaldegreeanchors", + list = { + [0x221A] = { location = "left", hfactor = .1, vfactor = .3 }, + ["0x221A.variants.*"] = { location = "left", hfactor = .1, vfactor = .625 }, + ["0x221A.variants.1"] = { location = "left", hfactor = .1, vfactor = .575 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .575 }, + -- ["0x221A.variants.3"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = .1, vfactor = 1.15 }, + } +}, + { tweak = "fixaccents", }, diff --git a/tex/context/fonts/mkiv/cambria-math.lfg b/tex/context/fonts/mkiv/cambria-math.lfg index 9cece8369..8feb94bcf 100644 --- a/tex/context/fonts/mkiv/cambria-math.lfg +++ b/tex/context/fonts/mkiv/cambria-math.lfg @@ -9,15 +9,15 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 1000, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 1000, -- AccentTopShiftUp = 0, -- FlattenedAccentTopShiftUp = 0, -- AccentExtendMargin = 50, AccentBaseDepth = 300, - RadicalDegreeBottomRaisePercent = 65, - RadicalKernAfterDegree = -900, - RadicalRuleThickness = 128, -- 133 in font + -- RadicalDegreeBottomRaisePercent = 65, + -- RadicalKernAfterDegree = -900, + -- RadicalRuleThickness = 128, -- 133 in font DelimiterPercent = 90, DelimiterShortfall = 400, DisplayOperatorMinHeight = 2800, -- 2500 in font @@ -76,6 +76,7 @@ return { }, -- Keep as example. not needed in cambria (after all it is the reference): + [0x2A0C] = { bottomright = -0.1 }, -- iiiint does not have any ic -- ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, -- ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, @@ -95,6 +96,22 @@ return { { tweak = "extendaccents", }, +{ + tweak = "radicaldegreeanchors", + list = { + [0x221A] = { location = "left", hfactor = -0.15, vfactor = .75 }, + ["0x221A.variants.*"] = { location = "left", hfactor = -0.1, vfactor = .15 }, + ["0x221A.variants.1"] = { location = "left", hfactor = -0.1, vfactor = .55 }, + ["0x221A.variants.2"] = { location = "left", hfactor = -0.1, vfactor = .375 }, + ["0x221A.variants.3"] = { location = "left", hfactor = -0.1, vfactor = .275 }, + ["0x221A.variants.4"] = { location = "left", hfactor = -0.1, vfactor = .22 }, + ["0x221A.variants.5"] = { location = "left", hfactor = -0.1, vfactor = .175 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = -0.1, vfactor = 0.95 }, + } +}, { tweak = "fixaccents", }, @@ -183,6 +200,9 @@ return { tweak = "addactuarian", }, { + tweak = "addequals", + }, + { tweak = "addfourier", variant = 1, }, diff --git a/tex/context/fonts/mkiv/common-math.lfg b/tex/context/fonts/mkiv/common-math.lfg index c2c690bf1..85915c26a 100644 --- a/tex/context/fonts/mkiv/common-math.lfg +++ b/tex/context/fonts/mkiv/common-math.lfg @@ -56,13 +56,13 @@ return { { source = "uppercasescript", target = "uppercasecalligraphic", - filename = "euler.otf", + filename = "euler-math.otf", rscale = parameters.rscale, }, { source = "uppercaseboldscript", target = "uppercaseboldcalligraphic", - filename = "euler.otf", + filename = "euler-math.otf", rscale = parameters.rscale, }, }, diff --git a/tex/context/fonts/mkiv/concrete-math.lfg b/tex/context/fonts/mkiv/concrete-math.lfg index 68d686593..31ee4f1b9 100644 --- a/tex/context/fonts/mkiv/concrete-math.lfg +++ b/tex/context/fonts/mkiv/concrete-math.lfg @@ -9,8 +9,8 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 900, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 900, DelimiterPercent = 90, DelimiterShortfall = 400, -- DisplayOperatorMinHeight = 1800, -- 1400 in font (one size) @@ -19,12 +19,15 @@ return { aftercopying = { { tweak = "fixprimes", - factor = 0.9, + factor = 0.8, }, -- there are circular variants -- { -- tweak = "addmirrors", -- }, +{ + tweak = "fixintegrals", +}, presets.scripttocalligraphic { }, presets.rsfstoscript { }, presets.rsfsuprighttoscript { }, @@ -41,6 +44,23 @@ return { [0x002F] = { topleft = -0.2, bottomright = -0.2 }, }, }, + +{ + tweak = "radicaldegreeanchors", + list = { + -- [0x221A] = { location = "left", hfactor = .1, vfactor = .3 }, + -- ["0x221A.variants.*"] = { location = "left", hfactor = .1, vfactor = .625 }, + -- ["0x221A.variants.1"] = { location = "left", hfactor = .1, vfactor = .575 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .575 }, + -- ["0x221A.variants.3"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = .0, vfactor = 1.075 }, + } +}, { tweak = "fixellipses", }, diff --git a/tex/context/fonts/mkiv/dejavu-math.lfg b/tex/context/fonts/mkiv/dejavu-math.lfg index 70eecb27e..728a5f2fc 100644 --- a/tex/context/fonts/mkiv/dejavu-math.lfg +++ b/tex/context/fonts/mkiv/dejavu-math.lfg @@ -1,8 +1,8 @@ local common = fonts.goodies.load("common-math.lfg") local presets = common.mathematics.tweaks.presets -local integral_variants = { bottomright = -0.20 } -local integral_bottom = { bottomright = -0.25 } +local integral_variants = { bottomright = -0.20 } +local integral_bottom = { bottomright = -0.25 } return { name = "dejavu-math", @@ -12,15 +12,15 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 900, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 900, FractionRuleThickness = 60, AccentTopShiftUp = -25, FlattenedAccentTopShiftUp = -25, -- AccentExtendMargin = 50, AccentBaseDepth = 30, - RadicalDegreeBottomRaisePercent = 62, - RadicalRuleThickness = 46, -- 52 in font + -- RadicalDegreeBottomRaisePercent = 62, + -- RadicalRuleThickness = 46, -- 52 in font DelimiterPercent = 90, DelimiterShortfall = 400, DisplayOperatorMinHeight = 1800, -- 1333 in font @@ -33,11 +33,17 @@ return { tweak = "version", expected = "Version 1.106", }, - { +-- { +-- tweak = "fixprimes", +-- scale = 0.85, +-- -- smaller = true, +-- factor = 1, +-- }, + { tweak = "fixprimes", - scale = 0.85, + scale = 1, -- smaller = true, - factor = 1, + factor = 0.8, }, { tweak = "addmirrors", @@ -53,6 +59,18 @@ return { presets.moveitalics { correct = true, letters = true }, presets.moveintegrals { factor = 1.5 }, -- we need to check this presets.wipeitalics { }, + -- We don't have italic correction in for instance math italic f which means that + -- we also didn't fix it. Therefore we need at least some reasonable kerns. Using + -- a dimension tweak before the above (e.g. 0.2 italic and 0.8 width) doesn't work + -- because once the advance is set the move is blocked and the ic stil wiped. So, + -- we kern. Actually the upright (ascii) f has italic correction. + { + tweak = "kerns", + list = { + [0x1D453] = { bottomright = -.2 }, + } + }, + -- { tweak = "kerns", list = { @@ -71,15 +89,20 @@ return { [0x27EB] = { topright = -0.1, bottomright = -0.1 }, ["0x27EB.variants.*"] = { topright = -0.2, bottomright = -0.2 }, -- - ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, - ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, - ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, - ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, - ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, - ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, - ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, - ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, - ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, + + ["0x222B.parts.bottom"] = { bottomright = -0.20 }, -- int + ["0x222C.parts.bottom"] = { bottomright = -0.15 }, -- iint + ["0x222D.parts.bottom"] = { bottomright = -0.10 }, -- iiint + ["0x2A0C.parts.bottom"] = { bottomright = -0.05 }, -- iiiint + -- ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, + -- ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, + -- ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, + -- ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, + -- ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, + -- ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, + -- ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, + -- ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, + -- ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, }, }, @@ -89,6 +112,24 @@ return { { tweak = "extendaccents", }, + + +{ + tweak = "radicaldegreeanchors", + list = { + [0x221A] = { location = "left", hfactor = .1, vfactor = .65 }, + ["0x221A.variants.*"] = { location = "left", hfactor = .1, vfactor = .6 }, + ["0x221A.variants.1"] = { location = "left", hfactor = .1, vfactor = .65 }, + ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .65 }, + -- ["0x221A.variants.3"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = .1, vfactor = 1.1 }, + } +}, { tweak = "fixaccents", }, @@ -128,12 +169,6 @@ return { tweak = "copyaccents", }, { - tweak = "fixprimes", - -- scale = 0.9, - -- smaller = true, - factor = 0.8, - }, - { tweak = "checkspacing", }, { @@ -176,11 +211,11 @@ return { bigslots = { 1, 3, 5, 7 }, - -- - -- experimental fixes for mkiv: - -- - dimensions = dimensions, - kerns = kerns, + -- -- + -- -- experimental fixes for mkiv: + -- -- + -- dimensions = dimensions, + -- kerns = kerns, }, } diff --git a/tex/context/fonts/mkiv/garamond-math.lfg b/tex/context/fonts/mkiv/ebgaramond-math.lfg index 9537f52b9..555b79bc1 100644 --- a/tex/context/fonts/mkiv/garamond-math.lfg +++ b/tex/context/fonts/mkiv/ebgaramond-math.lfg @@ -9,8 +9,8 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 1200, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 1200, FractionRuleThickness = 60, OverbarRuleThickness = 60, UnderbarRuleThickness = 60, @@ -147,10 +147,28 @@ return { -- accent anchor offset). First we copy and fix. { tweak = "extendaccents", + -- all = true, +-- all = 5, }, - { - tweak = "fixanchors", - }, +{ + tweak = "radicaldegreeanchors", + list = { + -- [0x221A] = { location = "left", hfactor = .1, vfactor = .3 }, + -- ["0x221A.variants.*"] = { location = "left", hfactor = .1, vfactor = .625 }, + -- ["0x221A.variants.1"] = { location = "left", hfactor = .1, vfactor = .575 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .575 }, + -- ["0x221A.variants.3"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = .0, vfactor = 1.0 }, + } +}, + -- { + -- tweak = "fixanchors", + -- }, -- First we set the dimensions of the initial accent which started out as zero but we want -- a proper width. { @@ -235,7 +253,7 @@ return { outbendingh = { feature = 'ss10', value = 1, comment = "Out-bending h" }, largeoperators = { feature = 'ss11', value = 1, comment = "Larger operators" }, }, - bigs = { + bigslots = { 1, 3, 5, 7 }, }, diff --git a/tex/context/fonts/mkiv/erewhon-math.lfg b/tex/context/fonts/mkiv/erewhon-math.lfg index e366ee12e..89b788b3f 100644 --- a/tex/context/fonts/mkiv/erewhon-math.lfg +++ b/tex/context/fonts/mkiv/erewhon-math.lfg @@ -12,13 +12,13 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 900, - AccentBaseHeight = 0, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 900, + -- AccentBaseHeight = 0, AccentBaseDepth = 60, - RadicalDegreeBottomRaisePercent = 55, - RadicalKernAfterDegree = -600, - RadicalRuleThickness = 45, -- 55 in font + -- RadicalDegreeBottomRaisePercent = 55, + -- RadicalKernAfterDegree = -600, + -- RadicalRuleThickness = 45, -- 55 in font DelimiterPercent = 90, DelimiterShortfall = 400, -- DisplayOperatorMinHeight = 1800, -- 1300 in font (one size) @@ -27,12 +27,23 @@ return { aftercopying = { { tweak = "fixprimes", + -- smaller = true, -- replace multiples factor = 0.9, - scale = 0.9, + scale = 1.0, + fake = 0.85, -- replace multiples with this width proportion }, { tweak = "addmirrors", }, +{ + tweak = "dimensions", + list = { + ["0x222B.variants.*"] = { axis = .15 }, + }, +}, +{ + tweak = "fixintegrals", +}, presets.scripttocalligraphic { }, presets.rsfstoscript { }, presets.rsfsuprighttoscript { }, @@ -63,6 +74,23 @@ return { ["0x27EB.variants.*"] = { topright = -0.2, bottomright = -0.2 }, }, }, +{ + tweak = "radicaldegreeanchors", + list = { + -- [0x221A] = { location = "left", hfactor = .1, vfactor = .3 }, + -- ["0x221A.variants.*"] = { location = "left", hfactor = .1, vfactor = .625 }, + -- ["0x221A.variants.1"] = { location = "left", hfactor = .1, vfactor = .575 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .575 }, + -- ["0x221A.variants.3"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = .1, vfactor = 1.025 }, + } +}, + { tweak = "checkspacing", }, @@ -83,7 +111,7 @@ return { }, { tweak = "setoptions", - set = { "ignorekerndimensions" } +-- set = { "ignorekerndimensions" } }, -- this is the mkiv section -- { diff --git a/tex/context/fonts/mkiv/kpfonts-math.lfg b/tex/context/fonts/mkiv/kpfonts-math.lfg index a4eff599f..8f2153077 100644 --- a/tex/context/fonts/mkiv/kpfonts-math.lfg +++ b/tex/context/fonts/mkiv/kpfonts-math.lfg @@ -12,11 +12,11 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 900, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 900, -- AccentBaseHeight = 0, AccentBaseDepth = 30, - RadicalDegreeBottomRaisePercent = 70, + -- RadicalDegreeBottomRaisePercent = 70, -- RadicalRuleThickness = 50, -- 50 in font DelimiterPercent = 90, DelimiterShortfall = 400, @@ -52,14 +52,14 @@ return { }, }, - -- { - -- 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 = 1.4, -- accent base height + smaller = true, -- replace multiples + scale = 1, -- glyph scale + fake = 0.8, -- replace multiples with this width proportion + -- keep = true, -- keep the text size prime (aka minute) + }, { tweak = "addmirrors", }, @@ -99,6 +99,24 @@ return { { tweak = "checkspacing", }, + +{ + tweak = "radicaldegreeanchors", + list = { + [0x221A] = { location = "left", hfactor = .0, vfactor = .75 }, + ["0x221A.variants.*"] = { location = "left", hfactor = .0, vfactor = .55 }, + ["0x221A.variants.1"] = { location = "left", hfactor = .0, vfactor = .6 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .575 }, + -- ["0x221A.variants.3"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = .0, vfactor = 0.65 }, + } +}, + { tweak = "addscripts", }, diff --git a/tex/context/fonts/mkiv/libertinus-math.lfg b/tex/context/fonts/mkiv/libertinus-math.lfg index 5a1cbd088..71863fb59 100644 --- a/tex/context/fonts/mkiv/libertinus-math.lfg +++ b/tex/context/fonts/mkiv/libertinus-math.lfg @@ -17,8 +17,8 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 1000, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 1000, FractionRuleThickness = 50, OverbarRuleThickness = 50, -- RadicalRuleThickness = 50, @@ -28,8 +28,8 @@ return { -- AccentExtendMargin = 50, -- AccentTopShiftUp = 0, AccentBaseDepth = 10, - RadicalDegreeBottomRaisePercent = 60, - RadicalKernAfterDegree = -425, + -- RadicalDegreeBottomRaisePercent = 60, + -- RadicalKernAfterDegree = -425, -- RadicalRuleThickness = 40, -- 40 in font DelimiterPercent = 90, DelimiterShortfall = 400, @@ -47,6 +47,16 @@ return { { tweak = "addmirrors", }, +-- we have a weird middle integral piece +{ + tweak = "dimensions", + list = { + [0x23AE] = { xoffset = -.19 }, + }, +}, +{ + tweak = "fixintegrals", +}, presets.scripttocalligraphic { }, presets.rsfstoscript { rscale = 0.97 }, presets.rsfsuprighttoscript { rscale = 0.97 }, @@ -126,11 +136,31 @@ return { tweak = "copyaccents", }, -- So far for the accents. +{ + tweak = "radicaldegreeanchors", + list = { + [0x221A] = { location = "left", hfactor = .0, vfactor = .625 }, + ["0x221A.variants.*"] = { location = "left", hfactor = .0, vfactor = .5 }, + ["0x221A.variants.1"] = { location = "left", hfactor = .0, vfactor = .55 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .575 }, + -- ["0x221A.variants.3"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = .0, vfactor = 1.15 }, + } +}, + + + { tweak = "fixprimes", scale = 0.9, -- smaller = true, factor = 0.9, + fake = 0.8, }, { tweak = "checkspacing", @@ -159,6 +189,7 @@ return { variant = 1, }, { + -- needed for integrals (bad axis) and (less prominent) fences tweak = "setoptions", set = { "ignorekerndimensions" } }, diff --git a/tex/context/fonts/mkiv/lm.lfg b/tex/context/fonts/mkiv/lm.lfg index 984038d58..13023214a 100644 --- a/tex/context/fonts/mkiv/lm.lfg +++ b/tex/context/fonts/mkiv/lm.lfg @@ -1,8 +1,5 @@ -- In order to be able to use beta math fonts, we use our own file name and --- always remap. - -local common = fonts.goodies.load("common-math.lfg") -local presets = common.mathematics.tweaks.presets +-- always remap (as there is no development we no longer do this). return { name = "latin modern", @@ -10,419 +7,16 @@ return { comment = "Goodies that complement latin modern.", author = "Hans Hagen & Mikael Sundqvist", copyright = "ConTeXt development team", - mathematics = { - parameters = { - FractionNumeratorDisplayStyleShiftUp = 600, -- used to be a function - NoLimitSupFactor = 0, - NoLimitSubFactor = 900, - AccentTopShiftUp = -60, - FlattenedAccentTopShiftUp = -60, - -- AccentExtendMargin = 50, - -- AccentBaseHeight = 0, - -- AccentBaseDepth = 0, - -- AccentTopOvershoot = 66, - AccentSuperscriptDrop = 100, -- drop the superscripts if accents are present. Amount in percentage of height of accent(?) - AccentSuperscriptPercent = 0, - DelimiterPercent = 90, - DelimiterShortfall = 400, - -- DisplayOperatorMinHeight = 1800, -- 1300 in font (only one) - PrimeRaisePercent = 60, - PrimeRaiseComposedPercent = 15, - -- SubSuperscriptGapMin = 160, -- 160 in font - SuperscriptBaselineDropMax = 250, -- 250 in font - -- SuperscriptBottomMaxWithSubscript = 344, -- 344 in font - -- SuperscriptBottomMin = 108, -- 108 in font - SuperscriptShiftUp = 363, -- 363 in font - SuperscriptShiftUpCramped = 89, -- 289 in font - }, - tweaks = { - aftercopying = { - { - tweak = "version", - expected = "Version 1.958", - }, - { - tweak = "addmirrors", - }, - presets.scripttocalligraphic { }, - presets.rsfstoscript { }, - presets.rsfsuprighttoscript { }, - presets.moderntocalligraphic { }, - presets.eulertocalligraphic { }, - presets.xitsarabic { rscale = 0.80 }, - presets.fallbacks { }, - presets.moveitalics { correct = true }, - presets.moveitalics { correct = true, letters = true }, - presets.moveintegrals { factor = 1.4 }, - presets.wipeanchors { }, - presets.wipeitalics { }, - -- these will become moveanchors - { - tweak = "dimensions", - list = { - -- [0x1D483] = { anchor = 1.15 }, -- bold italic b - -- [0x1D485] = { anchor = 0.8 }, -- bold italic d - [0x1D487] = { anchor = 0.9 }, -- bold italic f - [0x1D489] = { anchor = 1.2 }, -- bold italic h - [0x1D48C] = { anchor = 1.2 }, -- bold italic k - [0x1D48F] = { anchor = 1.1 }, -- bold italic n - [0x1D491] = { anchor = 1.2 }, -- bold italic p - [0x1D492] = { anchor = 0.9 }, -- bold italic q - [0x1D49B] = { anchor = 0.9 }, -- bold italic z - - [0x1D736] = { anchor = 0.9 }, -- bold italic alpha - [0x1D737] = { anchor = 0.9 }, -- bold italic beta - [0x1D738] = { anchor = 1.1 }, -- bold italic gamma - [0x1D740] = { anchor = 1.2 }, -- bold italic lambda - [0x1D744] = { anchor = 1.2 }, -- bold italic omicron - - [0x1D6FE] = { anchor = 1.1 }, -- italic gamma - [0x1D702] = { anchor = 1.1 }, -- italic eta - -- [0x1D70A] = { anchor = 1.2 }, -- italic omicron -- no difference - -- [0x1D70D] = { anchor = 1.2 }, -- italic varsigma -- no difference - - [0x1D44F] = { anchor = 1.15 }, -- italic b - [0x1D451] = { anchor = 0.8, }, -- italic d - [0x1D455] = { anchor = 1.15 }, -- italic h - -- [0x1D456] = { anchor = 1.15 }, -- italic i (wrong code?) - [0x1D458] = { anchor = 1.15 }, -- italic k - [0x1D45B] = { anchor = 1.1 }, -- italic n - [0x1D45D] = { anchor = 1.1 }, -- italic p - [0x1D45E] = { anchor = 0.9 }, -- italic q - [0x1D467] = { anchor = 0.9 }, -- italic z - - [0x1D6FE] = { anchor = 1.2 }, -- italic gamma - [0x1D706] = { anchor = 1.2 }, -- italic lambda - [0x1D70A] = { anchor = 1.1 }, -- italic omikron - [0x1D70D] = { anchor = 1.1 }, -- italic varsigma - - [0x1D46A] = { anchor = 0.75 }, -- bold italic C - [0x1D46B] = { anchor = 1.1 }, -- bold italic D - [0x1D46E] = { anchor = 0.75 }, -- bold italic G - [0x1D479] = { anchor = 1.2 }, -- bold italic R - [0x1D47A] = { anchor = 0.8 }, -- bold italic S - - -- uppercaseboldscript could be improved - - [0x1D435] = { anchor = 1.05 }, -- italic B - [0x1D436] = { anchor = 0.7 }, -- italic C - [0x1D437] = { anchor = 1.05 }, -- italic D - [0x1D43A] = { anchor = 0.8 }, -- italic G - [0x1D443] = { anchor = 1.1 }, -- italic P - [0x1D445] = { anchor = 1.05 }, -- italic R - [0x1D446] = { anchor = 0.85 }, -- italic S - - [0x1D49C] = { anchor = 0.9 }, -- script A - [0x1D49D] = { anchor = 0.95 }, -- script B - [0x1D49E] = { anchor = 0.8 }, -- script C - [0x1D49F] = { anchor = 0.95 }, -- script D - [0x1D4A0] = { anchor = 0.85 }, -- script E - [0x1D4A1] = { anchor = 0.75 }, -- script F - [0x1D4A2] = { anchor = 0.9 }, -- script G - [0x1D4A3] = { anchor = 0.85 }, -- script H - [0x1D4A4] = { anchor = 0.8 }, -- script I - [0x1D4A5] = { anchor = 0.8 }, -- script J - [0x1D4A6] = { anchor = 0.85 }, -- script K - [0x1D4A7] = { anchor = 0.75 }, -- script L - [0x1D4A8] = { anchor = 0.9 }, -- script M - [0x1D4A9] = { anchor = 0.85 }, -- script N - [0x1D4AA] = { anchor = 0.95 }, -- script O - [0x1D4AB] = { anchor = 0.95 }, -- script P - [0x1D4AC] = { anchor = 0.95 }, -- script Q - [0x1D4AD] = { anchor = 0.95 }, -- script R - [0x1D4AE] = { anchor = 0.9 }, -- script S - [0x1D4AF] = { anchor = 0.75 }, -- script T - [0x1D4B0] = { anchor = 0.9, }, -- script U - [0x1D4B1] = { anchor = 0.95 }, -- script V - [0x1D4B2] = { anchor = 0.95 }, -- script W - [0x1D4B3] = { anchor = 0.95 }, -- script X - [0x1D4B4] = { anchor = 0.9 }, -- script Y - [0x1D4B5] = { anchor = 1 }, -- script Z - - -- [984874] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, - -- [984881] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, - -- [984888] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, - -- [984895] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, - -- [984902] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, - -- [984909] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, - -- [984916] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, - - -- ["0x7C.variants.*"] = { squeeze = 0.75, height = 0.75, depth = 0.75, extend = 1.15, width = 1.15 }, -- squeeze: glyph, height, depth: bbox - -- ["0x7C.variants.*"] = { squeeze = 0.75, height = 0.8, depth = 0.8, extend = 1.1, width = 1.1 }, -- squeeze: glyph, height, depth: bbox - - ["0x7C.variants.1"]={ squeeze = 0.90, height = 0.90, depth = 0.90 }, - ["0x7C.variants.2"]={ squeeze = 0.85, height = 0.85, depth = 0.85 }, - ["0x7C.variants.3"]={ squeeze = 0.80, height = 0.80, depth = 0.80 }, - ["0x7C.variants.4"]={ squeeze = 0.80, height = 0.80, depth = 0.80 }, - ["0x7C.variants.5"]={ squeeze = 0.80, height = 0.80, depth = 0.80 }, - ["0x7C.variants.6"]={ squeeze = 0.80, height = 0.80, depth = 0.80 }, - ["0x7C.variants.7"]={ squeeze = 0.80, height = 0.80, depth = 0.80 }, - - -- [utf.byte("1")] = { - -- original = utf.byte("2"), - -- mode = 1, - -- scale = 2, - -- }, - - -- ["lowercasegreeksansserifbolditalic"] = { - -- delta = 0x003B1 - 0x1D7AA, - -- slant = 0.4, - -- slant = -0.2, - -- line = 0.1, - -- mode = 1, - -- width = 1.25, - -- width = 0.95, - -- scale = 0.975, - -- }, - }, - }, - - -- Accents are a mess. We migrate the extensibles from the combiners to the base accent - -- and then need to tweak the width (which is auto set because it was zero with a large - -- accent anchor offset). First we copy and fix. - { - tweak = "extendaccents", - }, - { - tweak = "fixaccents", - }, - -- First we set the dimensions of the initial accent which started out as zero but we want - -- a proper width. - { - tweak = "dimensions", - list = { - -- [0x00300] = { width = 0.8 }, -- widegrave - -- [0x00301] = { width = 0.9 }, -- wideacute - [0x00302] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widehat - [0x00303] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widetilde - [0x00306] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widebreve - -- [0x0030A] = { width = 0.9, xoffset = -.0 }, -- widering - [0x0030C] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widecheck - }, - }, - -- Then we deal with all offsets and heights in one go. So we treat the initial accent - -- as well as the variants here. - { - tweak = "dimensions", - list = { - -- here we want to apply to all - -- [0x00300] = { yoffset = -0.02, height = .95, all = true }, -- widegrave : 0x0060 - -- [0x00301] = { yoffset = -0.02, height = .95, all = true }, -- wideacute : 0x00B4 - -- [0x00302] = { yoffset = -0.03, height = .95, all = true }, -- widehat : 0x02C6 - -- [0x00303] = { yoffset = -0.02, height = .95, all = true }, -- widetilde : 0x02DC - -- [0x00306] = { yoffset = -0.03, height = .95, all = true }, -- widebre : 0x02D8 - -- [0x0030A] = { yoffset = 0.00, height = .95, all = true }, -- widering : 0x02DA - -- [0x0030C] = { yoffset = -0.03, height = .95, all = true }, -- widecheck : 0x02C7 - -- [0x00304] = { yoffset = -0.05, height = .95, all = true }, -- widebar : 0x00AF - -- [0x00307] = { yoffset = -0.03, height = .95, all = true }, -- widedot : 0x02D9 - -- [0x00308] = { yoffset = -0.03, height = .95, all = true }, -- wideddot : 0x00A8 - [0x020DB] = { yoffset = -0.015, height = .95, all = true }, -- widedddot : 0x20DB (self) - }, - }, - -- We now copy these to the not wide slots so that we can set these to stretch as well, - -- if only because it is less confusing and more consistent. - { - tweak = "copyaccents", - }, - -- So far for the accents. - - { - -- Here we modify "corner kerns". - -- We started with 0x2F, the solidus - -- to have the 2 in x^2/5 a bit over the slash - tweak = "kerns", - list = { - [0x0002F] = { topleft = -0.2, bottomright = -0.2 }, -- solidus - -- - [0x1D49C] = { bottomright = -0.05, }, -- script A - [0x1D49D] = { bottomright = -0.05, }, -- script B - [0x1D49E] = { bottomright = -0.25, }, -- script C - [0x1D49F] = { bottomright = -0.11, }, -- script D - [0x1D4A0] = { bottomright = -0.18, }, -- script E - [0x1D4A1] = { bottomright = -0.30, }, -- script F - [0x1D4A2] = { bottomright = -0.11, }, -- script G - [0x1D4A3] = { bottomright = -0.18, }, -- script H - [0x1D4A4] = { bottomright = -0.25, }, -- script I - [0x1D4A5] = { bottomright = -0.25, }, -- script J - [0x1D4A6] = { bottomright = -0.11, }, -- script K - [0x1D4A7] = { bottomright = -0.05, }, -- script L - [0x1D4A8] = { bottomright = -0.11, }, -- script M - [0x1D4A9] = { bottomright = -0.18, }, -- script N - [0x1D4AA] = { bottomright = -0.05, }, -- script O - [0x1D4AB] = { bottomright = -0.25, }, -- script P - [0x1D4AC] = { bottomright = -0.05, }, -- script Q - [0x1D4AD] = { bottomright = -0.05, }, -- script R - [0x1D4AE] = { bottomright = -0.11, }, -- script S - [0x1D4AF] = { bottomright = -0.33, }, -- script T - [0x1D4B0] = { bottomright = -0.11, }, -- script U - [0x1D4B1] = { bottomright = -0.25, }, -- script V - [0x1D4B2] = { bottomright = -0.25, }, -- script W - [0x1D4B3] = { bottomright = -0.11, }, -- script X - [0x1D4B4] = { bottomright = -0.18, }, -- script Y - [0x1D4B5] = { bottomright = -0.05, }, -- script Z - -- - ["0x7D.parts.top"] = { topright = -0.25 }, -- right brace top - ["0x7D.parts.bottom"] = { bottomright = -0.25 }, -- right brace bottom - ["0x7D.variants.*"] = { topright = -0.25, bottomright = -0.25 }, -- right brace variants - ["0x29.parts.top"] = { topright = -0.3, }, -- right parenthesis top - ["0x29.parts.bottom"] = { bottomright = -0.3 }, -- right parenthesis bottom - ["0x29.variants.*"] = { topright = -0.25, bottomright = -0.25 }, -- right parenthesis variants - ["0x221A.parts.top"] = { topright = 0.2, }, -- right radical top - ["0x221A.parts.bottom"] = { bottomright = 0.2 }, -- right radical bottom - ["0x221A.variants.*"] = { topright = 0.2, bottomright = 0.2 }, -- right radical variants - [0x27E9] = { topright = -0.2, bottomright = -0.2 }, -- angles - ["0x27E9.variants.*"] = { topright = -0.3, bottomright = -0.3 }, - [0x27EB] = { topright = -0.2, bottomright = -0.2 }, - ["0x27EB.variants.*"] = { topright = -0.3, bottomright = -0.3 }, - - }, - }, - -- { - -- tweak = "staircase", - -- list = { - -- }, - -- }, - { - -- This one fakes margins to get larger/smaller accents - -- with for example \widetilde. - tweak = "margins", - list = { - [0x1D487] = { left = -.2, right = -.2 }, -- bold italic f - [0x1D489] = { left = -.2, right = -.2 }, -- bold italic h - [0x1D496] = { left = -.1, right = -.1 }, -- bold italic u - [0x1D499] = { left = -.1, right = -.1 }, -- bold italic x - - [0x1D711] = { left = -.1, right = -.1 }, -- italic varphi - [0x1D713] = { left = -.1, right = -.1 }, -- italic psi - - [0x1D659] = { left = -.1, right = -.1 }, -- sans bold italic d - [0x1D65C] = { left = -.1, right = -.1 }, -- sans bold italic g - - [0x1D409] = { left = .1, right = .1 }, -- bold upright J - [0x1D412] = { left = .1, right = .1 }, -- bold upright S - - [0x1D509] = { left = .1, right = .1 }, -- fraktur F - [0x1D50C] = { left = .1, right = .1 }, -- fraktur I - [0x1D50D] = { left = .1, right = .1 }, -- fraktur J - [0x1D51D] = { left = .1, right = .1 }, -- fraktur Z - - [0x1D538] = { left = .1, right = .1 }, -- doublestruck A - [0x1D539] = { left = .1, right = .1 }, -- doublestruck B - [0x1D53C] = { left = .1, right = .1 }, -- doublestruck E - [0x1D53D] = { left = .1, right = .1 }, -- doublestruck F - [0x1D541] = { left = .1, right = .1 }, -- doublestruck J - [0x1D542] = { left = .1, right = .1 }, -- doublestruck K - [0x1D543] = { left = .1, right = .1 }, -- doublestruck L - [0x1D547] = { left = .1, right = .1 }, -- doublestruck P - [0x1D549] = { left = .1, right = .1 }, -- doublestruck R - [0x1D54A] = { left = .1, right = .1 }, -- doublestruck S - [0x1D54B] = { left = .1, right = .1 }, -- doublestruck T - [0x1D54D] = { left = .1, right = .1 }, -- doublestruck V - [0x1D550] = { left = .1, right = .1 }, -- doublestruck Y - - [0x1D506] = { left = .1, right = .1 }, -- fraktur C - - [0x00393] = { left = .1, right = .1 }, -- upfight Gamma - [0x00396] = { left = .1, right = .1 }, -- upfight Zeta - - [0x1D5D8] = { left = .1, right = .1 }, -- sans bold E - [0x1D5D9] = { left = .1, right = .1 }, -- sans bold F - -- [0x1D5DD] = { left = .2, right = .2 }, -- sans bold J -- nope - [0x1D5DF] = { left = .1, right = .1 }, -- sans bold L - [0x1D5E6] = { left = .1, right = .1 }, -- sans bold S - - [0x1D61A] = { left = .1, right = .1 }, -- sans italic S - - [0x1D5A2] = { left = .1, right = .1 }, -- sans C - [0x1D5A4] = { left = .1, right = .1 }, -- sans E - [0x1D5A5] = { left = .1, right = .1 }, -- sans F - -- [0x1D5AB] = { left = .1, right = .1 }, -- sans L -- nope - [0x1D5AF] = { left = .1, right = .1 }, -- sans P - [0x1D5B2] = { left = .1, right = .1 }, -- sans S - [0x1D5B9] = { left = .1, right = .1 }, -- sans Z - - [0x1D4A0] = { left = .1, right = .1 }, -- script E - [0x1D4AE] = { left = .1, right = .1 }, -- script S - [0x1D4B4] = { left = .1, right = .1 }, -- script Y - - -- [0x0004A] = { left = .2, right = .2 }, -- J - [0x0004C] = { left = .1, right = .1 }, -- L - [0x00053] = { left = .1, right = .1 }, -- S - [0x0005A] = { left = .1, right = .1 }, -- Z - - [0x1D43D] = { left = -.1, right = -.1 }, -- italic J - [0x1D409] = { left = -.1, right = -.1 }, -- bold J - [0x1D471] = { left = -.1, right = -.1 }, -- bold italic J - [0x1D4D9] = { left = -.05, right = -.05 }, -- bold script J - }, - }, - { - tweak = "fixprimes", - factor = 1.05, - -- smaller = true, - scale = 0.9, - -- fake = 0.6, - }, - { - tweak = "checkspacing", - }, - { - tweak = "fixradicals", - }, - { - tweak = "addprivates", - }, - { - tweak = "addscripts", - }, - { - tweak = "accentdimensions", - }, - { - tweak = "addrules", - }, - { - tweak = "addbars", - advance = 0.52, - }, - { - tweak = "addactuarian", - }, - { - tweak = "addfourier", - variant = 1, - }, - { - tweak = "addequals", - }, - -- { - -- tweak = "wipevariants", - -- list = { - -- 0x7C, - -- }, - -- }, - -- this is the mkiv section - { - tweak = "emulatelmtx", - feature = "emulatelmtx", - comment = "this is for mkiv", - }, - }, - }, - bigslots = { - 1, 3, 5, 7 -- In fact, 6 is the last one. - }, - }, - 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", - }, - }, + -- 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", @@ -610,92 +204,3 @@ return { } } --- For now we keep these commented as they show where we came from. - --- [0x00060] = { yoffset = -0.05 }, -- grave --- [0x000B4] = { yoffset = -0.05 }, -- acute --- [0x002C6] = { yoffset = -0.05 }, -- hat --- [0x002DC] = { yoffset = -0.05 }, -- tilde --- [0x000AF] = { yoffset = -0.075 }, -- bar --- [0x002D8] = { yoffset = -0.05 }, -- breve --- [0x002D9] = { yoffset = -0.05 }, -- dot --- [0x000A8] = { yoffset = -0.05 }, -- ddot --- [0x020DB] = { yoffset = 0.2 }, -- dddot (done below!) --- [0x002DA] = { width = 0 }, -- ring (bounding box is wrong) --- [0x002C7] = { yoffset = -0.05 }, -- check --- [0x020D7] = { yoffset = -0.05 }, -- vec - --- [0x00300] = { yoffset = -0.03, all = true }, -- widegrave --- [0x00301] = { yoffset = -0.03, all = true }, -- wideacute --- [0x00302] = { yoffset = -0.075, all = true }, -- widehat --- [0x00303] = { yoffset = -0.05, all = true }, -- widetilde --- [0x00304] = { yoffset = -0.02, all = true }, -- widebar --- [0x00306] = { yoffset = -0.05, all = true }, -- widebreve --- [0x00307] = { yoffset = -0.027, all = true }, -- widedot --- [0x00308] = { yoffset = -0.027, all = true }, -- wideddot --- [0x020DB] = { yoffset = -0.065, all = true }, -- widedddot --- [0x0030C] = { yoffset = -0.05, all = true }, -- widecheck --- [0x0030A] = { yoffset = -0.025, all = true }, -- widering - --- [0x0212C] = { width = 0.95, italic = 0.05 }, -- script B --- [0x1D49E] = { width = 0.8, italic = 0.25 }, -- script C --- [0x1D49F] = { width = 0.9, italic = 0.11 }, -- script D --- [0x02130] = { width = 0.85, italic = 0.18 }, -- script E --- [0x02131] = { width = 0.75, italic = 0.3 }, -- script F --- [0x1D4A2] = { width = 0.9, italic = 0.11 }, -- script G --- [0x0210B] = { width = 0.85, italic = 0.18 }, -- script H --- [0x02110] = { width = 0.8, italic = 0.25 }, -- script I --- [0x1D4A5] = { width = 0.8, italic = 0.25 }, -- script J --- [0x1D4A6] = { width = 0.9, italic = 0.11 }, -- script K --- [0x02112] = { width = 0.95, italic = 0.05 }, -- script L --- [0x02133] = { width = 0.9, italic = 0.11 }, -- script M --- [0x1D4A9] = { width = 0.85, italic = 0.18 }, -- script N --- [0x1D4AA] = { width = 0.95, italic = 0.05 }, -- script O --- [0x1D4AB] = { width = 0.8, italic = 0.25 }, -- script P --- [0x1D4AB] = { width = 0.95, italic = 0.05 }, -- script Q --- [0x0211B] = { width = 0.95, italic = 0.05 }, -- script R --- [0x1D4AE] = { width = 0.9, italic = 0.11 }, -- script S --- [0x1D4AF] = { width = 0.75, italic = 0.33 }, -- script T --- [0x1D4B0] = { width = 0.9, italic = 0.11 }, -- script U --- [0x1D4B1] = { width = 0.8, italic = 0.25 }, -- script V --- [0x1D4B2] = { width = 0.8, italic = 0.25 }, -- script W --- [0x1D4B3] = { width = 0.9, italic = 0.11 }, -- script X --- [0x1D4B4] = { width = 0.85, italic = 0.18 }, -- script Y --- [0x1D4B5] = { width = 0.95, italic = 0.05 }, -- script Z - --- Setting anchors to shift the location of accents --- Note: Many non-italic alphabets are wiped below --- Todo: Check the less common italic alphabets - --- { --- -- For non-italic alphabets we --- -- remove italic correction. --- tweak = "wipeitalics", --- list = { --- -- "digitsbold", --- -- "digitsdoublestruck", --- -- "digitsmonospace", --- -- "digitsnormal", --- -- "digitssansserifbold", --- -- "digitssansserifnormal", --- -- "lowercasebold", --- -- "lowercaseboldfraktur", --- -- "lowercasedoublestruck", --- -- "lowercasefraktur", --- "lowercasemonospace", --- -- "lowercasenormal", --- -- "lowercasesansserifbold", --- -- "lowercasesansserifnormal", --- -- "lowercasegreeknormal", --- "uppercasebold", --- -- "uppercaseboldfraktur", --- -- "uppercasedoublestruck", --- -- "uppercasefraktur", --- -- "uppercasegreekbold", --- -- "uppercasegreeknormal", --- -- "uppercasegreeksansserifbold", --- "uppercasemonospace", --- "uppercasesansserifbold", --- "uppercasesanserifnormal", --- }, --- }, diff --git a/tex/context/fonts/mkiv/lucida-opentype-math.lfg b/tex/context/fonts/mkiv/lucida-math.lfg index 6a5f5ab36..6842d505b 100644 --- a/tex/context/fonts/mkiv/lucida-opentype-math.lfg +++ b/tex/context/fonts/mkiv/lucida-math.lfg @@ -13,24 +13,24 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - RadicalDisplayStyleVerticalGap = 100, - NoLimitSupFactor = 0, - NoLimitSubFactor = 900, + -- RadicalDisplayStyleVerticalGap = 100, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 900, FractionRuleThickness = 55, -- AccentTopShiftUp = 0, -- FlattenedAccentTopShiftUp = 0, -- AccentExtendMargin = 50, - -- AccentBaseHeight = 650, - AccentBaseDepth = 150, - RadicalDegreeBottomRaisePercent = 50, - RadicalKernAfterDegree = -600, + -- AccentBaseHeight = 650, + AccentBaseDepth = 250, + -- RadicalDegreeBottomRaisePercent = 50, + -- RadicalKernAfterDegree = -600, -- RadicalRuleThickness = 35, -- 40 in font (46 in demi) DelimiterPercent = 90, DelimiterShortfall = 400, -- DisplayOperatorMinHeight = 1800, -- 1300 in font (only one) PrimeRaisePercent = 60, -- 50 default PrimeRaiseComposedPercent = 50, -- 25 default - -- AxisHeight = 325, -- we keep the old fonts as they are (also for demos) + AxisHeight = 325, -- we keep the old fonts as they are (also for demos) }, tweaks = { aftercopying = { @@ -122,6 +122,22 @@ return { { tweak = "extendaccents", }, +{ + tweak = "radicaldegreeanchors", + list = { + -- [0x221A] = { location = "left", hfactor = .05, vfactor = .675 }, + -- ["0x221A.variants.*"] = { location = "left", hfactor = .05, vfactor = .6 }, + -- ["0x221A.variants.1"] = { location = "left", hfactor = .05, vfactor = .65 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .65 }, + ["0x221A.variants.3"] = { location = "left", hfactor = 0, vfactor = .55 }, + ["0x221A.variants.4"] = { location = "left", hfactor = 0, vfactor = .50 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .05, vfactor = .525 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0, vfactor = .85 }, + } +}, { tweak = "fixaccents", }, @@ -165,9 +181,9 @@ return { { tweak = "fixslashes", }, - { - tweak = "fixellipses", - }, + -- { + -- tweak = "fixellipses", + -- }, { tweak = "addbreve", }, @@ -188,15 +204,15 @@ return { ["0x27E9.variants.*"] = { topright = -0.3, bottomright = -0.3 }, [0x27EB] = { topright = -0.2, bottomright = -0.2 }, ["0x27EB.variants.*"] = { topright = -0.3, bottomright = -0.3 }, - ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, - ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, - ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, - ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, - ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, - ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, - ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, - ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, - ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, + -- ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, + -- ["0x222C.variants.*"] = integral_variants, -- ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, + -- ["0x222D.variants.*"] = integral_variants, -- ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, + -- ["0x222E.variants.*"] = integral_variants, -- ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, + -- ["0x222F.variants.*"] = integral_variants, -- ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, + -- ["0x2230.variants.*"] = integral_variants, -- ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, + -- ["0x2231.variants.*"] = integral_variants, -- ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, + -- ["0x2232.variants.*"] = integral_variants, -- ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, + -- ["0x2233.variants.*"] = integral_variants, -- ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, }, }, @@ -205,7 +221,7 @@ return { factor = 0.8, -- accent base height -- smaller = true, -- replace multiples scale = 1.1, -- glyph scale - -- fake = 0.65, -- replace multiples with this width proportion + fake = 0.65, -- replace multiples with this width proportion -- keep = true, -- keep the text size prime (aka minute) }, { diff --git a/tex/context/fonts/mkiv/minion-math.lfg b/tex/context/fonts/mkiv/minion-math.lfg index a768c0518..82b0b0c33 100644 --- a/tex/context/fonts/mkiv/minion-math.lfg +++ b/tex/context/fonts/mkiv/minion-math.lfg @@ -26,8 +26,8 @@ return { }, mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 900, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 900, -- AccentTopShiftUp = -15, -- FlattenedAccentTopShiftUp = -15, -- AccentExtendMargin = 50, @@ -43,8 +43,8 @@ return { PrimeRaiseComposedPercent = 25, -- 25 default -- PrimeShiftUp = 0, -- PrimeBaselineDropMax = 0, - RadicalKernAfterExtensible = 100, -- 0 default - RadicalKernBeforeExtensible = 100, -- 0 default + -- RadicalKernAfterExtensible = 100, -- 0 default + -- RadicalKernBeforeExtensible = 100, -- 0 default }, tweaks = { aftercopying = { @@ -71,6 +71,23 @@ return { { tweak = "extendaccents", }, +{ + tweak = "radicaldegreeanchors", + list = { + [0x221A] = { location = "left", hfactor = -0.15, vfactor = .75 }, + ["0x221A.variants.*"] = { location = "left", hfactor = -0.1, vfactor = .575 }, + ["0x221A.variants.1"] = { location = "left", hfactor = -0.1, vfactor = .725 }, + ["0x221A.variants.2"] = { location = "left", hfactor = -0.1, vfactor = .65 }, + ["0x221A.variants.3"] = { location = "left", hfactor = -0.1, vfactor = .625 }, + ["0x221A.variants.4"] = { location = "left", hfactor = -0.1, vfactor = .625 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = 0.05, vfactor = .525 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = -0.1, vfactor = 0.85 }, + } +}, + { tweak = "fixaccents", }, diff --git a/tex/context/fonts/mkiv/modern-math.lfg b/tex/context/fonts/mkiv/modern-math.lfg new file mode 100644 index 000000000..509e5a7da --- /dev/null +++ b/tex/context/fonts/mkiv/modern-math.lfg @@ -0,0 +1,525 @@ +-- In order to be able to use beta math fonts, we use our own file name and +-- always remap. + +local common = fonts.goodies.load("common-math.lfg") +local presets = common.mathematics.tweaks.presets + +return { + name = "latin modern math", + version = "1.00", + comment = "Goodies that complement latin modern math.", + author = "Hans Hagen & Mikael Sundqvist", + copyright = "ConTeXt development team", + mathematics = { + parameters = { + FractionNumeratorDisplayStyleShiftUp = 600, -- used to be a function + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 900, + AccentTopShiftUp = -60, + FlattenedAccentTopShiftUp = -60, + -- AccentExtendMargin = 50, + -- AccentBaseHeight = 0, + -- AccentBaseDepth = 0, + -- AccentTopOvershoot = 66, + AccentSuperscriptDrop = 100, -- drop the superscripts if accents are present. Amount in percentage of height of accent(?) + AccentSuperscriptPercent = 0, + DelimiterPercent = 90, + DelimiterShortfall = 400, + -- DisplayOperatorMinHeight = 1800, -- 1300 in font (only one) + PrimeRaisePercent = 60, + PrimeRaiseComposedPercent = 15, + -- SubSuperscriptGapMin = 160, -- 160 in font + SuperscriptBaselineDropMax = 250, -- 250 in font + -- SuperscriptBottomMaxWithSubscript = 344, -- 344 in font + -- SuperscriptBottomMin = 108, -- 108 in font + SuperscriptShiftUp = 363, -- 363 in font + SuperscriptShiftUpCramped = 89, -- 289 in font + }, + tweaks = { + aftercopying = { + { + tweak = "version", + expected = "Version 1.958", + }, + { + tweak = "addmirrors", + }, + presets.scripttocalligraphic { }, + presets.rsfstoscript { }, + presets.rsfsuprighttoscript { }, + presets.moderntocalligraphic { }, + presets.eulertocalligraphic { }, + presets.xitsarabic { rscale = 0.80 }, + presets.fallbacks { }, + presets.moveitalics { correct = true }, + presets.moveitalics { correct = true, letters = true }, + presets.moveintegrals { factor = 1.4 }, + presets.wipeanchors { }, + presets.wipeitalics { }, + -- these will become moveanchors + { + tweak = "dimensions", + list = { + -- [0x1D483] = { anchor = 1.15 }, -- bold italic b + -- [0x1D485] = { anchor = 0.8 }, -- bold italic d + [0x1D487] = { anchor = 0.9 }, -- bold italic f + [0x1D489] = { anchor = 1.2 }, -- bold italic h + [0x1D48C] = { anchor = 1.2 }, -- bold italic k + [0x1D48F] = { anchor = 1.1 }, -- bold italic n + [0x1D491] = { anchor = 1.2 }, -- bold italic p + [0x1D492] = { anchor = 0.9 }, -- bold italic q + [0x1D49B] = { anchor = 0.9 }, -- bold italic z + + [0x1D736] = { anchor = 0.9 }, -- bold italic alpha + [0x1D737] = { anchor = 0.9 }, -- bold italic beta + [0x1D738] = { anchor = 1.1 }, -- bold italic gamma + [0x1D740] = { anchor = 1.2 }, -- bold italic lambda + [0x1D744] = { anchor = 1.2 }, -- bold italic omicron + + [0x1D6FE] = { anchor = 1.1 }, -- italic gamma + [0x1D702] = { anchor = 1.1 }, -- italic eta + -- [0x1D70A] = { anchor = 1.2 }, -- italic omicron -- no difference + -- [0x1D70D] = { anchor = 1.2 }, -- italic varsigma -- no difference + + [0x1D44F] = { anchor = 1.15 }, -- italic b + [0x1D451] = { anchor = 0.8, }, -- italic d + [0x1D455] = { anchor = 1.15 }, -- italic h + -- [0x1D456] = { anchor = 1.15 }, -- italic i (wrong code?) + [0x1D458] = { anchor = 1.15 }, -- italic k + [0x1D45B] = { anchor = 1.1 }, -- italic n + [0x1D45D] = { anchor = 1.1 }, -- italic p + [0x1D45E] = { anchor = 0.9 }, -- italic q + [0x1D467] = { anchor = 0.9 }, -- italic z + + [0x1D6FE] = { anchor = 1.2 }, -- italic gamma + [0x1D706] = { anchor = 1.2 }, -- italic lambda + [0x1D70A] = { anchor = 1.1 }, -- italic omikron + [0x1D70D] = { anchor = 1.1 }, -- italic varsigma + + [0x1D46A] = { anchor = 0.75 }, -- bold italic C + [0x1D46B] = { anchor = 1.1 }, -- bold italic D + [0x1D46E] = { anchor = 0.75 }, -- bold italic G + [0x1D479] = { anchor = 1.2 }, -- bold italic R + [0x1D47A] = { anchor = 0.8 }, -- bold italic S + + -- uppercaseboldscript could be improved + + [0x1D435] = { anchor = 1.05 }, -- italic B + [0x1D436] = { anchor = 0.7 }, -- italic C + [0x1D437] = { anchor = 1.05 }, -- italic D + [0x1D43A] = { anchor = 0.8 }, -- italic G + [0x1D443] = { anchor = 1.1 }, -- italic P + [0x1D445] = { anchor = 1.05 }, -- italic R + [0x1D446] = { anchor = 0.85 }, -- italic S + + [0x1D49C] = { anchor = 0.9 }, -- script A + [0x1D49D] = { anchor = 0.95 }, -- script B + [0x1D49E] = { anchor = 0.8 }, -- script C + [0x1D49F] = { anchor = 0.95 }, -- script D + [0x1D4A0] = { anchor = 0.85 }, -- script E + [0x1D4A1] = { anchor = 0.75 }, -- script F + [0x1D4A2] = { anchor = 0.9 }, -- script G + [0x1D4A3] = { anchor = 0.85 }, -- script H + [0x1D4A4] = { anchor = 0.8 }, -- script I + [0x1D4A5] = { anchor = 0.8 }, -- script J + [0x1D4A6] = { anchor = 0.85 }, -- script K + [0x1D4A7] = { anchor = 0.75 }, -- script L + [0x1D4A8] = { anchor = 0.9 }, -- script M + [0x1D4A9] = { anchor = 0.85 }, -- script N + [0x1D4AA] = { anchor = 0.95 }, -- script O + [0x1D4AB] = { anchor = 0.95 }, -- script P + [0x1D4AC] = { anchor = 0.95 }, -- script Q + [0x1D4AD] = { anchor = 0.95 }, -- script R + [0x1D4AE] = { anchor = 0.9 }, -- script S + [0x1D4AF] = { anchor = 0.75 }, -- script T + [0x1D4B0] = { anchor = 0.9, }, -- script U + [0x1D4B1] = { anchor = 0.95 }, -- script V + [0x1D4B2] = { anchor = 0.95 }, -- script W + [0x1D4B3] = { anchor = 0.95 }, -- script X + [0x1D4B4] = { anchor = 0.9 }, -- script Y + [0x1D4B5] = { anchor = 1 }, -- script Z + + -- [984874] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, + -- [984881] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, + -- [984888] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, + -- [984895] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, + -- [984902] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, + -- [984909] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, + -- [984916] = { squeeze = 0.50, height = 0.50, depth = 0.50 }, + + -- ["0x7C.variants.*"] = { squeeze = 0.75, height = 0.75, depth = 0.75, extend = 1.15, width = 1.15 }, -- squeeze: glyph, height, depth: bbox + -- ["0x7C.variants.*"] = { squeeze = 0.75, height = 0.8, depth = 0.8, extend = 1.1, width = 1.1 }, -- squeeze: glyph, height, depth: bbox + + ["0x7C.variants.1"]={ squeeze = 0.90, height = 0.90, depth = 0.90 }, + ["0x7C.variants.2"]={ squeeze = 0.85, height = 0.85, depth = 0.85 }, + ["0x7C.variants.3"]={ squeeze = 0.80, height = 0.80, depth = 0.80 }, + ["0x7C.variants.4"]={ squeeze = 0.80, height = 0.80, depth = 0.80 }, + ["0x7C.variants.5"]={ squeeze = 0.80, height = 0.80, depth = 0.80 }, + ["0x7C.variants.6"]={ squeeze = 0.80, height = 0.80, depth = 0.80 }, + ["0x7C.variants.7"]={ squeeze = 0.80, height = 0.80, depth = 0.80 }, + + -- [utf.byte("1")] = { + -- original = utf.byte("2"), + -- mode = 1, + -- scale = 2, + -- }, + + -- ["lowercasegreeksansserifbolditalic"] = { + -- delta = 0x003B1 - 0x1D7AA, + -- slant = 0.4, + -- slant = -0.2, + -- line = 0.1, + -- mode = 1, + -- width = 1.25, + -- width = 0.95, + -- scale = 0.975, + -- }, + }, + }, + + -- Accents are a mess. We migrate the extensibles from the combiners to the base accent + -- and then need to tweak the width (which is auto set because it was zero with a large + -- accent anchor offset). First we copy and fix. + { + tweak = "extendaccents", + }, + +{ + tweak = "radicaldegreeanchors", + list = { + -- [0x221A] = { location = "left", hfactor = 0.05, vfactor = .675 }, + -- ["0x221A.variants.*"] = { location = "left", hfactor = 0.05, vfactor = .6 }, + -- ["0x221A.variants.1"] = { location = "left", hfactor = 0.05, vfactor = .65 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .65 }, + -- ["0x221A.variants.3"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = 0.05, vfactor = .525 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0.05, vfactor = 1.05 }, + } +}, + + { + tweak = "fixaccents", + }, + -- First we set the dimensions of the initial accent which started out as zero but we want + -- a proper width. + { + tweak = "dimensions", + list = { + -- [0x00300] = { width = 0.8 }, -- widegrave + -- [0x00301] = { width = 0.9 }, -- wideacute + [0x00302] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widehat + [0x00303] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widetilde + [0x00306] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widebreve + -- [0x0030A] = { width = 0.9, xoffset = -.0 }, -- widering + [0x0030C] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widecheck + }, + }, + -- Then we deal with all offsets and heights in one go. So we treat the initial accent + -- as well as the variants here. + { + tweak = "dimensions", + list = { + -- here we want to apply to all + -- [0x00300] = { yoffset = -0.02, height = .95, all = true }, -- widegrave : 0x0060 + -- [0x00301] = { yoffset = -0.02, height = .95, all = true }, -- wideacute : 0x00B4 + -- [0x00302] = { yoffset = -0.03, height = .95, all = true }, -- widehat : 0x02C6 + -- [0x00303] = { yoffset = -0.02, height = .95, all = true }, -- widetilde : 0x02DC + -- [0x00306] = { yoffset = -0.03, height = .95, all = true }, -- widebre : 0x02D8 + -- [0x0030A] = { yoffset = 0.00, height = .95, all = true }, -- widering : 0x02DA + -- [0x0030C] = { yoffset = -0.03, height = .95, all = true }, -- widecheck : 0x02C7 + -- [0x00304] = { yoffset = -0.05, height = .95, all = true }, -- widebar : 0x00AF + -- [0x00307] = { yoffset = -0.03, height = .95, all = true }, -- widedot : 0x02D9 + -- [0x00308] = { yoffset = -0.03, height = .95, all = true }, -- wideddot : 0x00A8 + [0x020DB] = { yoffset = -0.015, height = .95, all = true }, -- widedddot : 0x20DB (self) + }, + }, + -- We now copy these to the not wide slots so that we can set these to stretch as well, + -- if only because it is less confusing and more consistent. + { + tweak = "copyaccents", + }, + -- So far for the accents. + + { + -- Here we modify "corner kerns". + -- We started with 0x2F, the solidus + -- to have the 2 in x^2/5 a bit over the slash + tweak = "kerns", + list = { + [0x0002F] = { topleft = -0.2, bottomright = -0.2 }, -- solidus + -- + [0x1D49C] = { bottomright = -0.05, }, -- script A + [0x1D49D] = { bottomright = -0.05, }, -- script B + [0x1D49E] = { bottomright = -0.25, }, -- script C + [0x1D49F] = { bottomright = -0.11, }, -- script D + [0x1D4A0] = { bottomright = -0.18, }, -- script E + [0x1D4A1] = { bottomright = -0.30, }, -- script F + [0x1D4A2] = { bottomright = -0.11, }, -- script G + [0x1D4A3] = { bottomright = -0.18, }, -- script H + [0x1D4A4] = { bottomright = -0.25, }, -- script I + [0x1D4A5] = { bottomright = -0.25, }, -- script J + [0x1D4A6] = { bottomright = -0.11, }, -- script K + [0x1D4A7] = { bottomright = -0.05, }, -- script L + [0x1D4A8] = { bottomright = -0.11, }, -- script M + [0x1D4A9] = { bottomright = -0.18, }, -- script N + [0x1D4AA] = { bottomright = -0.05, }, -- script O + [0x1D4AB] = { bottomright = -0.25, }, -- script P + [0x1D4AC] = { bottomright = -0.05, }, -- script Q + [0x1D4AD] = { bottomright = -0.05, }, -- script R + [0x1D4AE] = { bottomright = -0.11, }, -- script S + [0x1D4AF] = { bottomright = -0.33, }, -- script T + [0x1D4B0] = { bottomright = -0.11, }, -- script U + [0x1D4B1] = { bottomright = -0.25, }, -- script V + [0x1D4B2] = { bottomright = -0.25, }, -- script W + [0x1D4B3] = { bottomright = -0.11, }, -- script X + [0x1D4B4] = { bottomright = -0.18, }, -- script Y + [0x1D4B5] = { bottomright = -0.05, }, -- script Z + -- + ["0x7D.parts.top"] = { topright = -0.25 }, -- right brace top + ["0x7D.parts.bottom"] = { bottomright = -0.25 }, -- right brace bottom + ["0x7D.variants.*"] = { topright = -0.25, bottomright = -0.25 }, -- right brace variants + ["0x29.parts.top"] = { topright = -0.3, }, -- right parenthesis top + ["0x29.parts.bottom"] = { bottomright = -0.3 }, -- right parenthesis bottom + ["0x29.variants.*"] = { topright = -0.25, bottomright = -0.25 }, -- right parenthesis variants + ["0x221A.parts.top"] = { topright = 0.2, }, -- right radical top + ["0x221A.parts.bottom"] = { bottomright = 0.2 }, -- right radical bottom + ["0x221A.variants.*"] = { topright = 0.2, bottomright = 0.2 }, -- right radical variants + [0x27E9] = { topright = -0.2, bottomright = -0.2 }, -- angles + ["0x27E9.variants.*"] = { topright = -0.3, bottomright = -0.3 }, + [0x27EB] = { topright = -0.2, bottomright = -0.2 }, + ["0x27EB.variants.*"] = { topright = -0.3, bottomright = -0.3 }, + + }, + }, + -- { + -- tweak = "staircase", + -- list = { + -- }, + -- }, + { + -- This one fakes margins to get larger/smaller accents + -- with for example \widetilde. + tweak = "margins", + list = { + [0x1D487] = { left = -.2, right = -.2 }, -- bold italic f + [0x1D489] = { left = -.2, right = -.2 }, -- bold italic h + [0x1D496] = { left = -.1, right = -.1 }, -- bold italic u + [0x1D499] = { left = -.1, right = -.1 }, -- bold italic x + + [0x1D711] = { left = -.1, right = -.1 }, -- italic varphi + [0x1D713] = { left = -.1, right = -.1 }, -- italic psi + + [0x1D659] = { left = -.1, right = -.1 }, -- sans bold italic d + [0x1D65C] = { left = -.1, right = -.1 }, -- sans bold italic g + + [0x1D409] = { left = .1, right = .1 }, -- bold upright J + [0x1D412] = { left = .1, right = .1 }, -- bold upright S + + [0x1D509] = { left = .1, right = .1 }, -- fraktur F + [0x1D50C] = { left = .1, right = .1 }, -- fraktur I + [0x1D50D] = { left = .1, right = .1 }, -- fraktur J + [0x1D51D] = { left = .1, right = .1 }, -- fraktur Z + + [0x1D538] = { left = .1, right = .1 }, -- doublestruck A + [0x1D539] = { left = .1, right = .1 }, -- doublestruck B + [0x1D53C] = { left = .1, right = .1 }, -- doublestruck E + [0x1D53D] = { left = .1, right = .1 }, -- doublestruck F + [0x1D541] = { left = .1, right = .1 }, -- doublestruck J + [0x1D542] = { left = .1, right = .1 }, -- doublestruck K + [0x1D543] = { left = .1, right = .1 }, -- doublestruck L + [0x1D547] = { left = .1, right = .1 }, -- doublestruck P + [0x1D549] = { left = .1, right = .1 }, -- doublestruck R + [0x1D54A] = { left = .1, right = .1 }, -- doublestruck S + [0x1D54B] = { left = .1, right = .1 }, -- doublestruck T + [0x1D54D] = { left = .1, right = .1 }, -- doublestruck V + [0x1D550] = { left = .1, right = .1 }, -- doublestruck Y + + [0x1D506] = { left = .1, right = .1 }, -- fraktur C + + [0x00393] = { left = .1, right = .1 }, -- upfight Gamma + [0x00396] = { left = .1, right = .1 }, -- upfight Zeta + + [0x1D5D8] = { left = .1, right = .1 }, -- sans bold E + [0x1D5D9] = { left = .1, right = .1 }, -- sans bold F + -- [0x1D5DD] = { left = .2, right = .2 }, -- sans bold J -- nope + [0x1D5DF] = { left = .1, right = .1 }, -- sans bold L + [0x1D5E6] = { left = .1, right = .1 }, -- sans bold S + + [0x1D61A] = { left = .1, right = .1 }, -- sans italic S + + [0x1D5A2] = { left = .1, right = .1 }, -- sans C + [0x1D5A4] = { left = .1, right = .1 }, -- sans E + [0x1D5A5] = { left = .1, right = .1 }, -- sans F + -- [0x1D5AB] = { left = .1, right = .1 }, -- sans L -- nope + [0x1D5AF] = { left = .1, right = .1 }, -- sans P + [0x1D5B2] = { left = .1, right = .1 }, -- sans S + [0x1D5B9] = { left = .1, right = .1 }, -- sans Z + + [0x1D4A0] = { left = .1, right = .1 }, -- script E + [0x1D4AE] = { left = .1, right = .1 }, -- script S + [0x1D4B4] = { left = .1, right = .1 }, -- script Y + + -- [0x0004A] = { left = .2, right = .2 }, -- J + [0x0004C] = { left = .1, right = .1 }, -- L + [0x00053] = { left = .1, right = .1 }, -- S + [0x0005A] = { left = .1, right = .1 }, -- Z + + [0x1D43D] = { left = -.1, right = -.1 }, -- italic J + [0x1D409] = { left = -.1, right = -.1 }, -- bold J + [0x1D471] = { left = -.1, right = -.1 }, -- bold italic J + [0x1D4D9] = { left = -.05, right = -.05 }, -- bold script J + }, + }, + { + tweak = "fixprimes", + factor = 1.05, + -- smaller = true, + scale = 0.9, + -- fake = 0.6, + }, + { + tweak = "checkspacing", + }, + { + tweak = "fixradicals", + }, + { + tweak = "addprivates", + }, + { + tweak = "addscripts", + }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, + { + tweak = "addbars", + advance = 0.52, + }, + { + tweak = "addactuarian", + }, + { + tweak = "addfourier", + variant = 1, + }, + { + tweak = "addequals", + }, + -- { + -- tweak = "wipevariants", + -- list = { + -- 0x7C, + -- }, + -- }, + -- this is the mkiv section + { + tweak = "emulatelmtx", + feature = "emulatelmtx", + comment = "this is for mkiv", + }, + }, + }, + bigslots = { + -- 1, 3, 5, 7 -- In fact, 7 is the last one. + 1, 4, 6, 7 -- In fact, 7 is the last one. + }, + }, +} + +-- For now we keep these commented as they show where we came from. + +-- [0x00060] = { yoffset = -0.05 }, -- grave +-- [0x000B4] = { yoffset = -0.05 }, -- acute +-- [0x002C6] = { yoffset = -0.05 }, -- hat +-- [0x002DC] = { yoffset = -0.05 }, -- tilde +-- [0x000AF] = { yoffset = -0.075 }, -- bar +-- [0x002D8] = { yoffset = -0.05 }, -- breve +-- [0x002D9] = { yoffset = -0.05 }, -- dot +-- [0x000A8] = { yoffset = -0.05 }, -- ddot +-- [0x020DB] = { yoffset = 0.2 }, -- dddot (done below!) +-- [0x002DA] = { width = 0 }, -- ring (bounding box is wrong) +-- [0x002C7] = { yoffset = -0.05 }, -- check +-- [0x020D7] = { yoffset = -0.05 }, -- vec + +-- [0x00300] = { yoffset = -0.03, all = true }, -- widegrave +-- [0x00301] = { yoffset = -0.03, all = true }, -- wideacute +-- [0x00302] = { yoffset = -0.075, all = true }, -- widehat +-- [0x00303] = { yoffset = -0.05, all = true }, -- widetilde +-- [0x00304] = { yoffset = -0.02, all = true }, -- widebar +-- [0x00306] = { yoffset = -0.05, all = true }, -- widebreve +-- [0x00307] = { yoffset = -0.027, all = true }, -- widedot +-- [0x00308] = { yoffset = -0.027, all = true }, -- wideddot +-- [0x020DB] = { yoffset = -0.065, all = true }, -- widedddot +-- [0x0030C] = { yoffset = -0.05, all = true }, -- widecheck +-- [0x0030A] = { yoffset = -0.025, all = true }, -- widering + +-- [0x0212C] = { width = 0.95, italic = 0.05 }, -- script B +-- [0x1D49E] = { width = 0.8, italic = 0.25 }, -- script C +-- [0x1D49F] = { width = 0.9, italic = 0.11 }, -- script D +-- [0x02130] = { width = 0.85, italic = 0.18 }, -- script E +-- [0x02131] = { width = 0.75, italic = 0.3 }, -- script F +-- [0x1D4A2] = { width = 0.9, italic = 0.11 }, -- script G +-- [0x0210B] = { width = 0.85, italic = 0.18 }, -- script H +-- [0x02110] = { width = 0.8, italic = 0.25 }, -- script I +-- [0x1D4A5] = { width = 0.8, italic = 0.25 }, -- script J +-- [0x1D4A6] = { width = 0.9, italic = 0.11 }, -- script K +-- [0x02112] = { width = 0.95, italic = 0.05 }, -- script L +-- [0x02133] = { width = 0.9, italic = 0.11 }, -- script M +-- [0x1D4A9] = { width = 0.85, italic = 0.18 }, -- script N +-- [0x1D4AA] = { width = 0.95, italic = 0.05 }, -- script O +-- [0x1D4AB] = { width = 0.8, italic = 0.25 }, -- script P +-- [0x1D4AB] = { width = 0.95, italic = 0.05 }, -- script Q +-- [0x0211B] = { width = 0.95, italic = 0.05 }, -- script R +-- [0x1D4AE] = { width = 0.9, italic = 0.11 }, -- script S +-- [0x1D4AF] = { width = 0.75, italic = 0.33 }, -- script T +-- [0x1D4B0] = { width = 0.9, italic = 0.11 }, -- script U +-- [0x1D4B1] = { width = 0.8, italic = 0.25 }, -- script V +-- [0x1D4B2] = { width = 0.8, italic = 0.25 }, -- script W +-- [0x1D4B3] = { width = 0.9, italic = 0.11 }, -- script X +-- [0x1D4B4] = { width = 0.85, italic = 0.18 }, -- script Y +-- [0x1D4B5] = { width = 0.95, italic = 0.05 }, -- script Z + +-- Setting anchors to shift the location of accents +-- Note: Many non-italic alphabets are wiped below +-- Todo: Check the less common italic alphabets + +-- { +-- -- For non-italic alphabets we +-- -- remove italic correction. +-- tweak = "wipeitalics", +-- list = { +-- -- "digitsbold", +-- -- "digitsdoublestruck", +-- -- "digitsmonospace", +-- -- "digitsnormal", +-- -- "digitssansserifbold", +-- -- "digitssansserifnormal", +-- -- "lowercasebold", +-- -- "lowercaseboldfraktur", +-- -- "lowercasedoublestruck", +-- -- "lowercasefraktur", +-- "lowercasemonospace", +-- -- "lowercasenormal", +-- -- "lowercasesansserifbold", +-- -- "lowercasesansserifnormal", +-- -- "lowercasegreeknormal", +-- "uppercasebold", +-- -- "uppercaseboldfraktur", +-- -- "uppercasedoublestruck", +-- -- "uppercasefraktur", +-- -- "uppercasegreekbold", +-- -- "uppercasegreeknormal", +-- -- "uppercasegreeksansserifbold", +-- "uppercasemonospace", +-- "uppercasesansserifbold", +-- "uppercasesanserifnormal", +-- }, +-- }, diff --git a/tex/context/fonts/mkiv/pagella-math.lfg b/tex/context/fonts/mkiv/pagella-math.lfg index 032450426..8c60759ab 100644 --- a/tex/context/fonts/mkiv/pagella-math.lfg +++ b/tex/context/fonts/mkiv/pagella-math.lfg @@ -13,8 +13,8 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 900, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 900, AccentTopShiftUp = 10, FlattenedAccentTopShiftUp = 10, -- AccentExtendMargin = 50, @@ -22,9 +22,9 @@ return { AccentBaseDepth = 80, -- SpaceAfterScript = 0, -- SpaceAfterScript = 30, - RadicalDegreeBottomRaisePercent = 60, - RadicalKernAfterDegree = -500, - RadicalRuleThickness = 54, -- 60 in font + -- RadicalDegreeBottomRaisePercent = 60, + -- RadicalKernAfterDegree = -500, + -- RadicalRuleThickness = 54, -- 60 in font DelimiterPercent = 90, DelimiterShortfall = 400, DisplayOperatorMinHeight = 1800, -- 1500 in font @@ -49,8 +49,8 @@ return { { tweak = "replacealphabets", feature = "euleroverpagella", - filename = "euler.otf", - list = { + filename = "euler-math.otf", + list = { -- { source = { first = 0x02100, last = 0x0210D } }, -- no 0x2210E -- { source = { first = 0x0210F, last = 0x02BFF } }, { source = { first = 0x02100, last = 0x02BFF } }, @@ -106,6 +106,22 @@ return { { tweak = "extendaccents", }, +{ + tweak = "radicaldegreeanchors", + list = { + -- [0x221A] = { location = "left", hfactor = 0.05 }, + -- ["0x221A.variants.*"] = { location = "left", hfactor = 0.05 }, + -- ["0x221A.variants.1"] = { location = "left", hfactor = 0.05, vfactor = .65 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .65 }, + -- ["0x221A.variants.3"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = 0.05, vfactor = .525 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0.0, vfactor = 1.1 }, + } +}, { tweak = "fixaccents", }, @@ -174,15 +190,19 @@ return { [0x27EB] = { topright = -0.2, bottomright = -0.2 }, ["0x27EB.variants.*"] = { topright = -0.3, bottomright = -0.3 }, -- - ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, - ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, - ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, - ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, - ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, - ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, - ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, - ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, - ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, + ["0x222B.parts.bottom"] = { bottomright = -0.20 }, -- int + ["0x222C.parts.bottom"] = { bottomright = -0.15 }, -- iint + ["0x222D.parts.bottom"] = { bottomright = -0.10 }, -- iiint + ["0x2A0C.parts.bottom"] = { bottomright = -0.05 }, -- iiiint + -- ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, + -- ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, + -- ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, + -- ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, + -- ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, + -- ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, + -- ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, + -- ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, + -- ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, }, }, { diff --git a/tex/context/fonts/mkiv/schola-math.lfg b/tex/context/fonts/mkiv/schola-math.lfg index 9a7b3dca6..8666690da 100644 --- a/tex/context/fonts/mkiv/schola-math.lfg +++ b/tex/context/fonts/mkiv/schola-math.lfg @@ -12,16 +12,16 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 900, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 900, AccentTopShiftUp = -15, FlattenedAccentTopShiftUp = -15, -- AccentExtendMargin = 50, -- AccentBaseHeight = 0, AccentBaseDepth = 30, - RadicalDegreeBottomRaisePercent = 60, - RadicalKernAfterDegree = -500, - RadicalRuleThickness = 64, -- 70 in font + -- RadicalDegreeBottomRaisePercent = 60, + -- RadicalKernAfterDegree = -500, + -- RadicalRuleThickness = 64, -- 70 in font DelimiterPercent = 90, DelimiterShortfall = 400, DisplayOperatorMinHeight = 1800, -- 1333 in font @@ -72,15 +72,19 @@ return { [0x27EB] = { topright = -0.1, bottomright = -0.1 }, ["0x27EB.variants.*"] = { topright = -0.2, bottomright = -0.2 }, -- - ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, - ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, - ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, - ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, - ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, - ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, - ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, - ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, - ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, + ["0x222B.parts.bottom"] = { bottomright = -0.20 }, -- int + ["0x222C.parts.bottom"] = { bottomright = -0.15 }, -- iint + ["0x222D.parts.bottom"] = { bottomright = -0.10 }, -- iiint + ["0x2A0C.parts.bottom"] = { bottomright = -0.05 }, -- iiiint + -- ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, + -- ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, + -- ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, + -- ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, + -- ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, + -- ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, + -- ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, + -- ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, + -- ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, }, }, @@ -91,6 +95,22 @@ return { { tweak = "extendaccents", }, +{ + tweak = "radicaldegreeanchors", + list = { + -- [0x221A] = { location = "left", hfactor = 0.05 }, + -- ["0x221A.variants.*"] = { location = "left", hfactor = 0.05 }, + -- ["0x221A.variants.1"] = { location = "left", hfactor = 0.05, vfactor = .65 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .65 }, + -- ["0x221A.variants.3"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = 0.05, vfactor = .525 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0.05, vfactor = 1.1 }, + } +}, { tweak = "fixaccents", }, diff --git a/tex/context/fonts/mkiv/stix-two-math.lfg b/tex/context/fonts/mkiv/stixtwo-math.lfg index 1f370359f..ab5b884ad 100644 --- a/tex/context/fonts/mkiv/stix-two-math.lfg +++ b/tex/context/fonts/mkiv/stixtwo-math.lfg @@ -28,16 +28,16 @@ return { circled = { feature = 'ss16', value = 1, comment = "Mathematical Alternative Circled Operators" }, }, parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 1000, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 1000, -- AccentBaseHeight = 0, AccentBaseDepth = 30, FlattenedAccentTopShiftUp = 0, -- AccentExtendMargin = 50, - RadicalDegreeBottomRaisePercent = 65, + -- RadicalDegreeBottomRaisePercent = 65, -- RadicalKernBeforeDegree = 500, RadicalKernAfterDegree = -500, - RadicalVerticalGap = 10, + -- RadicalVerticalGap = 10, -- RadicalRuleThickness = 68, -- 68 in font (but shifted down) DelimiterPercent = 90, DelimiterShortfall = 400, @@ -108,15 +108,19 @@ return { [0x27EB] = { topright = -0.1, bottomright = -0.1 }, ["0x27EB.variants.*"] = { topright = -0.2, bottomright = -0.2 }, -- - ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, - ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, - ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, - ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, - ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, - ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, - ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, - ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, - ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, + ["0x222B.parts.bottom"] = { bottomright = -0.30 }, -- int + -- ["0x222C.parts.bottom"] = { bottomright = -0.15 }, -- iint does not exist + -- ["0x222D.parts.bottom"] = { bottomright = -0.10 }, -- iiint does not exist + -- ["0x2A0C.parts.bottom"] = { bottomright = -0.05 }, -- iiiint does not exist + -- -- ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, + -- ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, + -- ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, + -- ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, + -- ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, + -- ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, + -- ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, + -- ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, + -- ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, }, }, -- Accents are a mess. We migrate the extensibles from the combiners to the base accent @@ -125,6 +129,24 @@ return { { tweak = "extendaccents", }, + +{ + tweak = "radicaldegreeanchors", + list = { + [0x221A] = { location = "left", hfactor = 0.00, vfactor = 0.7 }, + ["0x221A.variants.*"] = { location = "left", hfactor = 0.00, vfactor = 0.55 }, + -- ["0x221A.variants.1"] = { location = "left", hfactor = 0.05, vfactor = .65 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .65 }, + ["0x221A.variants.3"] = { location = "left", hfactor = 0.00, vfactor = .525 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = 0.05, vfactor = .525 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0.05, vfactor = 1.00 }, + } +}, + { tweak = "fixaccents", }, diff --git a/tex/context/fonts/mkiv/termes-math.lfg b/tex/context/fonts/mkiv/termes-math.lfg index 6e3eb9306..cd4536b55 100644 --- a/tex/context/fonts/mkiv/termes-math.lfg +++ b/tex/context/fonts/mkiv/termes-math.lfg @@ -12,15 +12,15 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - NoLimitSupFactor = 0, - NoLimitSubFactor = 900, + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 900, AccentTopShiftUp = -15, FlattenedAccentTopShiftUp = -15, -- AccentExtendMargin = 50, -- AccentBaseHeight = 0, AccentBaseDepth = 50, - RadicalDegreeBottomRaisePercent = 60, - RadicalRuleThickness = 46, -- 52 in font + -- RadicalDegreeBottomRaisePercent = 60, + -- RadicalRuleThickness = 46, -- 52 in font DelimiterPercent = 90, DelimiterShortfall = 400, DisplayOperatorMinHeight = 1800, -- 1300 in font (only one) @@ -71,15 +71,19 @@ return { [0x27EB] = { topright = -0.1, bottomright = -0.1 }, ["0x27EB.variants.*"] = { topright = -0.2, bottomright = -0.2 }, -- - ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, - ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, - ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, - ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, - ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, - ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, - ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, - ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, - ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, + ["0x222B.parts.bottom"] = { bottomright = -0.20 }, -- int + ["0x222C.parts.bottom"] = { bottomright = -0.15 }, -- iint + ["0x222D.parts.bottom"] = { bottomright = -0.10 }, -- iiint + ["0x2A0C.parts.bottom"] = { bottomright = -0.05 }, -- iiiint + -- ["0x222B.variants.*"] = integral_variants, ["0x222B.parts.top"] = integral_top, ["0x222B.parts.bottom"] = integral_bottom, + -- ["0x222C.variants.*"] = integral_variants, ["0x222C.parts.top"] = integral_top, ["0x222C.parts.bottom"] = integral_bottom, + -- ["0x222D.variants.*"] = integral_variants, ["0x222D.parts.top"] = integral_top, ["0x222D.parts.bottom"] = integral_bottom, + -- ["0x222E.variants.*"] = integral_variants, ["0x222E.parts.top"] = integral_top, ["0x222E.parts.bottom"] = integral_bottom, + -- ["0x222F.variants.*"] = integral_variants, ["0x222F.parts.top"] = integral_top, ["0x222F.parts.bottom"] = integral_bottom, + -- ["0x2230.variants.*"] = integral_variants, ["0x2230.parts.top"] = integral_top, ["0x2230.parts.bottom"] = integral_bottom, + -- ["0x2231.variants.*"] = integral_variants, ["0x2231.parts.top"] = integral_top, ["0x2231.parts.bottom"] = integral_bottom, + -- ["0x2232.variants.*"] = integral_variants, ["0x2232.parts.top"] = integral_top, ["0x2232.parts.bottom"] = integral_bottom, + -- ["0x2233.variants.*"] = integral_variants, ["0x2233.parts.top"] = integral_top, ["0x2233.parts.bottom"] = integral_bottom, }, }, -- Accents are a mess. We migrate the extensibles from the combiners to the base accent @@ -88,6 +92,22 @@ return { { tweak = "extendaccents", }, +{ + tweak = "radicaldegreeanchors", + list = { + [0x221A] = { location = "left", hfactor = 0.0, vfactor = 0.6 }, + ["0x221A.variants.*"] = { location = "left", hfactor = 0.0, vfactor = 0.6 }, + -- ["0x221A.variants.1"] = { location = "left", hfactor = 0.05, vfactor = .65 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .65 }, + -- ["0x221A.variants.3"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = 0.05, vfactor = .525 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0.05, vfactor = 1.1 }, + } +}, { tweak = "fixaccents", }, diff --git a/tex/context/fonts/mkiv/type-imp-asana.mkiv b/tex/context/fonts/mkiv/type-imp-asana.mkiv deleted file mode 100644 index c48d3b7ad..000000000 --- a/tex/context/fonts/mkiv/type-imp-asana.mkiv +++ /dev/null @@ -1,35 +0,0 @@ -%D \module -%D [ file=type-imp-asana, -%D version=2007.07.30, -%D title=\CONTEXT\ Typescript Macros, -%D subtitle=Asana, -%D author=Hans Hagen, -%D date=\currentdate, -%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] -%C -%C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. - -\loadtypescriptfile[texgyre] - -\starttypescriptcollection [asanamath] - - \starttypescript [\s!math] [asana] - \definefontsynonym [AsanaMath] [\s!name:asanamath] - \stoptypescript - - \starttypescript [\s!math] [asana] [\s!name] - \loadfontgoodies[asana-math] - \definefontsynonym [MathRoman] [AsanaMath] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=asana-math] - \stoptypescript - - \starttypescript[asana] - \definetypeface [\typescriptone] [\s!rm] [\s!serif] [palatino] [\s!default] - \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default] [\s!rscale=1.075] - \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern] [\s!default] [\s!rscale=1.075] - \definetypeface [\typescriptone] [\s!mm] [\s!math] [\typescriptone] [\s!default] - \quittypescriptscanning - \stoptypescript - -\stoptypescriptcollection diff --git a/tex/context/fonts/mkiv/type-imp-cambria.mkiv b/tex/context/fonts/mkiv/type-imp-cambria.mkiv index 0ccb4409e..345778149 100644 --- a/tex/context/fonts/mkiv/type-imp-cambria.mkiv +++ b/tex/context/fonts/mkiv/type-imp-cambria.mkiv @@ -22,7 +22,12 @@ \doifunknownfontfeature {cambria-math-bold} {\definefontfeature[cambria-math-bold][boldened]} - \starttypescript [\s!math,\s!serif] [cambria,cambria-x,cambria-y] + \starttypescript [\s!math] [cambria,cambria-x,cambria-y,cambria-nt,cambria-m,cambria-a] + \checkedmapfontsize[\typescripttwo][\s!script] [.73] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.60] + \stoptypescript + + \starttypescript [\s!math,\s!serif] [cambria,cambria-x,cambria-y,cambria-nt] % whatever matches \definefontsynonym [CambriaMath] [\s!name:cambriamath] \definefontsynonym [CambriaSerif] [\s!name:cambria] @@ -47,6 +52,11 @@ \definefontsynonym [\s!MathRoman] [CambriaMath] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=cambria-math] \definefontsynonym [\s!MathRomanBold] [CambriaMath] [\s!features={\s!math\mathsizesuffix,cambria-math-bold,mathextra},\s!goodies=cambria-math] \stoptypescript + \starttypescript [\s!math] [cambria-nt] [\s!name] + \loadfontgoodies[cambria-math] + \definefontsynonym [\s!MathRoman] [CambriaMath] [\s!features={\s!math\mathsizesuffix,mathextra}] + \definefontsynonym [\s!MathRomanBold] [CambriaMath] [\s!features={\s!math\mathsizesuffix,cambria-math-bold,mathextra}] + \stoptypescript \starttypescript [\s!math] [cambria-x] [\s!name] \loadfontgoodies[cambria-math] \definefontsynonym [\s!MathRoman] [CambriaMath] [\s!features={\s!math,mathextra},\s!goodies=cambria-math] @@ -58,7 +68,7 @@ \definefontsynonym [\s!MathRomanBold] [CambriaMath] [\s!features={\s!math-nostack\mathsizesuffix,cambria-math-bold,mathextra},\s!goodies=cambria-math] \stoptypescript - \starttypescript [\s!serif] [cambria,cambria-m,cambria-a] [\s!name] + \starttypescript [\s!serif] [cambria,cambria-m,cambria-a,cambria-nt] [\s!name] \setups[\s!font:\s!fallback:\s!serif] \definefontsynonym [\s!Serif] [CambriaSerif] [\s!features=\s!default,\s!goodies=cambria] \definefontsynonym [\s!SerifBold] [\s!name:cambriabold] [\s!features=\s!default,\s!goodies=cambria] @@ -72,7 +82,7 @@ \definetypeface [cambria] [\s!tt] [\s!mono] [dejavu] [\s!default] \definetypeface [cambria] [\s!mm] [\s!math] [\typescriptone] [\s!default] \stoptypescript - \starttypescript [cambria-x,cambria-y] + \starttypescript [cambria-x,cambria-y,cambria-nt] % test x \definetypeface [\typescriptone] [\s!rm] [\s!serif] [cambria] [\s!default] \definetypeface [\typescriptone] [\s!tt] [\s!mono] [dejavu] [\s!default] diff --git a/tex/context/fonts/mkiv/type-imp-concrete.mkiv b/tex/context/fonts/mkiv/type-imp-concrete.mkiv index 5e4e6bc76..0ecee3e8b 100644 --- a/tex/context/fonts/mkiv/type-imp-concrete.mkiv +++ b/tex/context/fonts/mkiv/type-imp-concrete.mkiv @@ -20,7 +20,7 @@ %\definefontfeature[default-slanted-concrete][default][slant=.2] %\definefontfeature[none-slanted-concrete] [none] [slant=.2] - \starttypescript [\s!serif] [concrete-serif] + \starttypescript [\s!serif] [concrete] \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] @@ -29,7 +29,7 @@ \definefontsynonym [\s!SerifBoldSlanted] [\s!file:cmunobx] [\s!features=default-slanted-concrete] \stoptypescript - \starttypescript [\s!sans] [concrete-sans] + \starttypescript [\s!sans] [concrete] \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] @@ -38,7 +38,7 @@ \definefontsynonym [\s!SansBoldSlanted] [\s!file:cmunsx] [\s!features=default-slanted-concrete] \stoptypescript - \starttypescript [\s!mono] [concrete-mono] + \starttypescript [\s!mono] [concrete] \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] @@ -47,16 +47,26 @@ \definefontsynonym [\s!MonoBoldSlanted] [\s!file:cmuntb] [\s!features=none-slanted-concrete] \stoptypescript - \starttypescript [\s!math] [concrete-math] [\s!name] + \starttypescript [\s!math] [concrete] + \checkedmapfontsize[\typescripttwo][\s!script] [.76] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.60] + \stoptypescript + + \starttypescript [\s!math] [concrete] [\s!name] \loadfontgoodies[concrete-math] \definefontsynonym[\s!MathRoman] [\s!file:Concrete-Math.otf] [\s!features={\s!math\mathsizesuffix,mathextra,concrete:mathextra},\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] + \starttypescript [\s!math] [concrete-nt] [\s!name] + \loadfontgoodies[concrete-math] + \definefontsynonym[\s!MathRoman] [\s!file:Concrete-Math.otf] [\s!features={\s!math\mathsizesuffix,mathextra,concrete:mathextra}] + \stoptypescript + + \starttypescript [concrete,concrete-nt] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [concrete] [\s!default] + \definetypeface [\typescriptone] [\s!ss] [\s!sans] [concrete] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [concrete] [\s!default] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [\typescriptone] [\s!default] \quittypescriptscanning \stoptypescript diff --git a/tex/context/fonts/mkiv/type-imp-dejavu.mkiv b/tex/context/fonts/mkiv/type-imp-dejavu.mkiv index fdd1ec5e3..d6fe406fb 100644 --- a/tex/context/fonts/mkiv/type-imp-dejavu.mkiv +++ b/tex/context/fonts/mkiv/type-imp-dejavu.mkiv @@ -16,7 +16,7 @@ \definefontfeature[dejavu-condensed-mono][extend=.8] -\starttypescriptcollection[dejavu] +\starttypescriptcollection[xxdejavu] \doifunknownfontfeature {dejavu-math-bold} {\definefontfeature[dejavu-math-bold][boldened]} @@ -44,27 +44,36 @@ \definefontsynonym [\s!MonoBoldItalic] [\s!name:dejavusansmonoboldoblique] [\s!features=\s!none,\s!fallbacks=\s!MonoBoldItalic] \stoptypescript - \starttypescript [\s!math][dejavu] [\s!name] + \starttypescript [\s!math] [dejavu,dejavu-nt,dejavu-condensed] + \checkedmapfontsize[\typescripttwo][\s!script] [.80] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.65] + \stoptypescript + + \starttypescript [\s!math] [dejavu] [\s!name] \loadfontgoodies[dejavu-math] \definefontsynonym[\s!MathRoman] [\s!file:texgyredejavu-math][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=dejavu-math,\s!fallbacks=\s!Math] \definefontsynonym[\s!MathRomanBold][\s!file:texgyredejavu-math][\s!features={\s!math\mathsizesuffix,dejavu-math-bold,mathextra},\s!goodies=dejavu-math,\s!fallbacks=\s!Math] \stoptypescript - - \starttypescript[dejavu] - \definetypeface [dejavu] [\s!rm] [\s!serif] [dejavu] [\s!default] - \definetypeface [dejavu] [\s!ss] [\s!sans] [dejavu] [\s!default] - \definetypeface [dejavu] [\s!tt] [\s!mono] [dejavu] [\s!default] - % \definetypeface [dejavu] [\s!mm] [\s!math] [xits] [\s!default] [\s!rscale=1.2] - \definetypeface [dejavu] [\s!mm] [\s!math] [dejavu] [\s!default] + \starttypescript [\s!math] [dejavu-nt] [\s!name] + \loadfontgoodies[dejavu-math] + \definefontsynonym[\s!MathRoman] [\s!file:texgyredejavu-math][\s!features={\s!math\mathsizesuffix,mathextra}] + \definefontsynonym[\s!MathRomanBold][\s!file:texgyredejavu-math][\s!features={\s!math\mathsizesuffix,dejavu-math-bold,mathextra}] \stoptypescript - \starttypescript[dejavubidi] - \definetypeface [dejavu] [\s!rm] [\s!serif] [dejavu] [\s!default] - \definetypeface [dejavu] [\s!ss] [\s!sans] [dejavu] [\s!default] - \definetypeface [dejavu] [\s!tt] [\s!mono] [dejavu] [\s!default] - \definetypeface [dejavu] [\s!mm] [\s!math] [xitsbidi] [\s!default] [\s!rscale=1.2] + \starttypescript[dejavu,dejavu-nt] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [dejavu] [\s!default] + \definetypeface [\typescriptone] [\s!ss] [\s!sans] [dejavu] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [dejavu] [\s!default] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [\typescriptone] [\s!default] \stoptypescript + % \starttypescript[dejavubidi] + % \definetypeface [dejavu] [\s!rm] [\s!serif] [dejavu] [\s!default] + % \definetypeface [dejavu] [\s!ss] [\s!sans] [dejavu] [\s!default] + % \definetypeface [dejavu] [\s!tt] [\s!mono] [dejavu] [\s!default] + % \definetypeface [dejavu] [\s!mm] [\s!math] [xitsbidi] [\s!default] [\s!rscale=1.2] + % \stoptypescript + \starttypescript [\s!serif] [dejavu-condensed] [\s!name] \setups[\s!font:\s!fallback:\s!serif] \definefontsynonym [\s!Serif] [\s!name:dejavuserifcondensed] [\s!features=\s!default] diff --git a/tex/context/fonts/mkiv/type-imp-ebgaramond.mkiv b/tex/context/fonts/mkiv/type-imp-ebgaramond.mkiv index 32c1528ad..1785eacc7 100644 --- a/tex/context/fonts/mkiv/type-imp-ebgaramond.mkiv +++ b/tex/context/fonts/mkiv/type-imp-ebgaramond.mkiv @@ -65,16 +65,24 @@ \definefontsynonym [\s!SerifCaps] [\s!Serif] [\s!features=eb-garamond-smallcaps] \stoptypescript + \starttypescript [\s!math] [ebgaramond,ebgaramond-nt] + \checkedmapfontsize[\typescripttwo][\s!script] [.70] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.50] + \stoptypescript + \starttypescript [\s!math] [ebgaramond] [\s!name] - \loadfontgoodies[garamond-math] - \definefontsynonym [\s!MathRoman] [\s!file:garamond-math.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=garamond-math] + \definefontsynonym [\s!MathRoman] [\s!file:garamond-math.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=ebgaramond-math] + \stoptypescript + + \starttypescript [\s!math] [ebgaramond-nt] [\s!name] + \definefontsynonym [\s!MathRoman] [\s!file:garamond-math.otf] [\s!features={\s!math\mathsizesuffix,mathextra}] \stoptypescript - \starttypescript[ebgaramond] - \definetypeface [ebgaramond] [\s!rm] [\s!serif] [ebgaramond] [\s!default] - \definetypeface [ebgaramond] [\s!tt] [\s!mono] [dejavu] [\s!default] [\s!rscale=0.8] - % \definetypeface [ebgaramond] [\s!mm] [\s!math] [bonum] [\s!default] [\s!rscale=0.8] - \definetypeface [ebgaramond] [\s!mm] [\s!math] [ebgaramond] [\s!default] + \starttypescript[ebgaramond,ebgaramond-nt] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [ebgaramond] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [dejavu] [\s!default] [\s!rscale=0.8] + % \definetypeface [\typescriptone] [\s!mm] [\s!math] [bonum] [\s!default] [\s!rscale=0.8] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [\typescriptone] [\s!default] \stoptypescript \stoptypescriptcollection diff --git a/tex/context/fonts/mkiv/type-imp-erewhon.mkiv b/tex/context/fonts/mkiv/type-imp-erewhon.mkiv index 8f38fb8b0..5c705400f 100644 --- a/tex/context/fonts/mkiv/type-imp-erewhon.mkiv +++ b/tex/context/fonts/mkiv/type-imp-erewhon.mkiv @@ -20,7 +20,7 @@ %\definefontfeature[default-slanted-erewhon][default][slant=.2] %\definefontfeature[none-slanted-erewhon] [none] [slant=.2] - \starttypescript [\s!serif] [erewhon-serif] + \starttypescript [\s!serif] [erewhon] \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] @@ -30,6 +30,7 @@ \stoptypescript \starttypescript [\s!sans] [cabin-sans] + \setups[\s!font:\s!fallback:\s!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] @@ -37,20 +38,29 @@ \stoptypescript \starttypescript [\s!mono] [inconsolata-mono] + \setups[\s!font:\s!fallback:\s!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,erewhon:mathextra,mathextra},\s!goodies=erewhon-math] + \starttypescript [\s!math] [erewhon,erewhon-nt] + \checkedmapfontsize[\typescripttwo][\s!script] [.70] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.55] \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] + \starttypescript [\s!math] [erewhon] [\s!name] + \definefontsynonym [\s!MathRoman][\s!file:Erewhon-Math.otf][\s!features={\s!math\mathsizesuffix,erewhon:mathextra,mathextra},\s!goodies=erewhon-math] + \stoptypescript + + \starttypescript [\s!math] [erewhon-nt] [\s!name] + \definefontsynonym [\s!MathRoman][\s!file:Erewhon-Math.otf][\s!features={\s!math\mathsizesuffix,erewhon:mathextra,mathextra}] + \stoptypescript + + \starttypescript [erewhon,erewhon-nt] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [erewhon] [\s!default] + \definetypeface [\typescriptone] [\s!ss] [\s!sans] [cabin] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [inconsolata] [\s!default] [\s!rscale=1.1] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [\typescriptone] [\s!default] \quittypescriptscanning \stoptypescript diff --git a/tex/context/fonts/mkiv/type-imp-euler.mkiv b/tex/context/fonts/mkiv/type-imp-euler.mkiv index 1aea88aae..4901c1dcb 100644 --- a/tex/context/fonts/mkiv/type-imp-euler.mkiv +++ b/tex/context/fonts/mkiv/type-imp-euler.mkiv @@ -11,6 +11,10 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. +% Instead of euler.otf we now use euler-math.otf which is a copy of the version +% that Daniel Flipo maintains now. We will also make an euler-regular.otf for +% text usage (which might have slighty different metrics then). + \loadtypescriptfile[texgyre] \loadtypescriptfile[dejavu] @@ -21,10 +25,10 @@ % 0x1D455 : italic h -\definefontfallback [euleroverpagella] [\s!file:euler.otf] [0x02100-0x02BFF] [\s!check=yes,\c!force=yes] -\definefontfallback [euleroverpagella] [\s!file:euler.otf] [0x1D400-0x1D7FF] [\s!check=yes,\c!force=yes] -\definefontfallback [euleroverpagella] [texgyrepagella-math] [0x0210E] [\s!check=yes,\c!force=\v!yes] -%definefontfallback [euleroverpagella] [\s!file:euler.otf] [0x1D538-0x1D550] [\s!check=yes,\c!force=yes] +\definefontfallback [euleroverpagella] [\s!file:euler-math.otf] [0x02100-0x02BFF] [\s!check=yes,\c!force=yes] +\definefontfallback [euleroverpagella] [\s!file:euler-math.otf] [0x1D400-0x1D7FF] [\s!check=yes,\c!force=yes] +\definefontfallback [euleroverpagella] [texgyrepagella-math] [0x0210E] [\s!check=yes,\c!force=\v!yes] +%definefontfallback [euleroverpagella] [\s!file:euler-math.otf] [0x1D538-0x1D550] [\s!check=yes,\c!force=yes] \definefontfallback [pagellaovereuler] [texgyrepagella-math] [0x02100-0x02BFF] [\s!check=yes] \definefontfallback [pagellaovereuler] [texgyrepagella-math] [0x1D400-0x1D7FF] [\s!check=yes] @@ -43,12 +47,12 @@ \starttypescript [\s!serif] [eulernova] [\s!name] \setups[\s!font:\s!fallback:\s!serif] - \definefontsynonym [\s!Serif] [\s!file:euler.otf] [\s!features=\s!default] + \definefontsynonym [\s!Serif] [\s!file:euler-math.otf] [\s!features=\s!default] \stoptypescript \starttypescript [\s!math] [eulernova] [\s!name] % \loadfontgoodies[euler-math] - \definefontsynonym [MathRoman] [\s!file:euler.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=euler-math] + \definefontsynonym [MathRoman] [\s!file:euler-math.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=euler-math] \stoptypescript \starttypescript [pagella-eulernova] @@ -70,7 +74,7 @@ \stoptypescript \starttypescript [\s!math] [pagellaovereuler] [\s!name] - \definefontsynonym [MathRoman] [\s!file:euler.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!fallbacks=pagellaovereuler,\s!goodies=euler-with-pagella-math] + \definefontsynonym [MathRoman] [\s!file:euler-math.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!fallbacks=pagellaovereuler,\s!goodies=euler-with-pagella-math] \stoptypescript \starttypescript [pagella-with-euler] diff --git a/tex/context/fonts/mkiv/type-imp-kpfonts.mkiv b/tex/context/fonts/mkiv/type-imp-kpfonts.mkiv index 77a7a0bb2..7f819fe3c 100644 --- a/tex/context/fonts/mkiv/type-imp-kpfonts.mkiv +++ b/tex/context/fonts/mkiv/type-imp-kpfonts.mkiv @@ -15,20 +15,20 @@ \starttypescriptcollection[kpfonts-opentype] - \doifunknownfontfeature {kp-sans-bold} {\definefontfeature[kp-sans-bold][boldened]} + \doifunknownfontfeature {kp-sans-bold} {\definefontfeature[kp-sans-bold][boldened-15]} - \starttypescript [kpfonts,kpfonts-light,kpfonts-bold,kpfonts-sans] + \starttypescript [kpfonts,kpfonts-light,kpfonts-bold,kpfonts-sans,kpfonts-nt] \loadfontgoodies[kpfonts-math] - \definetypeface [\typescriptone] [\s!rm] [\s!serif] [\typescriptone] [\s!default] [\s!features=\s!default] - \definetypeface [\typescriptone] [\s!ss] [\s!sans] [\typescriptone] [\s!default] [\s!features=\s!default] - \definetypeface [\typescriptone] [\s!tt] [\s!mono] [\typescriptone] [\s!default] [\s!features=\s!none] - \definetypeface [\typescriptone] [\s!mm] [\s!math] [\typescriptone] [\s!default] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [\typescriptone] [\s!default] [\s!features=\s!default] + \definetypeface [\typescriptone] [\s!ss] [\s!sans] [\typescriptone] [\s!default] [\s!features=\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [\typescriptone] [\s!default] [\s!features=\s!none] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [\typescriptone] [\s!default] % for the moment here: % \setupmathrendering[\typescriptone][\s!it=\s!italic] \quittypescriptscanning \stoptypescript - \starttypescript [\s!serif] [kpfonts,kpfonts-sans] + \starttypescript [\s!serif] [kpfonts,kpfonts-sans,kpfonts-nt] \definefontsynonym [\s!Serif] [\s!file:KpRoman-Regular.otf] \definefontsynonym [\s!SerifBold] [\s!file:KpRoman-SemiBold.otf] \definefontsynonym [\s!SerifItalic] [\s!file:KpRoman-Italic.otf] @@ -52,35 +52,39 @@ \definefontsynonym [\s!SerifBold] [\s!file:KpRoman-Bold.otf] \definefontsynonym [\s!SerifItalic] [\s!file:KpRoman-Italic.otf] \definefontsynonym [\s!SerifBoldItalic] [\s!file:KpRoman-BoldItalic.otf] - % \definefontsynonym [\s!SerifSlanted] [\s!SerifItalic] - % \definefontsynonym [\s!SerifBoldSlanted] [\s!SerifBoldItalic] \stoptypescript - \starttypescript [\s!sans] [kpfonts,kpfonts-sans,kpfonts-light,kpfonts-bold] + \starttypescript [\s!sans] [kpfonts,kpfonts-sans,kpfonts-light,kpfonts-bold,kpfonts-nt] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [\s!file:KpSans-Regular.otf] \definefontsynonym [\s!SansBold] [\s!file:KpSans-Bold.otf] \definefontsynonym [\s!SansItalic] [\s!file:KpSans-Italic.otf] \definefontsynonym [\s!SansBoldItalic] [\s!file:KpSans-BoldItalic.otf] - % \definefontsynonym [\s!SansSlanted] [\s!SansItalic] - % \definefontsynonym [\s!SansBoldSlanted] [\s!SansBoldItalic] \stoptypescript - \starttypescript [\s!mono] [kpfonts,kpfonts-sans,kpfonts-light,kpfonts-bold] + \starttypescript [\s!mono] [kpfonts,kpfonts-sans,kpfonts-light,kpfonts-bold,kpfonts-nt] \setups[\s!font:\s!fallback:\s!mono] \definefontsynonym [\s!Mono] [\s!file:KpMono-Regular.otf] \definefontsynonym [\s!MonoBold] [\s!file:KpMono-Bold.otf] \definefontsynonym [\s!MonoItalic] [\s!file:KpMono-Italic.otf] \definefontsynonym [\s!MonoBoldItalic] [\s!file:KpMono-BoldItalic.otf] - % \definefontsynonym [\s!MonoSlanted] [\s!MonoItalic] - % \definefontsynonym [\s!MonoBoldSlanted] [\s!MonoBoldItalic] \stoptypescript - \starttypescript [\s!math] [kpfonts,kpfonts-bold] + \starttypescript [\s!math] [kpfonts,kpfonts-nt,kpfonts-bold,kpfonts-light,kpfonts-sans] + \checkedmapfontsize[\typescripttwo][\s!script] [.70] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.55] + \stoptypescript + + \starttypescript [\s!math] [kpfonts] \definefontsynonym [\s!MathRoman] [\s!file:KpMath-Regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=kpfonts-math] \definefontsynonym [\s!MathRomanBold] [\s!file:KpMath-Semibold.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=kpfonts-math] \stoptypescript + \starttypescript [\s!math] [kpfonts-nt] + \definefontsynonym [\s!MathRoman] [\s!file:KpMath-Regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra}] + \definefontsynonym [\s!MathRomanBold] [\s!file:KpMath-Semibold.otf] [\s!features={\s!math\mathsizesuffix,mathextra}] + \stoptypescript + \starttypescript [\s!math] [kpfonts-bold] \definefontsynonym [\s!MathRoman] [\s!file:KpMath-Regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=kpfonts-math] \definefontsynonym [\s!MathRomanBold] [\s!file:KpMath-Bold.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=kpfonts-math] @@ -93,7 +97,7 @@ \starttypescript [\s!math] [kpfonts-sans] \definefontsynonym [\s!MathRoman] [\s!file:KpMath-Sans.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=kpfonts-math] - \definefontsynonym [\s!MathRomanBold] [\s!file:KpMath-Sans.otf] [\s!features={\s!math\mathsizesuffix,lm-math-bold,mathextra},\s!goodies=kpfonts-math] + \definefontsynonym [\s!MathRomanBold] [\s!file:KpMath-Sans.otf] [\s!features={\s!math\mathsizesuffix,kp-sans-bold,mathextra},\s!goodies=kpfonts-math] \stoptypescript \stoptypescriptcollection diff --git a/tex/context/fonts/mkiv/type-imp-latinmodern.mkiv b/tex/context/fonts/mkiv/type-imp-latinmodern.mkiv index e8e8e353b..f5082f784 100644 --- a/tex/context/fonts/mkiv/type-imp-latinmodern.mkiv +++ b/tex/context/fonts/mkiv/type-imp-latinmodern.mkiv @@ -71,7 +71,7 @@ \definefontsynonym [MonoVariable] [LMTypewriterVarWd-Regular] [\s!features=\s!none] \stoptypescript - \starttypescript [\s!math] [modern,latin-modern-designsize,latin-modern] [\s!name] + \starttypescript [\s!math] [modern,latin-modern-designsize,latin-modern,modern-nt] [\s!name] \loadfontgoodies[lm] \definefontsynonym [\s!MathRoman] [LMMathRoman-Regular] \definefontsynonym [\s!MathRomanBold] [LMMathRoman-Bold] @@ -173,16 +173,23 @@ \definefontsynonym [LMTypewriterVarWd-DarkOblique] [\s!file:lmmonoproplt10-boldoblique] [\s!features=\s!default] \stoptypescript -% \starttypescript [\s!math] [modern,latin-modern] -% \loadfontgoodies[lm] -% \definefontsynonym [LMMathRoman-Regular] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=lm] -% \definefontsynonym [LMMathRoman-Bold] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=lm] -% \stoptypescript + \starttypescript [\s!math] [modern,modern-nt,latin-modern,modern-designsize,modern-base,% + modernvariable,modern-variable,% + modernvariablelight,modern-variable-light,% + modern-mono,modern-base-mono] + \checkedmapfontsize[\typescripttwo][\s!script] [.70] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.50] + \stoptypescript \starttypescript [\s!math] [modern,latin-modern] \loadfontgoodies[lm] - \definefontsynonym [LMMathRoman-Regular] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,lm:mathextra,lm-math,mathextra},\s!goodies=lm] - \definefontsynonym [LMMathRoman-Bold] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,lm:mathextra,lm-math-bold,lm-math,mathextra},\s!goodies=lm] + \definefontsynonym [LMMathRoman-Regular] [\v!file:latinmodern-math.otf] [\s!features={\s!math\mathsizesuffix,lm:mathextra,lm-math,mathextra},\s!goodies=modern-math] + \definefontsynonym [LMMathRoman-Bold] [\v!file:latinmodern-math.otf] [\s!features={\s!math\mathsizesuffix,lm:mathextra,lm-math-bold,lm-math,mathextra},\s!goodies=modern-math] + \stoptypescript + \starttypescript [\s!math] [modern-nt] + \loadfontgoodies[lm] + \definefontsynonym [LMMathRoman-Regular] [\v!file:latinmodern-math.otf] [\s!features={\s!math\mathsizesuffix,lm:mathextra,lm-math,mathextra}] + \definefontsynonym [LMMathRoman-Bold] [\v!file:latinmodern-math.otf] [\s!features={\s!math\mathsizesuffix,lm:mathextra,lm-math-bold,lm-math,mathextra}] \stoptypescript \starttypescript [modern-designsize-virtual] @@ -209,6 +216,14 @@ \quittypescriptscanning \stoptypescript + \starttypescript [modern-nt] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern] [\s!default] + \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern] [\s!default] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern-nt] [\s!default] + \quittypescriptscanning + \stoptypescript + \starttypescript [modernvariable,modern-variable] \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern-variable] [\s!default] \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-variable] [\s!default] diff --git a/tex/context/fonts/mkiv/type-imp-libertinus.mkiv b/tex/context/fonts/mkiv/type-imp-libertinus.mkiv index 38804cf79..6e084c14e 100644 --- a/tex/context/fonts/mkiv/type-imp-libertinus.mkiv +++ b/tex/context/fonts/mkiv/type-imp-libertinus.mkiv @@ -71,17 +71,28 @@ \definefontsynonym [\s!Mono] [LibertinusMono-Regular] [\s!features=\s!none] \stoptypescript + \starttypescript [\s!math] [libertinus,libertinus-nt] + \checkedmapfontsize[\typescripttwo][\s!script] [.80] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.60] + \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 - \starttypescript [libertinus] - \definetypeface [libertinus] [\s!rm] [\s!serif] [libertinus] [\s!default] - \definetypeface [libertinus] [\s!ss] [\s!sans] [libertinus] [\s!default] - \definetypeface [libertinus] [\s!tt] [\s!mono] [libertinus] [\s!default] - \definetypeface [libertinus] [\s!mm] [\s!math] [libertinus] [\s!default] + \starttypescript [\s!math] [libertinus-nt] [\s!name] + \loadfontgoodies[libertinus-math] + \definefontsynonym[\s!MathRoman ] [\s!file:libertinusmath-regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra}] + \definefontsynonym[\s!MathRomanBold] [\s!file:libertinusmath-regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra}] + \stoptypescript + + \starttypescript [libertinus,libertinus-nt] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [libertinus] [\s!default] + \definetypeface [\typescriptone] [\s!ss] [\s!sans] [libertinus] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [libertinus] [\s!default] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [\typescriptone] [\s!default] \quittypescriptscanning \stoptypescript diff --git a/tex/context/fonts/mkiv/type-imp-lucida-opentype.mkiv b/tex/context/fonts/mkiv/type-imp-lucida.mkiv index 7237f7d08..ced61dcd2 100644 --- a/tex/context/fonts/mkiv/type-imp-lucida-opentype.mkiv +++ b/tex/context/fonts/mkiv/type-imp-lucida.mkiv @@ -21,7 +21,7 @@ \starttypescriptcollection[lucida-opentype] - \starttypescript [lucida,lucidaot,lucidadk] + \starttypescript [lucida,lucidaot,lucidadk,lucidaot-nt,lucida-nt] \loadfontgoodies[lucida-opentype-math] \definetypeface [\typescriptone] [\s!rm] [\s!serif] [\typescriptone] [\s!default] [\s!features=\s!default] \definetypeface [\typescriptone] [\s!ss] [\s!sans] [\typescriptone] [\s!default] [\s!features=\s!default] @@ -29,11 +29,10 @@ \definetypeface [\typescriptone] [\s!hw] [\s!handwriting] [\typescriptone] [\s!default] [\s!features=\s!default] \definetypeface [\typescriptone] [\s!cg] [\s!calligraphy] [\typescriptone] [\s!default] [\s!features=\s!default] \definetypeface [\typescriptone] [\s!mm] [\s!math] [\typescriptone] [\s!default] - % no longer: \setupmathrendering[\typescriptone][\s!it=\s!italic] \quittypescriptscanning \stoptypescript - \starttypescript [\s!serif] [lucida,lucidaot,lucidadk] + \starttypescript [\s!serif] [lucida,lucidaot,lucidadk,lucidaot-nt,lucida-nt] \definefontsynonym [\s!Serif] [\s!file:LucidaBrightOT.otf] \definefontsynonym [\s!SerifBold] [\s!file:LucidaBrightOT-Demi.otf] \definefontsynonym [\s!SerifItalic] [\s!file:LucidaBrightOT-Italic.otf] @@ -42,7 +41,7 @@ \definefontsynonym [\s!SerifBoldSlanted] [\s!SerifBoldItalic] \stoptypescript - \starttypescript [\s!sans] [lucida,lucidaot,lucidadk] + \starttypescript [\s!sans] [lucida,lucidaot,lucidadk,lucidaot-nt,lucida-nt] \definefontsynonym [\s!Sans] [\s!file:LucidaSansOT.otf] \definefontsynonym [\s!SansBold] [\s!file:LucidaSansOT-Demi.otf] \definefontsynonym [\s!SansItalic] [\s!file:LucidaSansOT-Italic.otf] @@ -51,7 +50,7 @@ \definefontsynonym [\s!SansBoldSlanted] [\s!SansBoldItalic] \stoptypescript - \starttypescript [\s!mono] [lucida,lucidaot] + \starttypescript [\s!mono] [lucida,lucidaot,lucidaot-nt,lucida-nt] \definefontsynonym [\s!Mono] [\s!file:LucidaSansTypewriterOT.otf] \definefontsynonym [\s!MonoBold] [\s!file:LucidaSansTypewriterOT-Bold.otf] \definefontsynonym [\s!MonoItalic] [\s!file:LucidaSansTypewriterOT-Oblique.otf] @@ -60,7 +59,7 @@ \definefontsynonym [\s!MonoBoldSlanted] [\s!MonoBoldItalic] \stoptypescript - \starttypescript [\s!mono] [lucidadk] + \starttypescript [\s!mono] [lucidadk,lucidaot-nt,lucida-nt] \definefontsynonym [\s!Mono] [\s!file:LucidaGrandeMonoDK.otf] \definefontsynonym [\s!MonoBold] [\s!file:LucidaGrandeMonoDK-Bold.otf] \definefontsynonym [\s!MonoItalic] [\s!file:LucidaGrandeMonoDK-Oblique.otf] @@ -69,16 +68,26 @@ \definefontsynonym [\s!MonoBoldSlanted] [\s!MonoBoldItalic] \stoptypescript + \starttypescript [\s!math] [lucida,lucida-nt,lucidaot,lucidaot-nt,lucidadk] + \checkedmapfontsize[\typescripttwo][\s!script] [.70] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.50] + \stoptypescript + \starttypescript [\s!math] [lucida,lucidaot,lucidadk] - \definefontsynonym [\s!MathRoman] [\s!file:LucidaBrightMathOT.otf] [\s!features={\s!math\mathsizesuffix,mathlucida,mathextra},\s!goodies=lucida-opentype-math] - \definefontsynonym [\s!MathRomanBold] [\s!file:LucidaBrightMathOT-Demi.otf] [\s!features={\s!math\mathsizesuffix,mathlucida,mathextra},\s!goodies=lucida-opentype-math] + \definefontsynonym [\s!MathRoman] [\s!file:LucidaBrightMathOT.otf] [\s!features={\s!math\mathsizesuffix,mathlucida,mathextra},\s!goodies=lucida-math] + \definefontsynonym [\s!MathRomanBold] [\s!file:LucidaBrightMathOT-Demi.otf] [\s!features={\s!math\mathsizesuffix,mathlucida,mathextra},\s!goodies=lucida-math] + \stoptypescript + + \starttypescript [\s!math] [lucidaot-nt,lucida-nt] + \definefontsynonym [\s!MathRoman] [\s!file:LucidaBrightMathOT.otf] [\s!features={\s!math\mathsizesuffix,mathlucida,mathextra}] + \definefontsynonym [\s!MathRomanBold] [\s!file:LucidaBrightMathOT-Demi.otf] [\s!features={\s!math\mathsizesuffix,mathlucida,mathextra}] \stoptypescript - \starttypescript [\s!handwriting] [lucida,lucidaot,lucidadk] + \starttypescript [\s!handwriting] [lucida,lucidaot,lucidadk,lucidaot-nt,lucida-nt] \definefontsynonym [\s!Handwriting] [\s!file:LucidaHandwritingOT.otf] \stoptypescript - \starttypescript [\s!calligraphy] [lucida,lucidaot,lucidadk] + \starttypescript [\s!calligraphy] [lucida,lucidaot,lucidadk,lucidaot-nt,lucida-nt] \definefontsynonym [\s!Calligraphy] [\s!file:LucidaCalligraphyOT.otf] \stoptypescript diff --git a/tex/context/fonts/mkiv/type-imp-stix.mkiv b/tex/context/fonts/mkiv/type-imp-stix.mkiv index ed2b63909..503566318 100644 --- a/tex/context/fonts/mkiv/type-imp-stix.mkiv +++ b/tex/context/fonts/mkiv/type-imp-stix.mkiv @@ -13,19 +13,23 @@ %D We provide typescripts for version one and two of the stix fonts. There is a %D xits variant based on the first (not opentype) release that also provides -%D bidirectional math. +%D bidirectional math. With (in 2022) stixtwo being frozsen for 2 years we can make +%D these the default now. %D %D Users should be aware of the fact that the stix filenames keep changing so if %D something fails, make sure you have the files and that the names below match -%D those on your system. (In \TEX\ distributions there's 2 and Two and math can have -%D -Regular appended or not. +%D those on your system. In \TEX\ distributions there's 2 and Two and math can have +%D -Regular appended or not. You can expect the \CONTEXT\ distribution to be kept up +%D to date. %D -%D There's now also: -%D -%D stixtwotext-medium.otf -%D stixtwotext-mediumitalic.otf -%D stixtwotext-semibold.otf -%D stixtwotext-semibolditalic.otf +%D Per november 2022 we swithched from \OPENTYPE\ (otf) files to \TRUETYPE\ (ttf) +%D files. The main reason is that the metrics are cleaner, especially when one peeks +%D into the font for the purpose tweaking math (boundingbox, true positioning +%D unaffected by excessive hinting shown in in FontForge). It is yet unclear to us +%D (MS & HH) why there is this difference, but it might relate to the toolchain used +%D for generating these fonts. We might even switch to (smaller) unhinted \TRUETYPE\ +%D fonts at some point but then we need to generate them ourselves). Anyway, the end +%D results are the same but we just want to be able to view it right. \definefontfeature [stixtwomath] @@ -35,23 +39,41 @@ \starttypescriptcollection[stix] + \doifunknownfontfeature {stixtwo-math-bold} {\definefontfeature[stixtwo-math-bold][boldened]} + + \starttypescript [\s!math] [stix,stixtwo,stix-nt,stixtwo-nt,xits] + \checkedmapfontsize[\typescripttwo][\s!script] [.70] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.55] + \stoptypescript + \starttypescript [\s!math] [stix,stixtwo,xits] [\s!name] - \definefontsynonym[\s!MathRoman][\s!file:stixtwomath-regular.otf][\s!features={\s!math\mathsizesuffix,stixtwomath,mathextra},\s!goodies=stix-two-math] + \definefontsynonym[\s!MathRoman] [\s!file:stixtwomath-regular.ttf][\s!features={\s!math\mathsizesuffix,stixtwomath,stixtwo:mathextra,mathextra},\s!goodies=stixtwo-math] + \definefontsynonym[\s!MathRomanBold][\s!file:stixtwomath-regular.ttf][\s!features={\s!math\mathsizesuffix,stixtwo-math-bold,stixtwomath,stixtwo:mathextra,mathextra},\s!goodies=stixtwo-math] + \stoptypescript + + \starttypescript [\s!math] [stix-nt,stixtwo-nt] [\s!name] + \definefontsynonym[\s!MathRoman][\s!file:stixtwomath-regular.ttf][\s!features={\s!math\mathsizesuffix,stixtwomath,stixtwo:mathextra,mathextra}] + \definefontsynonym[\s!MathRoman][\s!file:stixtwomath-regular.ttf][\s!features={\s!math\mathsizesuffix,stixtwo-math-bold,stixtwomath,stixtwo:mathextra,mathextra}] \stoptypescript \starttypescript [\s!serif] [stix,stixtwo,xits] [\s!name] \setups[\s!font:\s!fallback:\s!serif] - \definefontsynonym[\s!Serif] [\s!file:stixtwotext-regular.otf] [\s!features=\s!default] - \definefontsynonym[\s!SerifBold] [\s!file:stixtwotext-bold.otf] [\s!features=\s!default] - \definefontsynonym[\s!SerifItalic] [\s!file:stixtwotext-italic.otf] [\s!features=\s!default] - \definefontsynonym[\s!SerifBoldItalic][\s!file:stixtwotext-bolditalic.otf][\s!features=\s!default] + \definefontsynonym[\s!Serif] [\s!file:stixtwotext-regular.ttf] [\s!features=\s!default] + \definefontsynonym[\s!SerifBold] [\s!file:stixtwotext-bold.ttf] [\s!features=\s!default] + \definefontsynonym[\s!SerifItalic] [\s!file:stixtwotext-italic.ttf] [\s!features=\s!default] + \definefontsynonym[\s!SerifBoldItalic][\s!file:stixtwotext-bolditalic.ttf][\s!features=\s!default] \stoptypescript + \starttypescript[stix,stixtwo,xits,stix-nt,stixtwo-nt] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [stixtwo] [\s!default] + \definetypeface [\typescriptone] [\s!ss] [\s!serif] [stixtwo] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [dejavu] [\s!default] [\s!rscale=0.895] + \stoptypescript \starttypescript[stix,stixtwo,xits] - \definetypeface [\typescriptone] [\s!rm] [\s!serif] [stixtwo] [\s!default] - \definetypeface [\typescriptone] [\s!ss] [\s!serif] [stixtwo] [\s!default] - \definetypeface [\typescriptone] [\s!tt] [\s!mono] [dejavu] [\s!default] [\s!rscale=0.895] - \definetypeface [\typescriptone] [\s!mm] [\s!math] [stixtwo] [\s!default] [\s!direction=\s!both] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [stixtwo] [\s!default] [\s!direction=\s!both] + \stoptypescript + \starttypescript[stix-nt,stixtwo-nt] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [stixtwo-nt] [\s!default] [\s!direction=\s!both] \stoptypescript \stoptypescriptcollection diff --git a/tex/context/fonts/mkiv/type-imp-texgyre.mkiv b/tex/context/fonts/mkiv/type-imp-texgyre.mkiv index c6b0ab28b..87009f11e 100644 --- a/tex/context/fonts/mkiv/type-imp-texgyre.mkiv +++ b/tex/context/fonts/mkiv/type-imp-texgyre.mkiv @@ -1,4 +1,4 @@ -%D \module + %D \module %D [ file=type-imp-texgyre, %D version=2007.07.30, %D title=\CONTEXT\ Typescript Macros, @@ -163,37 +163,61 @@ % caps: \definetypeface [pagella] [rm] [serif] [pagella-caps] [default] - \starttypescript [times,termes] + \starttypescript [termes,termes-nt,times] \definetypeface [\typescriptone] [\s!rm] [\s!serif] [\typescriptone] [\s!default] \definetypeface [\typescriptone] [\s!ss] [\s!sans] [helvetica] [\s!default] [\s!rscale=0.9] \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern] [\s!default] [\s!rscale=1.05] + \stoptypescript + \starttypescript [termes,times] \definetypeface [\typescriptone] [\s!mm] [\s!math] [termes] [\s!default] \quittypescriptscanning \stoptypescript + \starttypescript [termes-nt] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [termes-nt] [\s!default] + \quittypescriptscanning + \stoptypescript - \starttypescript [palatino,pagella] + \starttypescript [pagella,pagella-nt,palatino] \definetypeface [\typescriptone] [\s!rm] [\s!serif] [\typescriptone] [\s!default] \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default] [\s!rscale=1.075] \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern] [\s!default] [\s!rscale=1.075] + \stoptypescript + \starttypescript [pagella,palatino] \definetypeface [\typescriptone] [\s!mm] [\s!math] [pagella] [\s!default] \quittypescriptscanning \stoptypescript + \starttypescript [pagella-nt] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [pagella-nt] [\s!default] + \quittypescriptscanning + \stoptypescript - \starttypescript [schoolbook,schola] + \starttypescript [schola,schola-nt,schoolbook] \definetypeface [\typescriptone] [\s!rm] [\s!serif] [\typescriptone] [\s!default] \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default] [\s!rscale=1.1] \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern] [\s!default] [\s!rscale=1.1] + \stoptypescript + \starttypescript [schola,schoolbook] \definetypeface [\typescriptone] [\s!mm] [\s!math] [schola] [\s!default] \quittypescriptscanning \stoptypescript + \starttypescript [schola-nt] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [schola-nt] [\s!default] + \quittypescriptscanning + \stoptypescript - \starttypescript [bookman,bonum] + \starttypescript [bonum,bonum-nt,bookman] \definetypeface [\typescriptone] [\s!rm] [\s!serif] [\typescriptone] [\s!default] \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default] [\s!rscale=1.1] \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern] [\s!default] [\s!rscale=1.1] + \stoptypescript + \starttypescript [bookman,bonum] \definetypeface [\typescriptone] [\s!mm] [\s!math] [bonum] [\s!default] \quittypescriptscanning \stoptypescript + \starttypescript [bonum-nt] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [bonum-nt] [\s!default] + \quittypescriptscanning + \stoptypescript \starttypescript [chancery,chorus] \definetypeface [\typescriptone] [\s!rm] [\s!serif] [\typescriptone] [\s!default] @@ -240,9 +264,9 @@ \startmode[txmath] - \starttypescriptcollection[texgyre-math-times] + \starttypescriptcollection[texgyre-math-termes] - \starttypescript [\s!math][times,termes][\s!all] + \starttypescript [\s!math][termes,times][\s!all] \loadfontgoodies[tx-math] \definefontsynonym[\s!MathRoman][txmath@tx-math] % \definefontsynonym[\s!MathRomanBold][MathRoman] @@ -254,14 +278,20 @@ \startnotmode[txmath] - \starttypescriptcollection[texgyre-math-times] + \starttypescriptcollection[texgyre-math-termes] - \starttypescript [\s!math][times,termes][\s!all] - % \loadfontgoodies[texgyre] - % \definefontsynonym[\s!MathRoman][file:texgyre-termes-math-regular.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=texgyre] + \starttypescript [\s!math][termes,termes-nt,times][\s!all] + \checkedmapfontsize[\typescripttwo][\s!script] [.74] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.55] + \stoptypescript + \starttypescript [\s!math][termes,times][\s!all] \definefontsynonym[\s!MathRoman] [file:texgyretermes-math.otf][\s!features={\s!math\mathsizesuffix,termes:mathextra,mathextra},\s!goodies=termes-math] \definefontsynonym[\s!MathRomanBold][file:texgyretermes-math.otf][\s!features={\s!math\mathsizesuffix,termes:mathextra,termes-math-bold,mathextra},\s!goodies=termes-math] \stoptypescript + \starttypescript [\s!math][termes-nt][\s!all] + \definefontsynonym[\s!MathRoman] [file:texgyretermes-math.otf][\s!features={\s!math\mathsizesuffix,termes:mathextra,mathextra}] + \definefontsynonym[\s!MathRomanBold][file:texgyretermes-math.otf][\s!features={\s!math\mathsizesuffix,termes:mathextra,termes-math-bold,mathextra}] + \stoptypescript \stoptypescriptcollection @@ -285,12 +315,18 @@ \starttypescriptcollection[texgyre-math-pagella] - \starttypescript [\s!math][palatino,pagella][\s!all] - % \loadfontgoodies[texgyre] - % \definefontsynonym[\s!MathRoman][file:texgyre-pagella-math-regular.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=texgyre] + \starttypescript [\s!math][pagella,pagella-nt,palatino]% [\s!all] + \checkedmapfontsize[\typescripttwo][\s!script] [.74] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.55] + \stoptypescript + \starttypescript [\s!math][pagella,palatino][\s!all] \definefontsynonym[\s!MathRoman] [file:texgyrepagella-math.otf][\s!features={\s!math\mathsizesuffix,pagella:mathextra,mathextra},\s!goodies=pagella-math] \definefontsynonym[\s!MathRomanBold][file:texgyrepagella-math.otf][\s!features={\s!math\mathsizesuffix,pagella:mathextra,pagella-math-bold,mathextra},\s!goodies=pagella-math] \stoptypescript + \starttypescript [\s!math][pagella-nt][\s!all] + \definefontsynonym[\s!MathRoman] [file:texgyrepagella-math.otf][\s!features={\s!math\mathsizesuffix,pagella:mathextra,mathextra}] + \definefontsynonym[\s!MathRomanBold][file:texgyrepagella-math.otf][\s!features={\s!math\mathsizesuffix,pagella:mathextra,pagella-math-bold,mathextra}] + \stoptypescript \stoptypescriptcollection @@ -298,22 +334,34 @@ \starttypescriptcollection[texgyre-math-bonum] - \starttypescript [\s!math][bookman,bonum][\s!all] - % \loadfontgoodies[texgyre] - % \definefontsynonym[\s!MathRoman][file:texgyre-bonum-math-regular.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=texgyre] + \starttypescript [\s!math][bonum,bonum-nt,bookman][\s!all] + \checkedmapfontsize[\typescripttwo][\s!script] [.77] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.60] + \stoptypescript + \starttypescript [\s!math][bonum,bookman][\s!all] \definefontsynonym[\s!MathRoman] [file:texgyrebonum-math.otf][\s!features={\s!math\mathsizesuffix,bonum:mathextra,mathextra},\s!goodies=bonum-math] \definefontsynonym[\s!MathRomanBold][file:texgyrebonum-math.otf][\s!features={\s!math\mathsizesuffix,bonum:mathextra,bonum-math-bold,mathextra},\s!goodies=bonum-math] \stoptypescript + \starttypescript [\s!math][bonum-nt][\s!all] + \definefontsynonym[\s!MathRoman] [file:texgyrebonum-math.otf][\s!features={\s!math\mathsizesuffix,bonum:mathextra,mathextra}] + \definefontsynonym[\s!MathRomanBold][file:texgyrebonum-math.otf][\s!features={\s!math\mathsizesuffix,bonum:mathextra,bonum-math-bold,mathextra}] + \stoptypescript \stoptypescriptcollection \starttypescriptcollection[texgyre-math-schola] - \starttypescript [\s!math][schoolbook,schola][\s!all] - % \loadfontgoodies[texgyre] - % \definefontsynonym[\s!MathRoman][file:texgyre-schola-math-regular.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=texgyre] + \starttypescript [\s!math][schola,schola-nt,schoolbook][\s!all] + \checkedmapfontsize[\typescripttwo][\s!script] [.77] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.60] + \stoptypescript + \starttypescript [\s!math][schola,schoolbook][\s!all] \definefontsynonym[\s!MathRoman] [file:texgyreschola-math.otf][\s!features={\s!math\mathsizesuffix,schola:mathextra,mathextra},\s!goodies=schola-math] \definefontsynonym[\s!MathRomanBold][file:texgyreschola-math.otf][\s!features={\s!math\mathsizesuffix,schola:mathextra,schola-math-bold,mathextra},\s!goodies=schola-math] \stoptypescript + \starttypescript [\s!math][schola-nt][\s!all] + \definefontsynonym[\s!MathRoman] [file:texgyreschola-math.otf][\s!features={\s!math\mathsizesuffix,schola:mathextra,mathextra}] + \definefontsynonym[\s!MathRomanBold][file:texgyreschola-math.otf][\s!features={\s!math\mathsizesuffix,schola:mathextra,schola-math-bold,mathextra}] + \stoptypescript \stoptypescriptcollection diff --git a/tex/context/fonts/mkiv/type-imp-xcharter.mkiv b/tex/context/fonts/mkiv/type-imp-xcharter.mkiv new file mode 100644 index 000000000..d27f4bcba --- /dev/null +++ b/tex/context/fonts/mkiv/type-imp-xcharter.mkiv @@ -0,0 +1,63 @@ +%D \module +%D [ file=type-imp-xcharter, +%D version=2022.30.09, % a bit older +%D title=\CONTEXT\ Typescript Macros, +%D subtitle=XCharter fonts, +%D author=Mikael Sundqvist, +%D date=\currentdate, +%D copyright={\CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\starttypescriptcollection[xcharter] + + % \definefontfeature[default-slanted-xcharter][default][slant=.2] + % \definefontfeature[none-slanted-xcharter] [none] [slant=.2] + + \starttypescript [\s!serif] [xcharter] [\s!name] + \definefontsynonym [\s!Serif] [\s!file:XCharter-Roman] [\s!features=\s!default] + \definefontsynonym [\s!SerifItalic] [\s!file:XCharter-Italic] [\s!features=\s!default] + \definefontsynonym [\s!SerifSlanted] [\s!file:XCharter-Slanted] [\s!features=\s!default] + \definefontsynonym [\s!SerifBold] [\s!file:XCharter-Bold] [\s!features=\s!default] + \definefontsynonym [\s!SerifBoldItalic] [\s!file:xcharter-BoldItalic] [\s!features=\s!default] + \definefontsynonym [\s!SerifBoldSlanted][\s!file:XCharter-BoldSlanted][\s!features=\s!default] + \stoptypescript + + \starttypescript [\s!sans] [cabin] [\s!name] + \setups[\s!font:\s!fallback:\s!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] [\s!name] + \setups[\s!font:\s!fallback:\s!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] [xcharter,xcharter-nt][\s!name] + \checkedmapfontsize[\typescripttwo][\s!script] [.70] + \checkedmapfontsize[\typescripttwo][\s!scriptscript][.55] + \stoptypescript + + \starttypescript [\s!math] [xcharter][\s!name] + \definefontsynonym [\s!MathRoman][\s!file:XCharter-Math.otf][\s!features={\s!math\mathsizesuffix,xcharter:mathextra,mathextra},\s!goodies=xcharter-math] + \stoptypescript + + \starttypescript [\s!math] [xcharter-nt] [\s!name] + \definefontsynonym [\s!MathRoman][\s!file:XCharter-Math.otf][\s!features={\s!math\mathsizesuffix,xcharter:mathextra,mathextra}] + \stoptypescript + + \starttypescript [xcharter,xcharter-nt] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [xcharter] [\s!default] + \definetypeface [\typescriptone] [\s!ss] [\s!sans] [cabin] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [inconsolata] [\s!default] [\s!rscale=1.1] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [\typescriptone] [\s!default] + \quittypescriptscanning + \stoptypescript + +\stoptypescriptcollection diff --git a/tex/context/fonts/mkiv/xcharter-math.lfg b/tex/context/fonts/mkiv/xcharter-math.lfg new file mode 100644 index 000000000..c9b5a2690 --- /dev/null +++ b/tex/context/fonts/mkiv/xcharter-math.lfg @@ -0,0 +1,127 @@ +-- This font is under active development so we don't want to tweek it too much +-- before all issues are sorted out. + +local common = fonts.goodies.load("common-math.lfg") +local presets = common.mathematics.tweaks.presets + +return { + name = "xcharter-math", + version = "1.00", + comment = "Goodies that complement xcharter math.", + author = "Hans Hagen & Mikael Sundqvist", + copyright = "ConTeXt development team", + mathematics = { + parameters = { + -- NoLimitSupFactor = 0, + -- NoLimitSubFactor = 900, + -- AccentBaseHeight = 0, + -- AccentBaseDepth = 60, + -- RadicalDegreeBottomRaisePercent = 55, + -- RadicalKernAfterDegree = -600, + -- RadicalRuleThickness = 45, -- 55 in font + -- DelimiterPercent = 90, + -- DelimiterShortfall = 400, + -- DisplayOperatorMinHeight = 1800, -- 1300 in font (one size) + }, + tweaks = { + aftercopying = { + { + tweak = "fixprimes", + factor = 0.8, + scale = 1, + }, + { + tweak = "addmirrors", + }, +{ + tweak = "dimensions", + list = { + -- ["0x222B.variants.*"] = { axis = 0.15 }, + }, +}, +{ + -- tweak = "fixintegrals", +}, + presets.scripttocalligraphic { }, + presets.rsfstoscript { }, + presets.rsfsuprighttoscript { }, + presets.moderntocalligraphic { }, + presets.eulertocalligraphic { }, + presets.xitsarabic { rscale = 0.90 }, + presets.fallbacks { }, + presets.moveitalics { correct = true }, + presets.moveitalics { correct = true, letters = true }, + presets.moveintegrals { factor = 1.5 }, + presets.wipeitalics { }, + { + tweak = "kerns", + list = { + [0x002F] = { topleft = -0.15, bottomright = -0.15 }, + ["0x7D.parts.top"] = { topright = -0.15, }, -- right brace top + ["0x7D.parts.bottom"] = { bottomright = -0.15 }, -- right brace bottom + ["0x7D.variants.*"] = { topright = -0.05, bottomright = -0.05 }, -- right brace variants + ["0x29.parts.top"] = { topright = -0.1, }, -- right parenthesis top + ["0x29.parts.bottom"] = { bottomright = -0.1 }, -- right parenthesis bottom + ["0x29.variants.*"] = { topright = -0.1, bottomright = -0.1 }, -- right parenthesis variants + ["0x221A.parts.top"] = { topright = 0.2, }, -- right radical top + ["0x221A.parts.bottom"] = { bottomright = 0.2 }, -- right radical bottom + ["0x221A.variants.*"] = { topright = 0.2, bottomright = 0.2 }, -- right radical variants + [0x27E9] = { topright = -0.1, bottomright = -0.1 }, -- angle + ["0x27E9.variants.*"] = { topright = -0.2, bottomright = -0.2 }, + [0x27EB] = { topright = -0.1, bottomright = -0.1 }, + ["0x27EB.variants.*"] = { topright = -0.2, bottomright = -0.2 }, + }, + }, +{ + tweak = "radicaldegreeanchors", + list = { + -- [0x221A] = { location = "left", hfactor = .1, vfactor = .3 }, + -- ["0x221A.variants.*"] = { location = "left", hfactor = .1, vfactor = .625 }, + -- ["0x221A.variants.1"] = { location = "left", hfactor = .1, vfactor = .575 }, + -- ["0x221A.variants.2"] = { location = "left", hfactor = .1, vfactor = .575 }, + -- ["0x221A.variants.3"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.4"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.variants.5"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221Aq.variants.6"] = { location = "left", hfactor = .1, vfactor = .55 }, + -- ["0x221A.parts.top"] = { location = "left", hfactor = .1, vfactor = 5.5 }, -- keep commented: bottom wins over top + ["0x221A.parts.bottom"] = { location = "left", hfactor = .1, vfactor = 1.025 }, + } +}, + + { + tweak = "checkspacing", + }, + { + tweak = "addscripts", + }, + { + tweak = "accentdimensions", + }, + { + tweak = "addrules", + }, + { + tweak = "addactuarian", + }, + { + tweak = "addequals", + }, + { + tweak = "setoptions", + -- set = { "ignorekerndimensions" } + }, + -- this is the mkiv section +-- { +-- tweak = "emulatelmtx", +-- feature = "emulatelmtx", +-- comment = "this is for mkiv", +-- }, + }, + }, + bigslots = { + 1, 2, 3, 4 + }, + }, + +} diff --git a/tex/context/fonts/mkiv/xits-math.lfg b/tex/context/fonts/mkiv/xits-math.lfg index 9eb1a1200..1d7e22df6 100644 --- a/tex/context/fonts/mkiv/xits-math.lfg +++ b/tex/context/fonts/mkiv/xits-math.lfg @@ -2,6 +2,9 @@ -- -- \definefilesynonym [type-imp-xits.mkiv] [type-imp-xits.mkiv] +local common = fonts.goodies.load("common-math.lfg") +local presets = common.mathematics.tweaks.presets + return { name = "xits-math", version = "1.00", |