summaryrefslogtreecommitdiff
path: root/tex/context/fonts
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/fonts')
-rw-r--r--tex/context/fonts/mkiv/asana-math.lfg107
-rw-r--r--tex/context/fonts/mkiv/bonum-math.lfg58
-rw-r--r--tex/context/fonts/mkiv/cambria-math.lfg30
-rw-r--r--tex/context/fonts/mkiv/common-math.lfg4
-rw-r--r--tex/context/fonts/mkiv/concrete-math.lfg26
-rw-r--r--tex/context/fonts/mkiv/dejavu-math.lfg93
-rw-r--r--tex/context/fonts/mkiv/ebgaramond-math.lfg (renamed from tex/context/fonts/mkiv/garamond-math.lfg)30
-rw-r--r--tex/context/fonts/mkiv/erewhon-math.lfg44
-rw-r--r--tex/context/fonts/mkiv/kpfonts-math.lfg40
-rw-r--r--tex/context/fonts/mkiv/libertinus-math.lfg39
-rw-r--r--tex/context/fonts/mkiv/lm.lfg517
-rw-r--r--tex/context/fonts/mkiv/lucida-math.lfg (renamed from tex/context/fonts/mkiv/lucida-opentype-math.lfg)58
-rw-r--r--tex/context/fonts/mkiv/minion-math.lfg25
-rw-r--r--tex/context/fonts/mkiv/modern-math.lfg525
-rw-r--r--tex/context/fonts/mkiv/pagella-math.lfg52
-rw-r--r--tex/context/fonts/mkiv/schola-math.lfg48
-rw-r--r--tex/context/fonts/mkiv/stixtwo-math.lfg (renamed from tex/context/fonts/mkiv/stix-two-math.lfg)48
-rw-r--r--tex/context/fonts/mkiv/termes-math.lfg46
-rw-r--r--tex/context/fonts/mkiv/type-imp-asana.mkiv35
-rw-r--r--tex/context/fonts/mkiv/type-imp-cambria.mkiv16
-rw-r--r--tex/context/fonts/mkiv/type-imp-concrete.mkiv28
-rw-r--r--tex/context/fonts/mkiv/type-imp-dejavu.mkiv37
-rw-r--r--tex/context/fonts/mkiv/type-imp-ebgaramond.mkiv22
-rw-r--r--tex/context/fonts/mkiv/type-imp-erewhon.mkiv28
-rw-r--r--tex/context/fonts/mkiv/type-imp-euler.mkiv18
-rw-r--r--tex/context/fonts/mkiv/type-imp-kpfonts.mkiv38
-rw-r--r--tex/context/fonts/mkiv/type-imp-latinmodern.mkiv31
-rw-r--r--tex/context/fonts/mkiv/type-imp-libertinus.mkiv21
-rw-r--r--tex/context/fonts/mkiv/type-imp-lucida.mkiv (renamed from tex/context/fonts/mkiv/type-imp-lucida-opentype.mkiv)29
-rw-r--r--tex/context/fonts/mkiv/type-imp-stix.mkiv58
-rw-r--r--tex/context/fonts/mkiv/type-imp-texgyre.mkiv88
-rw-r--r--tex/context/fonts/mkiv/type-imp-xcharter.mkiv63
-rw-r--r--tex/context/fonts/mkiv/xcharter-math.lfg127
-rw-r--r--tex/context/fonts/mkiv/xits-math.lfg3
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",