summaryrefslogtreecommitdiff
path: root/tex/context/fonts/mkiv/cambria-math.lfg
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/fonts/mkiv/cambria-math.lfg')
-rw-r--r--tex/context/fonts/mkiv/cambria-math.lfg80
1 files changed, 76 insertions, 4 deletions
diff --git a/tex/context/fonts/mkiv/cambria-math.lfg b/tex/context/fonts/mkiv/cambria-math.lfg
index de8b55b22..2207c0645 100644
--- a/tex/context/fonts/mkiv/cambria-math.lfg
+++ b/tex/context/fonts/mkiv/cambria-math.lfg
@@ -56,6 +56,9 @@ return {
parameters = {
NoLimitSupFactor = 0,
NoLimitSubFactor = 1000,
+ -- AccentTopShiftUp = 0,
+ -- FlattenedAccentTopShiftUp = 0,
+ -- AccentExtendMargin = 50,
AccentBaseDepth = 300,
RadicalDegreeBottomRaisePercent = 65,
RadicalKernAfterDegree = -900,
@@ -80,9 +83,9 @@ return {
-- [0x002D8] = { yoffset = -0.15 }, -- breve
-- [0x002D9] = { yoffset = -0.15 }, -- dot
-- [0x000A8] = { yoffset = -0.1 }, -- ddot
- [0x020DB] = { yoffset = -0.05 }, -- dddot
+ -- [0x020DB] = { yoffset = -0.05 }, -- dddot
-- [0x002C7] = { yoffset = -0.1 }, -- check
- [0x020D7] = { yoffset = -0.05 }, -- vec
+ -- [0x020D7] = { yoffset = -0.05 }, -- vec
-- [0x00300] = { yoffset = -0.12, all=true }, -- widegrave
-- [0x00301] = { yoffset = -0.12, all=true }, -- wideacute
@@ -90,8 +93,8 @@ return {
-- [0x00303] = { yoffset = -0.12, all=true }, -- widetilde
-- [0x00304] = { yoffset = -0.12, all=true }, -- widebar
-- [0x00306] = { yoffset = -0.12, all=true }, -- widebreve
- [0x00307] = { yoffset = -0.025, all=true }, -- widedot
- [0x00308] = { yoffset = -0.025, all=true }, -- wideddot
+ -- [0x00307] = { yoffset = -0.025, all=true }, -- widedot
+ -- [0x00308] = { yoffset = -0.025, all=true }, -- wideddot
-- [0x020DB] = { yoffset = -0.1, all=true }, -- widedddot
-- [0x0030A] = { yoffset = -0.12, all=true }, -- widering
-- [0x0030C] = { yoffset = -0.12, all=true }, -- widecheck
@@ -147,6 +150,55 @@ return {
-- ["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
+ -- 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 = {
+ [0x00302] = { width = 2, anchor = 1.5, xoffset = .25 }, -- widehat
+ [0x00303] = { width = 2, anchor = 1.5, xoffset = .25 }, -- widetilde
+ [0x00306] = { width = 2, anchor = 1.5, xoffset = .25 }, -- widebreve
+ [0x0030C] = { width = 2, anchor = 1.5, xoffset = .25 }, -- 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.03, 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.
+
{
tweak = "fixprimes",
scale = 0.9,
@@ -179,6 +231,26 @@ return {
{
tweak = "wipecues",
},
+ {
+ tweak = "addarrows",
+ },
+ {
+ tweak = "fixslashes",
+ },
+ {
+ tweak = "addbars",
+ advance = 0.33,
+ },
+ {
+ tweak = "addactuarian",
+ },
+ {
+ tweak = "addfourier",
+ variant = 1,
+ },
+ -- { -- the ldots are squareshaped and the cdots are circular
+ -- tweak = "fixellipses",
+ -- },
},
},
bigslots = {