diff options
author | Hans Hagen <pragma@wxs.nl> | 2023-04-27 00:04:07 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2023-04-27 00:04:07 +0200 |
commit | 6b25a7a970ba9553adf8077ef2eecb50a5d77818 (patch) | |
tree | f06e40077ba9e55af4bf6cab52313f79f8ea84a8 /tex/context/fonts | |
parent | 657457ef4a08c1f000f272e00f654f4064cc37bd (diff) | |
download | context-6b25a7a970ba9553adf8077ef2eecb50a5d77818.tar.gz |
2023-04-26 23:31:00
Diffstat (limited to 'tex/context/fonts')
25 files changed, 636 insertions, 382 deletions
diff --git a/tex/context/fonts/mkiv/antykwa-math.lfg b/tex/context/fonts/mkiv/antykwa-math.lfg index debf5d1ed..975ada70e 100644 --- a/tex/context/fonts/mkiv/antykwa-math.lfg +++ b/tex/context/fonts/mkiv/antykwa-math.lfg @@ -1,24 +1,4 @@ -local common = fonts.goodies.load("common-math-jmn.lfg") -local helpers = common.mathematics.helpers - -if not fonts.encodings.math["extensible-jmn-private"] then - - local ps = fonts.helpers.privateslot - - fonts.encodings.math["extensible-jmn-private"] = { - [ps("rule middle piece")] = 200, -- minusjmn - [ps("rule right piece")] = 201, -- minusrightjmn - [ps("rule left piece")] = 202, -- minusleftjmn - [ps("double rule middle piece")] = 203, -- equaljmn - [ps("double rule right piece")] = 204, -- equalrightjmn - [ps("double rule left piece")] = 205, -- equalleftjmn - [ps("arrow left piece")] = 206, -- arrowleftjmn - [ps("arrow right piece")] = 207, -- arrowrightjmn - [ps("double arrow left piece")] = 208, -- arrowdblleftjmn - [ps("double arrow right piece")] = 209, -- arrowdblrightjmn - } - -end +-- no longer ok for mkiv: digits are not antykwa local fraction = .25 @@ -105,6 +85,95 @@ local uglyones = { vextenddouble = true, } +local recipes = { + ["antykwa-math"] = { + { name = "file:LatinModern-Math", features = "virtualmath-antykwa", main = true, parameters = false }, + -- + { name = "rm-anttr.tfm", vector = "tex-mr", skewchar=0x7F }, + { name = "mi-anttri.tfm", vector = "tex-mi", skewchar=0x7F }, + { name = "mi-anttri.tfm", vector = "tex-it", skewchar=0x7F }, + { name = "mi-anttbi.tfm", vector = "tex-bi", skewchar=0x7F }, + { name = "rm-anttb.tfm", vector = "tex-bf", skewchar=0x7F }, + { name = "sy-anttrz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true, ignore = uglyones }, -- jmn = true + { name = "sy-anttrz.tfm", vector = "extensible-jmn-private", skewchar=0x30 }, + { name = "file:AntykwaTorunska-Regular", vector = "tex-ex-braces", backmap = false }, + { name = "ex-anttr.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, + }, + ["antykwa-light-math"] = { + { name = "file:LatinModern-Math", features = "virtualmath-antykwa-light", main = true, parameters = false }, + -- + { name = "rm-anttl.tfm", vector = "tex-mr", skewchar=0x7F }, + { name = "mi-anttli.tfm", vector = "tex-mi", skewchar=0x7F }, + { name = "mi-anttli.tfm", vector = "tex-it", skewchar=0x7F }, + { name = "mi-anttri.tfm", vector = "tex-bi", skewchar=0x7F }, + { name = "rm-anttr.tfm", vector = "tex-bf", skewchar=0x7F }, + { name = "sy-anttlz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true, ignore = uglyones }, -- jmn = true + { name = "sy-anttlz.tfm", vector = "extensible-jmn-private", skewchar=0x30 }, + { name = "file:AntykwaTorunskaLight-Regular", vector = "tex-ex-braces", backmap = false }, + { name = "ex-anttl.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, + }, + ["antykwa-cond-math"] = { + { name = "file:LatinModern-Math", features = "virtualmath-antykwa-cond", main = true, parameters = false }, + -- + { name = "rm-anttcr.tfm", vector = "tex-mr", skewchar=0x7F }, + { name = "mi-anttcri.tfm", vector = "tex-mi", skewchar=0x7F }, + { name = "mi-anttcri.tfm", vector = "tex-it", skewchar=0x7F }, + { name = "mi-anttcbi.tfm", vector = "tex-bi", skewchar=0x7F }, + { name = "rm-anttcb.tfm", vector = "tex-bf", skewchar=0x7F }, + { name = "sy-anttcrz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true, ignore = uglyones }, -- jmn = true + { name = "sy-anttcrz.tfm", vector = "extensible-jmn-private", skewchar=0x30 }, + { name = "file:AntykwaTorunskaCond-Regular", vector = "tex-ex-braces", backmap = false }, + { name = "ex-anttcr.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, + }, + ["antykwa-light-cond-math"] = { + { name = "file:LatinModern-Math", features = "virtualmath-antykwa-lightcond", main = true, parameters = false }, + -- + { name = "rm-anttcl.tfm", vector = "tex-mr", skewchar=0x7F }, + { name = "mi-anttcli.tfm", vector = "tex-mi", skewchar=0x7F }, + { name = "mi-anttcli.tfm", vector = "tex-it", skewchar=0x7F }, + { name = "mi-anttcri.tfm", vector = "tex-bi", skewchar=0x7F }, + { name = "rm-anttcr.tfm", vector = "tex-bf", skewchar=0x7F }, + { name = "sy-anttclz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true, ignore = uglyones }, -- jmn = true + { name = "sy-anttclz.tfm", vector = "extensible-jmn-private", skewchar=0x30 }, + { name = "file:AntykwaTorunskaCondLight-Regular", vector = "tex-ex-braces", backmap = false }, + { name = "ex-anttcl.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, + }, +} + +local tweaks = nil +local common = fonts.goodies.load("common-math-jmn.lfg") + +if common then + + tweaks = { + { + tweak = "addmissing", + action = common.mathematics.helpers.addmissing, + }, + { + tweak = "setoptions", + set = { "ignorekerndimensions" } + }, -- we have dp > ht fences + { + tweak = "fixprimes", + factor = 1.0, -- accent base height + fake = 0.9, -- replace multiples with this width proportion + }, + { + tweak = "addequals", + force = true, + }, + { + tweak = "keepbases", +-- list = { 0x302 } + list = "default" + }, +} + + common.mathematics.helpers.copyrecipes(recipes) + +end + return { name = "antykwa-math", version = "1.00", @@ -123,59 +192,15 @@ return { notshiftfactor = 0.075, }, virtuals = { - ["antykwa-math"] = { - { name = "file:LatinModern-Math", features = "virtualmath-antykwa", main = true, parameters = false }, - -- - { name = "rm-anttr.tfm", vector = "tex-mr", skewchar=0x7F }, - { name = "mi-anttri.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "mi-anttri.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "mi-anttbi.tfm", vector = "tex-bi", skewchar=0x7F }, - { name = "rm-anttb.tfm", vector = "tex-bf", skewchar=0x7F }, - { name = "sy-anttrz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true, ignore = uglyones }, -- jmn = true - { name = "sy-anttrz.tfm", vector = "extensible-jmn-private", skewchar=0x30 }, - { name = "file:AntykwaTorunska-Regular", vector = "tex-ex-braces", backmap = false }, - { name = "ex-anttr.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, - }, - ["antykwa-light-math"] = { - { name = "file:LatinModern-Math", features = "virtualmath-antykwa-light", main = true, parameters = false }, - -- - { name = "rm-anttl.tfm", vector = "tex-mr", skewchar=0x7F }, - { name = "mi-anttli.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "mi-anttli.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "mi-anttri.tfm", vector = "tex-bi", skewchar=0x7F }, - { name = "rm-anttr.tfm", vector = "tex-bf", skewchar=0x7F }, - { name = "sy-anttlz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true, ignore = uglyones }, -- jmn = true - { name = "sy-anttlz.tfm", vector = "extensible-jmn-private", skewchar=0x30 }, - { name = "file:AntykwaTorunskaLight-Regular", vector = "tex-ex-braces", backmap = false }, - { name = "ex-anttl.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, - }, - ["antykwa-cond-math"] = { - { name = "file:LatinModern-Math", features = "virtualmath-antykwa-cond", main = true, parameters = false }, - -- - { name = "rm-anttcr.tfm", vector = "tex-mr", skewchar=0x7F }, - { name = "mi-anttcri.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "mi-anttcri.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "mi-anttcbi.tfm", vector = "tex-bi", skewchar=0x7F }, - { name = "rm-anttcb.tfm", vector = "tex-bf", skewchar=0x7F }, - { name = "sy-anttcrz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true, ignore = uglyones }, -- jmn = true - { name = "sy-anttcrz.tfm", vector = "extensible-jmn-private", skewchar=0x30 }, - { name = "file:AntykwaTorunskaCond-Regular", vector = "tex-ex-braces", backmap = false }, - { name = "ex-anttcr.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, - }, - ["antykwa-light-cond-math"] = { - { name = "file:LatinModern-Math", features = "virtualmath-antykwa-lightcond", main = true, parameters = false }, - -- - { name = "rm-anttcl.tfm", vector = "tex-mr", skewchar=0x7F }, - { name = "mi-anttcli.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "mi-anttcli.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "mi-anttcri.tfm", vector = "tex-bi", skewchar=0x7F }, - { name = "rm-anttcr.tfm", vector = "tex-bf", skewchar=0x7F }, - { name = "sy-anttclz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true, ignore = uglyones }, -- jmn = true - { name = "sy-anttclz.tfm", vector = "extensible-jmn-private", skewchar=0x30 }, - { name = "file:AntykwaTorunskaCondLight-Regular", vector = "tex-ex-braces", backmap = false }, - { name = "ex-anttcl.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, - } + ["antykwa-math"] = { recipe = recipes["antykwa-math"], tweaks = tweaks }, + ["antykwa-light-math"] = { recipe = recipes["antykwa-light-math"], tweaks = tweaks }, + ["antykwa-cond-math"] = { recipe = recipes["antykwa-cond-math"], tweaks = tweaks }, + ["antykwa-light-cond-math"] = { recipe = recipes["antykwa-light-cond-math"], tweaks = tweaks }, + + ["antykwa-math-nt"] = common and { recipe = recipes["antykwa-math-nt"] } or nil, + ["antykwa-light-math-nt"] = common and { recipe = recipes["antykwa-light-math-nt"] } or nil, + ["antykwa-cond-math-nt"] = common and { recipe = recipes["antykwa-cond-math-nt"] } or nil, + ["antykwa-light-cond-math-nt"] = common and { recipe = recipes["antykwa-light-cond-math-nt"] } or nil, }, - addmissing = helpers.addmissing, } } diff --git a/tex/context/fonts/mkiv/bonum-math.lfg b/tex/context/fonts/mkiv/bonum-math.lfg index ce36da352..13be0e69d 100644 --- a/tex/context/fonts/mkiv/bonum-math.lfg +++ b/tex/context/fonts/mkiv/bonum-math.lfg @@ -59,6 +59,7 @@ return { }, }, }, + presets.smalldigits { factor = 0.95 }, presets.scripttocalligraphic { }, presets.rsfstoscript { rscale = 0.98 }, presets.rsfsuprighttoscript { rscale = 0.98 }, @@ -93,8 +94,8 @@ return { { tweak = "kerns", list = { - [0x002F] = { topleft = -0.2, bottomright = -0.2 }, - ["0x002F.variants.*"] = { topleft = -0.2, bottomright = -0.2 }, + [0x002F] = { topleft = -0.2, bottomright = -0.2 }, + ["0x002F.variants.*"] = { topleft = -0.2, bottomright = -0.2 }, [0x007D] = { topright = -0.05, bottomright = -0.05 }, -- right brace variants ["0x7D.variants.*"] = { topright = -0.05, bottomright = -0.05 }, -- right brace variants ["0x7D.parts.top"] = { topright = -0.15, }, -- right brace top @@ -112,9 +113,9 @@ return { [0x27EB] = { topright = -0.1, bottomright = -0.1 }, ["0x27EB.variants.*"] = { topright = -0.2, bottomright = -0.2 }, -- - [0x1D465] = { bottomright = -0.05, }, -- italic x (ic is too large) - [0x00393] = { bottomright = -0.30, }, -- upright Gamma - [0x1D43F] = { bottomright = 0.01, }, -- upright L + [0x1D465] = { bottomright = -0.05 }, -- italic x (ic is too large) + [0x00393] = { bottomright = -0.30 }, -- upright Gamma + [0x1D43F] = { bottomright = 0.01 }, -- upright L ["0x222B.parts.bottom"] = { bottomright = -0.20 }, -- int ["0x222C.parts.bottom"] = { bottomright = -0.15 }, -- iint ["0x222D.parts.bottom"] = { bottomright = -0.10 }, -- iiint @@ -145,27 +146,23 @@ return { { tweak = "dimensions", list = { - -- [0x007D] = { topright = -0.05, bottomright = -0.05 }, -- right brace variants - ["0x7C"] = { width = 1.4, xoffset=0.2 }, -- vertical bar - -- ["0x7C.variants.*"] = { width = 1, extend = 2.4 }, -- vertical bar - -- ["0x7C.parts.top"] = { , }, -- vertical bar - -- ["0x7C.parts.bottom"] = { bottomright = -0.15 }, -- vertical bar + -- [0x007D] = { topright = -0.05, bottomright = -0.05 }, -- right brace variants + ["0x7C"] = { width = 1.4, xoffset=0.2 }, -- vertical bar (just looks better tis way) + -- ["0x7C.variants.*"] = { width = 1, extend = 2.4 }, + -- ["0x7C.parts.top"] = { }, + -- ["0x7C.parts.bottom"] = { bottomright = -0.15 }, }, }, --- { --- 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 = 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 - [0x0030C] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widecheck - }, - }, + -- a proper width. Thjis is no longer needed because we tweak the dimensions automatically, + -- so this is just some documented history. + -- { + -- tweak = "dimensions", + -- list = { + -- [0x00302] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widehat + -- ["0x00302.flataccent"] = { width = 1.4, anchor = 1.20 }, -- no offset, because we copy + -- }, + -- }, -- Then we deal with all offsets and heights in one go. So we treat the initial accent -- as well as the variants here. But none for Bonum. -- We now copy these to the not wide slots so that we can set these to stretch as well, @@ -236,10 +233,9 @@ return { }, { tweak = "replacerules", - -- minus = true, -- we have an extensible - fraction = { height = .244, yoffset = .757 }, - radical = { height = .244, yoffset = .754 }, - stacker = { height = .244, yoffset = .757 }, + fraction = { height = .244, yoffset = .758 }, + radical = { height = .244, yoffset = .758, leftoffset = .1, rightoffset = .1 }, + stacker = { height = .244, yoffset = .758 }, }, { -- This tweak is only needed for the funny arrows and these now get properly diff --git a/tex/context/fonts/mkiv/cambria-math.lfg b/tex/context/fonts/mkiv/cambria-math.lfg index 3b8e12cd9..15fad23c4 100644 --- a/tex/context/fonts/mkiv/cambria-math.lfg +++ b/tex/context/fonts/mkiv/cambria-math.lfg @@ -87,15 +87,15 @@ return { }, -- 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 - }, - }, + -- { + -- 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. { @@ -143,7 +143,8 @@ return { radical = { height = .204, yoffset = .796, - -- leftoffset = .075, + leftoffset = .0925, + rightoffset = .0925, }, stacker = { height = .204, diff --git a/tex/context/fonts/mkiv/common-math-jmn.lfg b/tex/context/fonts/mkiv/common-math-jmn.lfg index 995da0db6..1df814b2f 100644 --- a/tex/context/fonts/mkiv/common-math-jmn.lfg +++ b/tex/context/fonts/mkiv/common-math-jmn.lfg @@ -1,3 +1,12 @@ +if CONTEXTLMTXMODE == 0 then + + fonts.encodings.math["extensible-jmn-private"] = { } + fonts.encodings.math["tex-ex-braces"] = { } + + return false + +end + local nps = fonts.helpers.newprivateslot local fake20D6 = nps("arrow fake 0x20D6") @@ -10,6 +19,25 @@ local fake034D = nps("arrow fake 0x034D") local real034D = nps("arrow real 0x034D") +if not fonts.encodings.math["extensible-jmn-private"] then + + local ps = fonts.helpers.privateslot + + fonts.encodings.math["extensible-jmn-private"] = { + [ps("rule middle piece")] = 200, -- minusjmn + [ps("rule right piece")] = 201, -- minusrightjmn + [ps("rule left piece")] = 202, -- minusleftjmn + [ps("double rule middle piece")] = 203, -- equaljmn + [ps("double rule right piece")] = 204, -- equalrightjmn + [ps("double rule left piece")] = 205, -- equalleftjmn + [ps("arrow left piece")] = 206, -- arrowleftjmn + [ps("arrow right piece")] = 207, -- arrowrightjmn + [ps("double arrow left piece")] = 208, -- arrowdblleftjmn + [ps("double arrow right piece")] = 209, -- arrowdblrightjmn + } + +end + return { name = "common-math-jmn", version = "1.00", @@ -18,6 +46,15 @@ return { copyright = "ConTeXt development team", mathematics = { helpers = { + copyrecipes = function(recipes) + local list = table.keys(recipes) + for i=1,#list do + local n = list[i] + local t = table.copy(recipes[n]) + t[1].features = t[1].features .. "-nt" + recipes[n .. "-nt"] = t + end + end, addmissing = function(main) local max = math.max @@ -249,6 +286,8 @@ local bfactor = antykwa and 0.1 or 0.2 characters[0x2980].extensible = true characters[0x2980].varianttemplate = 0x5B +-- characters[0x0302].keepbase = true -- can also be a tweak + -- 21CB leftrightharpoon -- 21CC rightleftharpoon diff --git a/tex/context/fonts/mkiv/common-math.lfg b/tex/context/fonts/mkiv/common-math.lfg index 45e46d865..5c7ade3fb 100644 --- a/tex/context/fonts/mkiv/common-math.lfg +++ b/tex/context/fonts/mkiv/common-math.lfg @@ -301,6 +301,17 @@ return { }, } end, + smalldigits = function(parameters) + return { + tweak = "dimensions", + feature = "smalldigits", + list = { + ["digitsnormal"] = { + factor = parameters.factor or 0.9, + }, + }, + } + end, }, }, }, diff --git a/tex/context/fonts/mkiv/concrete-math.lfg b/tex/context/fonts/mkiv/concrete-math.lfg index e92bb122a..3c8f36391 100644 --- a/tex/context/fonts/mkiv/concrete-math.lfg +++ b/tex/context/fonts/mkiv/concrete-math.lfg @@ -97,9 +97,16 @@ return { }, { tweak = "replacerules", + -- minus = { + -- leftoffset = 0, + -- rightoffset = 0, + -- }, minus = true, fraction = { height = .2, yoffset = .8 }, - radical = { height = .2, yoffset = .8, leftoffset = .2 }, + -- Hans, add option not to cut off first piece + -- Hans, check height. + radical = { height = .2, yoffset = .585, leftoffset = .085, rightoffset = .085, leftoverlap = 0.03, yscale = 0.8 }, + -- radical = { height = .2, yoffset = .75, leftoffset = .085, rightoffset = .085, leftoverlap = 0.039 }, stacker = { height = .2, yoffset = .8 }, }, { diff --git a/tex/context/fonts/mkiv/dejavu-math.lfg b/tex/context/fonts/mkiv/dejavu-math.lfg index 4098a32d0..bd355c3b5 100644 --- a/tex/context/fonts/mkiv/dejavu-math.lfg +++ b/tex/context/fonts/mkiv/dejavu-math.lfg @@ -116,15 +116,15 @@ return { }, -- 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 = 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 - [0x0030C] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widecheck - }, - }, + -- { + -- tweak = "dimensions", + -- list = { + -- [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 + -- [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. { @@ -152,9 +152,8 @@ return { }, { tweak = "replacerules", - -- minus = true, -- we have an extensible fraction = { height = .254, yoffset = .746 }, - radical = { height = .254, yoffset = .746, yscale = .912 }, + radical = { height = .17, leftoffset = .1, rightoffset = .1, yoffset = .485, yscale = .65 }, stacker = { height = .254, yoffset = .746 }, }, { diff --git a/tex/context/fonts/mkiv/ebgaramond-math.lfg b/tex/context/fonts/mkiv/ebgaramond-math.lfg index c25147b14..20bf48460 100644 --- a/tex/context/fonts/mkiv/ebgaramond-math.lfg +++ b/tex/context/fonts/mkiv/ebgaramond-math.lfg @@ -190,10 +190,12 @@ return { yoffset = .8, }, radical = { - height = .2, - yoffset = .8, - leftoffset = .075, - yscale = .9775, + height = .2, + yoffset = .66, + leftoverlap = .020, + leftoffset = .075, -- todo + rightoffset = .075, -- todo + yscale = .84, }, stacker = { height = .2, diff --git a/tex/context/fonts/mkiv/erewhon-math.lfg b/tex/context/fonts/mkiv/erewhon-math.lfg index 5a28735f1..91f084e9b 100644 --- a/tex/context/fonts/mkiv/erewhon-math.lfg +++ b/tex/context/fonts/mkiv/erewhon-math.lfg @@ -109,9 +109,10 @@ return { yoffset = .812, }, radical = { - height = .188, - yoffset = .812, - leftoffset = 0.075, + height = .188, + yoffset = .812, + leftoffset = 0.12, + rightoffset = 0.12, }, stacker = { height = .188, diff --git a/tex/context/fonts/mkiv/iwona-math.lfg b/tex/context/fonts/mkiv/iwona-math.lfg index 815b9e120..2754e1577 100644 --- a/tex/context/fonts/mkiv/iwona-math.lfg +++ b/tex/context/fonts/mkiv/iwona-math.lfg @@ -29,6 +29,82 @@ local uglyones = { vextenddouble = true, } +local recipes = { + ["iwona-math"] = { + { name = "file:LatinModern-Math", features = "virtualmath-iwona", main = true, parameters = false }, + -- + { name = "rm-iwonar.tfm", vector = "tex-mr", skewchar=0x7F }, + { name = "mi-iwonari.tfm", vector = "tex-mi", skewchar=0x7F }, + { name = "mi-iwonari.tfm", vector = "tex-it", skewchar=0x7F }, + { name = "mi-iwonami.tfm", vector = "tex-bi", skewchar=0x7F }, + { name = "rm-iwonam.tfm", vector = "tex-bf", skewchar=0x7F }, + { name = "sy-iwonarz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, + { name = "ex-iwonar.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, + }, + ["iwona-light-math"] = { + { name = "file:LatinModern-Math", features = "virtualmath-iwona-light", main = true, parameters = false }, + -- + { name = "rm-iwonal.tfm", vector = "tex-mr", skewchar=0x7F }, + { name = "mi-iwonali.tfm", vector = "tex-mi", skewchar=0x7F }, + { name = "mi-iwonali.tfm", vector = "tex-it", skewchar=0x7F }, + { name = "mi-iwonari.tfm", vector = "tex-bi", skewchar=0x7F }, + { name = "rm-iwonar.tfm", vector = "tex-bf", skewchar=0x7F }, + { name = "sy-iwonalz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, + { name = "ex-iwonal.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, + }, + ["iwona-medium-math"] = { + { name = "file:LatinModern-Math", features = "virtualmath-iwona-medium", main = true, parameters = false }, + -- + { name = "rm-iwonam.tfm", vector = "tex-mr", skewchar=0x7F }, + { name = "mi-iwonami.tfm", vector = "tex-mi", skewchar=0x7F }, + { name = "mi-iwonami.tfm", vector = "tex-it", skewchar=0x7F }, + { name = "mi-iwonabi.tfm", vector = "tex-bi", skewchar=0x7F }, + { name = "rm-iwonab.tfm", vector = "tex-bf", skewchar=0x7F }, + { name = "sy-iwonamz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, + { name = "ex-iwonam.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, + }, + ["iwona-heavy-math"] = { + { name = "file:LatinModern-Math", features = "virtualmath-iwona-heavy", main = true, parameters = false }, + -- + { name = "rm-iwonah.tfm", vector = "tex-mr", skewchar=0x7F }, + { name = "mi-iwonahi.tfm", vector = "tex-mi", skewchar=0x7F }, + { name = "mi-iwonahi.tfm", vector = "tex-it", skewchar=0x7F }, + { name = "mi-iwonahi.tfm", vector = "tex-bi", skewchar=0x7F }, + { name = "rm-iwonah.tfm", vector = "tex-bf", skewchar=0x7F }, + { name = "sy-iwonahz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, + { name = "ex-iwonah.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, + }, +} + +local tweaks = nil +local common = fonts.goodies.load("common-math-jmn.lfg") + +if common then + + tweaks = { + { + tweak = "addmissing", + action = common.mathematics.helpers.addmissing, + }, + { + tweak = "setoptions", + set = { "ignorekerndimensions" } + }, -- we have dp > ht fences + { + tweak = "fixprimes", + factor = 1.0, -- accent base height + fake = 0.9, -- replace multiples with this width proportion + }, + { + tweak = "addequals", + force = true, + }, + } + + common.mathematics.helpers.copyrecipes(recipes) + +end + return { name = "iwona-math", version = "1.00", @@ -44,51 +120,15 @@ return { -- "mkiv-base.map", }, virtuals = { - ["iwona-math"] = { - { name = "file:LatinModern-Math", features = "virtualmath-iwona", main = true, parameters = false }, - -- - { name = "rm-iwonar.tfm", vector = "tex-mr", skewchar=0x7F }, - { name = "mi-iwonari.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "mi-iwonari.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "mi-iwonami.tfm", vector = "tex-bi", skewchar=0x7F }, - { name = "rm-iwonam.tfm", vector = "tex-bf", skewchar=0x7F }, - { name = "sy-iwonarz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, - { name = "ex-iwonar.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, - }, - ["iwona-light-math"] = { - { name = "file:LatinModern-Math", features = "virtualmath-iwona-light", main = true, parameters = false }, - -- - { name = "rm-iwonal.tfm", vector = "tex-mr", skewchar=0x7F }, - { name = "mi-iwonali.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "mi-iwonali.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "mi-iwonari.tfm", vector = "tex-bi", skewchar=0x7F }, - { name = "rm-iwonar.tfm", vector = "tex-bf", skewchar=0x7F }, - { name = "sy-iwonalz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, - { name = "ex-iwonal.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, - }, - ["iwona-medium-math"] = { - { name = "file:LatinModern-Math", features = "virtualmath-iwona-medium", main = true, parameters = false }, - -- - { name = "rm-iwonam.tfm", vector = "tex-mr", skewchar=0x7F }, - { name = "mi-iwonami.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "mi-iwonami.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "mi-iwonabi.tfm", vector = "tex-bi", skewchar=0x7F }, - { name = "rm-iwonab.tfm", vector = "tex-bf", skewchar=0x7F }, - { name = "sy-iwonamz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, - { name = "ex-iwonam.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, - }, - ["iwona-heavy-math"] = { - { name = "file:LatinModern-Math", features = "virtualmath-iwona-heavy", main = true, parameters = false }, - -- - { name = "rm-iwonah.tfm", vector = "tex-mr", skewchar=0x7F }, - { name = "mi-iwonahi.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "mi-iwonahi.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "mi-iwonahi.tfm", vector = "tex-bi", skewchar=0x7F }, - { name = "rm-iwonah.tfm", vector = "tex-bf", skewchar=0x7F }, - { name = "sy-iwonahz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, - { name = "ex-iwonah.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, - } + ["iwona-math"] = { recipe = recipes["iwona-math"], tweaks = tweaks }, + ["iwona-light-math"] = { recipe = recipes["iwona-light-math"], tweaks = tweaks }, + ["iwona-medium-math"] = { recipe = recipes["iwona-medium-math"], tweaks = tweaks }, + ["iwona-heavy-math"] = { recipe = recipes["iwona-heavy-math"], tweaks = tweaks }, + + ["iwona-math-nt"] = { recipe = common and recipes["iwona-math-nt"] or nil }, + ["iwona-light-math-nt"] = { recipe = common and recipes["iwona-light-math-nt"] or nil }, + ["iwona-medium-math-nt"] = { recipe = common and recipes["iwona-medium-math-nt"] or nil }, + ["iwona-heavy-math-nt"] = { recipe = common and recipes["iwona-heavy-math-nt"] or nil }, }, - addmissing = helpers.addmissing, } } diff --git a/tex/context/fonts/mkiv/kpfonts-math.lfg b/tex/context/fonts/mkiv/kpfonts-math.lfg index db3e44be8..628dd13b6 100644 --- a/tex/context/fonts/mkiv/kpfonts-math.lfg +++ b/tex/context/fonts/mkiv/kpfonts-math.lfg @@ -130,9 +130,10 @@ return { yoffset = .818, }, radical = { - height = .1818, - yoffset = .818, - leftoffset = 0.075, + height = .1818, + yoffset = .818, + leftoffset = 0.08, + rightoffset = 0.08, }, stacker = { height = .1818, diff --git a/tex/context/fonts/mkiv/kurier-math.lfg b/tex/context/fonts/mkiv/kurier-math.lfg index 221992518..a7290d0ca 100644 --- a/tex/context/fonts/mkiv/kurier-math.lfg +++ b/tex/context/fonts/mkiv/kurier-math.lfg @@ -29,6 +29,82 @@ local uglyones = { vextenddouble = true, } +local recipes = { + ["kurier-math"] = { + { name = "file:LatinModern-Math", features = "virtualmath-kurier", main = true, parameters = false }, + -- + { name = "rm-kurierr.tfm", vector = "tex-mr", skewchar=0x7F }, + { name = "mi-kurierri.tfm", vector = "tex-mi", skewchar=0x7F }, + { name = "mi-kurierri.tfm", vector = "tex-it", skewchar=0x7F }, + { name = "mi-kuriermi.tfm", vector = "tex-bi", skewchar=0x7F }, + { name = "rm-kurierm.tfm", vector = "tex-bf", skewchar=0x7F }, + { name = "sy-kurierrz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, + { name = "ex-kurierr.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, + }, + ["kurier-light-math"] = { + { name = "file:LatinModern-Math", features = "virtualmath-kurier-light", main = true, parameters = false }, + -- + { name = "rm-kurierl.tfm", vector = "tex-mr", skewchar=0x7F }, + { name = "mi-kurierli.tfm", vector = "tex-mi", skewchar=0x7F }, + { name = "mi-kurierli.tfm", vector = "tex-it", skewchar=0x7F }, + { name = "mi-kurierri.tfm", vector = "tex-bi", skewchar=0x7F }, + { name = "rm-kurierr.tfm", vector = "tex-bf", skewchar=0x7F }, + { name = "sy-kurierlz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, + { name = "ex-kurierl.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, + }, + ["kurier-medium-math"] = { + { name = "file:LatinModern-Math", features = "virtualmath-kurier-medium", main = true, parameters = false }, + -- + { name = "rm-kurierm.tfm", vector = "tex-mr", skewchar=0x7F }, + { name = "mi-kuriermi.tfm", vector = "tex-mi", skewchar=0x7F }, + { name = "mi-kuriermi.tfm", vector = "tex-it", skewchar=0x7F }, + { name = "mi-kurierhi.tfm", vector = "tex-bi", skewchar=0x7F }, + { name = "rm-kurierh.tfm", vector = "tex-bf", skewchar=0x7F }, + { name = "sy-kuriermz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, + { name = "ex-kurierm.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, + }, + ["kurier-heavy-math"] = { + { name = "file:LatinModern-Math", features = "virtualmath-kurier-heavy", main = true, parameters = false }, + -- + { name = "rm-kurierh.tfm", vector = "tex-mr", skewchar=0x7F }, + { name = "mi-kurierhi.tfm", vector = "tex-mi", skewchar=0x7F }, + { name = "mi-kurierhi.tfm", vector = "tex-it", skewchar=0x7F }, + { name = "mi-kurierhi.tfm", vector = "tex-bi", skewchar=0x7F }, + { name = "rm-kurierh.tfm", vector = "tex-bf", skewchar=0x7F }, + { name = "sy-kurierhz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, + { name = "ex-kurierh.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, + } +} + +local tweaks = nil +local common = fonts.goodies.load("common-math-jmn.lfg") + +if common then + + tweaks = { + { + tweak = "addmissing", + action = common.mathematics.helpers.addmissing, + }, + { + tweak = "setoptions", + set = { "ignorekerndimensions" } + }, -- we have dp > ht fences + { + tweak = "fixprimes", + factor = 1.0, -- accent base height + fake = 0.9, -- replace multiples with this width proportion + }, + { + tweak = "addequals", + force = true, + }, + } + + common.mathematics.helpers.copyrecipes(recipes) + +end + return { name = "kurier-math", version = "1.00", @@ -44,51 +120,15 @@ return { -- "mkiv-base.map", }, virtuals = { - ["kurier-math"] = { - { name = "file:LatinModern-Math", features = "virtualmath-kurier", main = true, parameters = false }, - -- - { name = "rm-kurierr.tfm", vector = "tex-mr", skewchar=0x7F }, - { name = "mi-kurierri.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "mi-kurierri.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "mi-kuriermi.tfm", vector = "tex-bi", skewchar=0x7F }, - { name = "rm-kurierm.tfm", vector = "tex-bf", skewchar=0x7F }, - { name = "sy-kurierrz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, - { name = "ex-kurierr.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, - }, - ["kurier-light-math"] = { - { name = "file:LatinModern-Math", features = "virtualmath-kurier-light", main = true, parameters = false }, - -- - { name = "rm-kurierl.tfm", vector = "tex-mr", skewchar=0x7F }, - { name = "mi-kurierli.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "mi-kurierli.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "mi-kurierri.tfm", vector = "tex-bi", skewchar=0x7F }, - { name = "rm-kurierr.tfm", vector = "tex-bf", skewchar=0x7F }, - { name = "sy-kurierlz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, - { name = "ex-kurierl.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, - }, - ["kurier-medium-math"] = { - { name = "file:LatinModern-Math", features = "virtualmath-kurier-medium", main = true, parameters = false }, - -- - { name = "rm-kurierm.tfm", vector = "tex-mr", skewchar=0x7F }, - { name = "mi-kuriermi.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "mi-kuriermi.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "mi-kurierhi.tfm", vector = "tex-bi", skewchar=0x7F }, - { name = "rm-kurierh.tfm", vector = "tex-bf", skewchar=0x7F }, - { name = "sy-kuriermz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, - { name = "ex-kurierm.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, - }, - ["kurier-heavy-math"] = { - { name = "file:LatinModern-Math", features = "virtualmath-kurier-heavy", main = true, parameters = false }, - -- - { name = "rm-kurierh.tfm", vector = "tex-mr", skewchar=0x7F }, - { name = "mi-kurierhi.tfm", vector = "tex-mi", skewchar=0x7F }, - { name = "mi-kurierhi.tfm", vector = "tex-it", skewchar=0x7F }, - { name = "mi-kurierhi.tfm", vector = "tex-bi", skewchar=0x7F }, - { name = "rm-kurierh.tfm", vector = "tex-bf", skewchar=0x7F }, - { name = "sy-kurierhz.tfm", vector = "tex-sy", skewchar=0x30, parameters = true }, - { name = "ex-kurierh.tfm", vector = "tex-ex", extension = true, badones = badones, ignore = uglyones }, - } + ["kurier-math"] = { recipe = recipes["kurier-math"], tweaks = tweaks }, + ["kurier-light-math"] = { recipe = recipes["kurier-light-math"], tweaks = tweaks }, + ["kurier-medium-math"] = { recipe = recipes["kurier-medium-math"], tweaks = tweaks }, + ["kurier-heavy-math"] = { recipe = recipes["kurier-heavy-math"], tweaks = tweaks }, + + ["kurier-math-nt"] = { recipe = common and recipes["kurier-math-nt"] or nil }, + ["kurier-light-math-nt"] = { recipe = common and recipes["kurier-light-math-nt"] or nil }, + ["kurier-medium-math-nt"] = { recipe = common and recipes["kurier-medium-math-nt"] or nil }, + ["kurier-heavy-math-nt"] = { recipe = common and recipes["kurier-heavy-math-nt"] or nil }, }, - addmissing = helpers.addmissing, - } + }, } diff --git a/tex/context/fonts/mkiv/libertinus-math.lfg b/tex/context/fonts/mkiv/libertinus-math.lfg index 0b8ca42ad..02afa0e90 100644 --- a/tex/context/fonts/mkiv/libertinus-math.lfg +++ b/tex/context/fonts/mkiv/libertinus-math.lfg @@ -58,6 +58,9 @@ return { presets.moveintegrals { factor = 1.5 }, presets.wipeitalics { }, { + tweak = "checkaccents", + }, + { tweak = "simplifykerns", }, { @@ -94,15 +97,15 @@ return { }, -- 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 = 1.8, anchor = 1.40, xoffset = .20 }, -- widehat - [0x00303] = { width = 2.0, anchor = 1.50, xoffset = .30 }, -- widetilde - [0x00306] = { width = 1.6, anchor = 1.30, xoffset = .15 }, -- widebreve - [0x0030C] = { width = 1.3, anchor = 1.15, xoffset = .075 }, -- widecheck - }, - }, + -- { + -- tweak = "dimensions", + -- list = { + -- [0x00302] = { width = 1.8, anchor = 1.40, xoffset = .20 }, -- widehat + -- [0x00303] = { width = 2.0, anchor = 1.50, xoffset = .30 }, -- widetilde + -- [0x00306] = { width = 1.6, anchor = 1.30, xoffset = .15 }, -- widebreve + -- [0x0030C] = { width = 1.3, anchor = 1.15, xoffset = .075 }, -- widecheck + -- }, + -- }, -- Then we deal with all offsets and heights in one go. So we treat the initial accent -- as well as the variants here. None in libertinus. -- We now copy these to the not wide slots so that we can set these to stretch as well, @@ -154,10 +157,11 @@ return { yoffset = .825, }, radical = { - height = .140, - yoffset = .800, - leftoffset = .075, - yscale = .950, + height = .140, + yoffset = .6575, + leftoffset = .075, + rightoffset = .075, + yscale = .8, }, stacker = { height = .176, diff --git a/tex/context/fonts/mkiv/lucida-math.lfg b/tex/context/fonts/mkiv/lucida-math.lfg index 1e5391d6a..2c42db595 100644 --- a/tex/context/fonts/mkiv/lucida-math.lfg +++ b/tex/context/fonts/mkiv/lucida-math.lfg @@ -15,7 +15,7 @@ return { parameters = { FractionRuleThickness = 55, -- AccentBaseDepth = 250, - FlattenedAccentBaseHeight = 710,-- not present in font, set too small by 1. + FlattenedAccentBaseHeight = 710,-- slightly too large in the font DelimiterPercent = 90, DelimiterShortfall = 400, SuperscriptBottomMaxWithSubscript = 325, @@ -37,18 +37,18 @@ return { tweak = "parameters", feature = "boldmath", list = { - -- RadicalRuleThickness = 55, - RadicalRuleThickness = 60, - -- RadicalRuleThickness = "1.09*RadicalRuleThickness", - -- FractionRuleThickness = 65, - -- OverRuleThickness = 65, - -- UnderRuleThickness = 65, + RadicalRuleThickness = 60, + -- RadicalRuleThickness = "1.09*RadicalRuleThickness", + -- FractionRuleThickness = 65, + -- OverRuleThickness = 65, + -- UnderRuleThickness = 65, } }, { tweak = "addmirrors", }, - presets.scripttocalligraphic { }, + presets.smalldigits { factor = 0.90 }, + presets.scripttocalligraphic { }, presets.rsfstoscript { rscale = 1 }, presets.rsfsuprighttoscript { rscale = 1 }, presets.moderntocalligraphic { rscale = 1 }, @@ -124,6 +124,9 @@ return { -- 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 = "checkaccents", + }, + { tweak = "extendaccents", }, { @@ -132,6 +135,10 @@ return { { tweak = "fixaccents", }, +{ + tweak = "keepbases", + list = { 0x302 } +}, { tweak = "radicaldegreeanchors", list = { @@ -166,9 +173,9 @@ return { ["0x0029.parts.top"] = { topright = -0.25 }, -- right parenthesis top ["0x0029.parts.bottom"] = { bottomright = -0.25 }, -- right parenthesis bottom ["0x0029.variants.*"] = { topright = -0.2, bottomright = -0.2 }, -- right parenthesis variants - ["0x221A.parts.top"] = { topright = 0.2 }, -- right radical top + ["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 + ["0x221A.variants.*"] = { topright = 0.2, bottomright = 0.2 }, -- right radical variants [0x27E9] = { topright = -0.2, bottomright = -0.2 }, -- angle ["0x27E9.variants.*"] = { topright = -0.3, bottomright = -0.3 }, [0x27EB] = { topright = -0.2, bottomright = -0.2 }, @@ -195,18 +202,19 @@ return { { tweak = "replacerules", minus = { - leftoffset = .2, - rightoffset = .2, + leftoffset = .12, + rightoffset = .12, }, fraction = { height = .2, yoffset = .825, }, radical = { - height = .2, - yoffset = .825, - leftoffset = .075, - yscale = .940, + height = .13, + yoffset = .825, + leftoffset = .124, + rightoffset = .124, + yscale = .940, }, stacker = { height = .2, diff --git a/tex/context/fonts/mkiv/modern-math.lfg b/tex/context/fonts/mkiv/modern-math.lfg index fa4216263..ef99513b9 100644 --- a/tex/context/fonts/mkiv/modern-math.lfg +++ b/tex/context/fonts/mkiv/modern-math.lfg @@ -160,15 +160,15 @@ return { }, -- 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 = 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 - [0x0030C] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widecheck - }, - }, +-- { +-- tweak = "dimensions", +-- list = { +-- [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 +-- [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. { @@ -333,7 +333,9 @@ return { tweak = "replacerules", -- minus = true, -- we have an extensible fraction = { height = .15, yoffset = .85 }, - radical = { height = .15, yoffset = .85 }, + radical = { height = .15, yoffset = .85, leftoffset = .065, rightoffset = .065, leftoverlap = 0.023, +rightoverlap = 0.023 +}, stacker = { height = .15, yoffset = .85 }, }, { diff --git a/tex/context/fonts/mkiv/newcomputermodern-math.lfg b/tex/context/fonts/mkiv/newcomputermodern-math.lfg index d147e787e..12c6e8b23 100644 --- a/tex/context/fonts/mkiv/newcomputermodern-math.lfg +++ b/tex/context/fonts/mkiv/newcomputermodern-math.lfg @@ -155,7 +155,7 @@ return { tweak = "replacerules", -- minus = true, -- we have an extensible fraction = { height = .15, yoffset = .85 }, - radical = { height = .15, yoffset = .85 }, + radical = { height = .15, yoffset = .823, leftoffset = .065, rightoffset = .065, leftoverlap = 0.03 }, stacker = { height = .15, yoffset = .85 }, }, { diff --git a/tex/context/fonts/mkiv/pagella-math.lfg b/tex/context/fonts/mkiv/pagella-math.lfg index 3aa3ef24b..05e6fad81 100644 --- a/tex/context/fonts/mkiv/pagella-math.lfg +++ b/tex/context/fonts/mkiv/pagella-math.lfg @@ -114,12 +114,6 @@ return { tweak = "extendaccents", }, { - tweak = "radicaldegreeanchors", - list = { - ["0x221A.parts.bottom"] = { location = "left", hfactor = 0.0, vfactor = 1.1 }, - } - }, - { tweak = "flattenaccents", }, { @@ -127,18 +121,18 @@ return { }, -- 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.9 }, -- 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 -- weird this one - [0x0030C] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widecheck - }, - }, +-- { +-- tweak = "dimensions", +-- list = { +-- [0x00300] = { width = 0.9 }, -- 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 -- weird this one +-- [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. { @@ -155,6 +149,12 @@ return { }, -- So far for the accents. { + tweak = "radicaldegreeanchors", + list = { + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0.0, vfactor = 1.1 }, + } + }, + { tweak = "fixslashes", }, { @@ -209,10 +209,17 @@ return { }, { tweak = "replacerules", - minus = { rightoffset = .045 }, - fraction = { height = .2, yoffset = .8, rightoffset = .04 }, - radical = { height = .2, yoffset = .8, rightoffset = .04 }, - stacker = { height = .2, yoffset = .8, rightoffset = .04 }, + fraction = { height = .215, yoffset = .785 }, + radical = { height = .215, yoffset = .785, leftoffset = .1, rightoffset = .1 }, + stacker = { height = .215, yoffset = .785 }, + }, + -- on the radical we adapt the offset and give some extra height (prevent clipping) + { + tweak = "replacerules", + feature = "euleroverpagella", + fraction = { height = .15, yoffset = .85 }, + radical = { height = .22, yoffset = .8, leftoffset = .05, rightoffset = .05, leftoverlap = .01 }, + stacker = { height = .15, yoffset = .85 }, }, { tweak = "addactuarian", diff --git a/tex/context/fonts/mkiv/schola-math.lfg b/tex/context/fonts/mkiv/schola-math.lfg index f0155cb57..42c2bbcc2 100644 --- a/tex/context/fonts/mkiv/schola-math.lfg +++ b/tex/context/fonts/mkiv/schola-math.lfg @@ -94,15 +94,15 @@ return { }, -- 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 = 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 - [0x0030C] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widecheck - }, - }, + -- { + -- tweak = "dimensions", + -- list = { + -- [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 + -- [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. Not in schola -- We now copy these to the not wide slots so that we can set these to stretch as well, @@ -124,10 +124,9 @@ return { }, { tweak = "replacerules", - -- minus = true, -- we have an extensible - fraction = { height = .25, yoffset = .75 }, - radical = { height = .25, yoffset = .75 }, - stacker = { height = .25, yoffset = .75 }, + fraction = { height = .25, yoffset = .7625 }, + radical = { height = .25, leftoffset = .1, rightoffset = .1, yoffset = .7625 }, + stacker = { height = .25, yoffset = .7625 }, }, { tweak = "addbars", diff --git a/tex/context/fonts/mkiv/stixtwo-math.lfg b/tex/context/fonts/mkiv/stixtwo-math.lfg index bbe4e3685..881de7523 100644 --- a/tex/context/fonts/mkiv/stixtwo-math.lfg +++ b/tex/context/fonts/mkiv/stixtwo-math.lfg @@ -157,15 +157,15 @@ return { }, -- 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 = 1.2, anchor = 1.10, xoffset = .05 }, -- widehat - [0x00303] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widetilde - [0x00306] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widebreve - [0x0030C] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widecheck - }, - }, + -- { + -- tweak = "dimensions", + -- list = { + -- [0x00302] = { width = 1.2, anchor = 1.10, xoffset = .05 }, -- widehat + -- [0x00303] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widetilde + -- [0x00306] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widebreve + -- [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. { @@ -208,8 +208,8 @@ return { minus = { height = .233, yoffset = .768, - -- leftoffset = .2, - -- rightoffset = .2, + leftoffset = .08, + rightoffset = .08, }, fraction = { height = .233, @@ -218,8 +218,8 @@ return { radical = { height = .233, yoffset = .768, - leftoffset = .05, - rightoffset = .05, + leftoffset = .08, + rightoffset = .08, }, stacker = { height = .233, diff --git a/tex/context/fonts/mkiv/termes-math.lfg b/tex/context/fonts/mkiv/termes-math.lfg index c74228179..7dfc73207 100644 --- a/tex/context/fonts/mkiv/termes-math.lfg +++ b/tex/context/fonts/mkiv/termes-math.lfg @@ -99,15 +99,15 @@ return { }, -- 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 = 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 - [0x0030C] = { width = 1.4, anchor = 1.20, xoffset = .10 }, -- widecheck - }, - }, + -- { + -- tweak = "dimensions", + -- list = { + -- [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 + -- [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. Not in termes. -- We now copy these to the not wide slots so that we can set these to stretch as well, @@ -130,11 +130,17 @@ return { }, { tweak = "replacerules", - -- minus = true, -- we have an extensible - fraction = { height = .2, yoffset = .8 }, - radical = { height = .2, yoffset = .8 }, - stacker = { height = .2, yoffset = .8 }, - }, + fraction = { height = .2, xleftoffset = .115, xrightoffset = .115, yoffset = .81 }, + radical = { height = .2, leftoffset = .115, rightoffset = .115, yoffset = .81 }, + stacker = { height = .2, xleftoffset = .115, xrightoffset = .115, yoffset = .81 }, + }, + -- { + -- tweak = "replacerules", + -- -- minus = true, -- we have an extensible + -- fraction = { height = .2, yoffset = .8 }, + -- radical = { height = .2, yoffset = .8 }, + -- stacker = { height = .2, yoffset = .8 }, + -- }, { tweak = "addbars", advance = 0.3, diff --git a/tex/context/fonts/mkiv/type-imp-antykwa.mkiv b/tex/context/fonts/mkiv/type-imp-antykwa.mkiv index f2fd100d0..413223df1 100644 --- a/tex/context/fonts/mkiv/type-imp-antykwa.mkiv +++ b/tex/context/fonts/mkiv/type-imp-antykwa.mkiv @@ -28,20 +28,27 @@ \startsetups[antykwa-torunska-cond] \directsetup{antykwa}\stopsetups \startsetups[antykwa-torunska-light-cond]\directsetup{antykwa}\stopsetups - \definefontfeature[virtualmath-antykwa] [virtualmath][virtualweight=antykwa] - \definefontfeature[virtualmath-antykwa-cond] [virtualmath][virtualweight=antykwa-cond] - \definefontfeature[virtualmath-antykwa-light] [virtualmath][virtualweight=antykwa-light] - \definefontfeature[virtualmath-antykwa-light-cond][virtualmath][virtualweight=antykwa-light-cond] - - \starttypescript [antykwa,antykwa-torunska,antykwa-light,antykwa-torunska-light,antykwa-cond,antykwa-torunska-cond,antykwa-light-cond,antykwa-torunska-light-cond] - \definetypeface[\typescriptone][\s!rm][\s!serif][\typescriptone] [\s!default] - \definetypeface[\typescriptone][\s!ss][\s!sans] [modern] [\s!default] [\s!rscale=1.05] - \definetypeface[\typescriptone][\s!tt][\s!mono] [modern] [\s!default] [\s!rscale=1.05] - \definetypeface[\typescriptone][\s!mm][\s!math] [\typescriptone] [\s!default] + % these fetaures make the loaded base font unique: + + \definefontfeature[virtualmath-antykwa] [virtualmath][virtualweight=antykwa] + \definefontfeature[virtualmath-antykwa-cond] [virtualmath][virtualweight=antykwa-cond] + \definefontfeature[virtualmath-antykwa-light] [virtualmath][virtualweight=antykwa-light] + \definefontfeature[virtualmath-antykwa-light-cond] [virtualmath][virtualweight=antykwa-light-cond] + + \definefontfeature[virtualmath-antykwa-nt] [virtualmath][virtualweight=antykwa-nt] + \definefontfeature[virtualmath-antykwa-cond-nt] [virtualmath][virtualweight=antykwa-cond-nt] + \definefontfeature[virtualmath-antykwa-light-nt] [virtualmath][virtualweight=antykwa-light-nt] + \definefontfeature[virtualmath-antykwa-light-cond-nt][virtualmath][virtualweight=antykwa-light-cond-nt] + + \starttypescript [antykwa,antykwa-nt,antykwa-torunska,antykwa-light,antykwa-light-nt,antykwa-torunska-light,antykwa-cond,antykwa-cond-nt,antykwa-torunska-cond,antykwa-light-cond,antykwa-light-cond-nt,antykwa-torunska-light-cond] + \definetypeface[\typescriptone][\s!rm][\s!serif][\typescriptone][\s!default] + \definetypeface[\typescriptone][\s!ss][\s!sans] [modern] [\s!default][\s!rscale=1.05] + \definetypeface[\typescriptone][\s!tt][\s!mono] [modern] [\s!default][\s!rscale=1.05] + \definetypeface[\typescriptone][\s!mm][\s!math] [\typescriptone][\s!default] \quittypescriptscanning \stoptypescript - \starttypescript [\s!serif] [antykwa,antykwa-torunska,antykwa-light,antykwa-torunska-light,antykwa-cond,antykwa-torunska-cond,antykwa-light-cond,antykwa-torunska-light-cond] + \starttypescript [\s!serif] [antykwa,antykwa-nt,antykwa-torunska,antykwa-light,antykwa-light-nt,antykwa-torunska-light,antykwa-cond,antykwa-cond-nt,antykwa-torunska-cond,antykwa-light-cond,antykwa-light-cond-nt,antykwa-torunska-light-cond] \definefontsynonym [AntykwaTorunska-Regular] [\s!file:AntykwaTorunska-Regular] [\s!features=\s!default] \definefontsynonym [AntykwaTorunska-Italic] [\s!file:AntykwaTorunska-Italic] [\s!features=\s!default] \definefontsynonym [AntykwaTorunska-Bold] [\s!file:AntykwaTorunska-Bold] [\s!features=\s!default] @@ -64,23 +71,37 @@ \loadfontgoodies[antykwa-math] \definefontsynonym[\s!MathRoman][antykwamath@antykwa-math] \stoptypescript - \starttypescript [\s!math][antykwa-light,antykwa-torunska-light][\s!all] \loadfontgoodies[antykwa-math] \definefontsynonym[\s!MathRoman][antykwalightmath@antykwa-light-math] \stoptypescript - \starttypescript [\s!math][antykwa-cond,antykwa-torunska-cond][\s!all] \loadfontgoodies[antykwa-math] \definefontsynonym[\s!MathRoman][antykwacondmath@antykwa-cond-math] \stoptypescript - \starttypescript [\s!math][antykwa-light-cond,antykwa-torunska-light-cond][\s!all] \loadfontgoodies[antykwa-math] \definefontsynonym[\s!MathRoman][antykwalightcondmath@antykwa-light-cond-math] \stoptypescript - \starttypescript [\s!serif] [antykwa,antykwa-torunska] [\s!name] + \starttypescript [\s!math][antykwa-nt][\s!all] + \loadfontgoodies[antykwa-math] + \definefontsynonym[\s!MathRoman][antykwamathnt@antykwa-math-nt] + \stoptypescript + \starttypescript [\s!math][antykwa-light-nt][\s!all] + \loadfontgoodies[antykwa-math] + \definefontsynonym[\s!MathRoman][antykwalightmathnt@antykwa-light-math-nt] + \stoptypescript + \starttypescript [\s!math][antykwa-cond-nt][\s!all] + \loadfontgoodies[antykwa-math] + \definefontsynonym[\s!MathRoman][antykwacondmathnt@antykwa-cond-math-nt] + \stoptypescript + \starttypescript [\s!math][antykwa-light-cond-nt][\s!all] + \loadfontgoodies[antykwa-math] + \definefontsynonym[\s!MathRoman][antykwacondmathnt@antykwa-light-cond-math-nt] + \stoptypescript + + \starttypescript [\s!serif] [antykwa,antykwa-nt,antykwa-torunska] [\s!name] \setups[\s!font:\s!fallback:\s!serif] \definefontsynonym [\s!Serif] [AntykwaTorunska-Regular] \definefontsynonym [\s!SerifBold] [AntykwaTorunska-Bold] @@ -88,7 +109,7 @@ \definefontsynonym [\s!SerifBoldItalic] [AntykwaTorunska-BoldItalic] \stoptypescript - \starttypescript [\s!serif] [antykwa-light,antykwa-torunska-light] [\s!name] + \starttypescript [\s!serif] [antykwa-light,antykwa-light-nt,antykwa-torunska-light] [\s!name] \setups[\s!font:\s!fallback:\s!serif] \definefontsynonym [\s!Serif] [AntykwaTorunska-Light] \definefontsynonym [\s!SerifBold] [AntykwaTorunska-Medium] @@ -96,7 +117,7 @@ \definefontsynonym [\s!SerifBoldItalic] [AntykwaTorunska-MediumItalic] \stoptypescript - \starttypescript [\s!serif] [antykwa-cond,antykwa-torunska-cond] [\s!name] + \starttypescript [\s!serif] [antykwa-cond,antykwa-cond-nt,antykwa-torunska-cond] [\s!name] \setups[\s!font:\s!fallback:\s!serif] \definefontsynonym [\s!Serif] [AntykwaTorunska-CondRegular] \definefontsynonym [\s!SerifBold] [AntykwaTorunska-CondBold] @@ -104,7 +125,7 @@ \definefontsynonym [\s!SerifBoldItalic] [AntykwaTorunska-CondBoldItalic] \stoptypescript - \starttypescript [\s!serif] [antykwa-light-cond,antykwa-torunska-light-cond] [\s!name] + \starttypescript [\s!serif] [antykwa-light-cond,antykwa-light-cond-nt,antykwa-torunska-light-cond] [\s!name] \setups[\s!font:\s!fallback:\s!serif] \definefontsynonym [\s!Serif] [AntykwaTorunska-CondLight] \definefontsynonym [\s!SerifBold] [AntykwaTorunska-CondMedium] diff --git a/tex/context/fonts/mkiv/type-imp-iwona.mkiv b/tex/context/fonts/mkiv/type-imp-iwona.mkiv index 01d859071..e68262265 100644 --- a/tex/context/fonts/mkiv/type-imp-iwona.mkiv +++ b/tex/context/fonts/mkiv/type-imp-iwona.mkiv @@ -25,12 +25,17 @@ \startsetups[iwona-medium-cond]\directsetup{antykwa}\stopsetups \startsetups[iwona-heavy-cond] \directsetup{antykwa}\stopsetups - \definefontfeature[virtualmath-iwona] [virtualmath][virtualweight=iwona] - \definefontfeature[virtualmath-iwona-light] [virtualmath][virtualweight=iwona-light] - \definefontfeature[virtualmath-iwona-medium][virtualmath][virtualweight=iwona-medium] - \definefontfeature[virtualmath-iwona-heavy] [virtualmath][virtualweight=iwona-heavy] + \definefontfeature[virtualmath-iwona] [virtualmath][virtualweight=iwona] + \definefontfeature[virtualmath-iwona-light] [virtualmath][virtualweight=iwona-light] + \definefontfeature[virtualmath-iwona-medium] [virtualmath][virtualweight=iwona-medium] + \definefontfeature[virtualmath-iwona-heavy] [virtualmath][virtualweight=iwona-heavy] - \starttypescript [\s!sans] [iwona,iwona-light,iwona-medium,iwona-heavy,iwona-cond,iwona-light-cond,iwona-medium-cond,iwona-heavy-cond] + \definefontfeature[virtualmath-iwona-nt] [virtualmath][virtualweight=iwona-nt] + \definefontfeature[virtualmath-iwona-light-nt] [virtualmath][virtualweight=iwona-light-nt] + \definefontfeature[virtualmath-iwona-medium-nt][virtualmath][virtualweight=iwona-medium-nt] + \definefontfeature[virtualmath-iwona-heavy-nt] [virtualmath][virtualweight=iwona-heavy-nt] + + \starttypescript [\s!sans] [iwona,iwona-light,iwona-medium,iwona-heavy,iwona-cond,iwona-light-cond,iwona-medium-cond,iwona-heavy-cond,iwona,iwona-light-nt,iwona-medium-nt,iwona-heavy-nt,iwona-cond-nt,iwona-light-cond-nt,iwona-medium-cond-nt,iwona-heavy-cond-nt] \definefontsynonym [Iwona-Regular] [\s!file:Iwona-Regular] [\s!features=\s!default] \definefontsynonym [Iwona-Italic] [\s!file:Iwona-Italic] [\s!features=\s!default] @@ -74,11 +79,27 @@ \definefontsynonym[\s!MathRoman][iwonaheavymath@iwona-heavy-math] \stoptypescript - \starttypescript [\s!math] [iwona,iwona-light,iwona-medium,iwona-heavy] [\s!all] + \starttypescript [\s!math][iwona-nt][\s!all] + \definefontsynonym[\s!MathRoman] [iwonamathnt@iwona-math-nt] + \definefontsynonym[\s!MathRomanBold][iwonamediummathnt@iwona-medium-math-nt] + \stoptypescript + \starttypescript [\s!math][iwona-light-nt][\s!all] + \definefontsynonym[\s!MathRoman] [iwonalightmathnt@iwona-light-math-nt] + \definefontsynonym[\s!MathRomanBold][iwonamathnt@kurier-medium-math-nt] + \stoptypescript + \starttypescript [\s!math][iwona-medium-nt][\s!all] + \definefontsynonym[\s!MathRoman] [iwonamediummathnt@iwona-medium-math-nt] + \definefontsynonym[\s!MathRomanBold][kurierheavymathnt@kurier-heavy-math-nt] + \stoptypescript + \starttypescript [\s!math][iwona-heavy-nt][\s!all] + \definefontsynonym[\s!MathRoman][iwonaheavymathnt@iwona-heavy-math-nt] + \stoptypescript + + \starttypescript [\s!math] [iwona,iwona-light,iwona-medium,iwona-heavy-nt,iwona-nt,iwona-light-nt,iwona-medium-nt,iwona-heavy-nt] [\s!all] \loadfontgoodies[iwona-math] \stoptypescript - \starttypescript [\s!sans] [iwona-light] [\s!name] + \starttypescript [\s!sans] [iwona-light,iwona-light-nt] [\s!name] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Iwona-Light-Regular] \definefontsynonym [\s!SansItalic] [Iwona-Light-Italic] @@ -86,7 +107,7 @@ \definefontsynonym [\s!SansBoldItalic] [Iwona-Medium-Italic] \stoptypescript - \starttypescript [\s!sans] [iwona] [\s!name] + \starttypescript [\s!sans] [iwona,iwona-nt] [\s!name] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Iwona-Regular] \definefontsynonym [\s!SansItalic] [Iwona-Italic] @@ -94,7 +115,7 @@ \definefontsynonym [\s!SansBoldItalic] [Iwona-BoldItalic] \stoptypescript - \starttypescript [\s!sans] [iwona-medium] [\s!name] + \starttypescript [\s!sans] [iwona-medium,iwona-medium-nt] [\s!name] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Iwona-Medium-Regular] \definefontsynonym [\s!SansItalic] [Iwona-Medium-Italic] @@ -102,7 +123,7 @@ \definefontsynonym [\s!SansBoldItalic] [Iwona-Heavy-Italic] \stoptypescript - \starttypescript [\s!sans] [iwona-heavy] [\s!name] + \starttypescript [\s!sans] [iwona-heavy,iwona-heavy-nt] [\s!name] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Iwona-Heavy-Regular] \definefontsynonym [\s!SansItalic] [Iwona-Heavy-Italic] @@ -110,7 +131,7 @@ \definefontsynonym [\s!SansBoldItalic] [Iwona-Heavy-Italic] \stoptypescript - \starttypescript [\s!sans] [iwona-light-cond] [\s!name] + \starttypescript [\s!sans] [iwona-light-cond,iwona-light-cond-nt] [\s!name] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Iwona-CondLight-Regular] \definefontsynonym [\s!SansItalic] [Iwona-CondLight-Italic] @@ -119,7 +140,7 @@ \stoptypescript - \starttypescript [\s!sans] [iwona-cond] [\s!name] + \starttypescript [\s!sans] [iwona-cond,iwona-cond-nt] [\s!name] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Iwona-CondRegular] \definefontsynonym [\s!SansItalic] [Iwona-CondItalic] @@ -127,7 +148,7 @@ \definefontsynonym [\s!SansBoldItalic] [Iwona-CondBoldItalic] \stoptypescript - \starttypescript [\s!sans] [iwona-medium-cond] [\s!name] + \starttypescript [\s!sans] [iwona-medium-cond,iwona-medium-cond-nt] [\s!name] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Iwona-CondMedium-Regular] \definefontsynonym [\s!SansItalic] [Iwona-CondMedium-Italic] @@ -135,7 +156,7 @@ \definefontsynonym [\s!SansBoldItalic] [Iwona-CondHeavy-Italic] \stoptypescript - \starttypescript [iwona,iwona-light,iwona-heavy,iwona-medium] + \starttypescript [iwona,iwona-light,iwona-heavy,iwona-medium,iwona-nt,iwona-light-nt,iwona-heavy-nt,iwona-medium-nt] \definetypeface[\typescriptone][\s!ss][\s!sans] [\typescriptone] [\s!default] \definetypeface[\typescriptone][\s!rm][\s!serif][modern] [\s!default] \definetypeface[\typescriptone][\s!tt][\s!mono] [modern] [\s!default] diff --git a/tex/context/fonts/mkiv/type-imp-kurier.mkiv b/tex/context/fonts/mkiv/type-imp-kurier.mkiv index 0ff7852fc..3f68cbfad 100644 --- a/tex/context/fonts/mkiv/type-imp-kurier.mkiv +++ b/tex/context/fonts/mkiv/type-imp-kurier.mkiv @@ -25,12 +25,17 @@ \startsetups[kurier-medium-cond]\directsetup{antykwa}\stopsetups \startsetups[kurier-heavy-cond] \directsetup{antykwa}\stopsetups - \definefontfeature[virtualmath-kurier] [virtualmath][virtualweight=kurier] - \definefontfeature[virtualmath-kurier-light] [virtualmath][virtualweight=kurier-light] - \definefontfeature[virtualmath-kurier-medium][virtualmath][virtualweight=kurier-medium] - \definefontfeature[virtualmath-kurier-heavy] [virtualmath][virtualweight=kurier-heavy] + \definefontfeature[virtualmath-kurier] [virtualmath][virtualweight=kurier] + \definefontfeature[virtualmath-kurier-light] [virtualmath][virtualweight=kurier-light] + \definefontfeature[virtualmath-kurier-medium] [virtualmath][virtualweight=kurier-medium] + \definefontfeature[virtualmath-kurier-heavy] [virtualmath][virtualweight=kurier-heavy] - \starttypescript [\s!sans] [kurier-light,kurier,kurier-medium,kurier-heavy] + \definefontfeature[virtualmath-kurier-nt] [virtualmath][virtualweight=kurier-nt] + \definefontfeature[virtualmath-kurier-light-nt] [virtualmath][virtualweight=kurier-light-nt] + \definefontfeature[virtualmath-kurier-medium-nt][virtualmath][virtualweight=kurier-medium-nt] + \definefontfeature[virtualmath-kurier-heavy-nt] [virtualmath][virtualweight=kurier-heavy-nt] + + \starttypescript [\s!sans] [kurier-light,kurier,kurier-medium,kurier-heavy,kurier-light-nt,kurier-nt,kurier-medium-nt,kurier-heavy-nt] \definefontsynonym [Kurier-Light] [\s!file:kurierlightregular] [\s!features=\s!default] \definefontsynonym [Kurier-LightItalic] [\s!file:kurierlightitalic] [\s!features=\s!default] \definefontsynonym [Kurier-Regular] [\s!file:kurierregular] [\s!features=\s!default] @@ -43,7 +48,7 @@ \definefontsynonym [Kurier-HeavyItalic] [\s!file:kurierheavyitalic] [\s!features=\s!default] \stoptypescript - \starttypescript [\s!sans] [kurier-lightcond,kurier-cond,kurier-mediumcond] + \starttypescript [\s!sans] [kurier-lightcond,kurier-cond,kurier-mediumcond,kurier-lightcond-nt,kurier-cond-nt,kurier-mediumcond-nt] \definefontsynonym [Kurier-CondLight] [\s!file:kuriercondlightregular] [\s!features=\s!default] \definefontsynonym [Kurier-CondLightItalic] [\s!file:kuriercondlightitalic] [\s!features=\s!default] \definefontsynonym [Kurier-CondRegular] [\s!file:kuriercondregular] [\s!features=\s!default] @@ -61,7 +66,7 @@ \definefontsynonym[\s!MathRomanBold][kuriermediummath@kurier-medium-math] \stoptypescript \starttypescript [\s!math][kurier-light][\s!all] - \definefontsynonym[\s!MathRoman][kurierlightmath@kurier-light-math] + \definefontsynonym[\s!MathRoman] [kurierlightmath@kurier-light-math] \definefontsynonym[\s!MathRomanBold][kuriermath@kurier-math] \stoptypescript \starttypescript [\s!math][kurier-medium][\s!all] @@ -72,11 +77,27 @@ \definefontsynonym[\s!MathRoman][kurierheavymath@kurier-heavy-math] \stoptypescript - \starttypescript [\s!math] [kurier,kurier-light,kurier-medium,kurier-heavy] [\s!all] + \starttypescript [\s!math][kurier-nt][\s!all] + \definefontsynonym[\s!MathRoman] [kuriermathnt@kurier-math-nt] + \definefontsynonym[\s!MathRomanBold][kuriermediummathnt@kurier-medium-math-nt] + \stoptypescript + \starttypescript [\s!math][kurier-light-nt][\s!all] + \definefontsynonym[\s!MathRoman] [kurierlightmathnt@kurier-light-math-nt] + \definefontsynonym[\s!MathRomanBold][kuriermathnt@kurier-math-nt] + \stoptypescript + \starttypescript [\s!math][kurier-medium-nt][\s!all] + \definefontsynonym[\s!MathRoman] [kuriermediummathnt@kurier-medium-math-nt] + \definefontsynonym[\s!MathRomanBold][kurierheavymathnt@kurier-heavy-math-nt] + \stoptypescript + \starttypescript [\s!math][kurier-heavy-nt][\s!all] + \definefontsynonym[\s!MathRoman][kurierheavymathnt@kurier-heavy-math-nt] + \stoptypescript + + \starttypescript [\s!math] [kurier,kurier-light,kurier-medium,kurier-heavy,kurier-nt,kurier-light-nt,kurier-medium-nt,kurier-heavy-nt] [\s!all] \loadfontgoodies[kurier-math] \stoptypescript - \starttypescript [\s!sans] [kurier-light] + \starttypescript [\s!sans] [kurier-light,kurier-light-nt] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Kurier-Light] \definefontsynonym [\s!SansItalic] [Kurier-LightItalic] @@ -84,7 +105,7 @@ \definefontsynonym [\s!SansBoldItalic] [Kurier-MediumItalic] \stoptypescript - \starttypescript [\s!sans] [kurier] + \starttypescript [\s!sans] [kurier,kurier-nt] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Kurier-Regular] \definefontsynonym [\s!SansItalic] [Kurier-Italic] @@ -92,7 +113,7 @@ \definefontsynonym [\s!SansBoldItalic] [Kurier-BoldItalic] \stoptypescript - \starttypescript [\s!sans] [kurier-medium] + \starttypescript [\s!sans] [kurier-medium,kurier-medium-nt] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Kurier-Medium] \definefontsynonym [\s!SansItalic] [Kurier-MediumItalic] @@ -100,7 +121,7 @@ \definefontsynonym [\s!SansBoldItalic] [Kurier-HeavyItalic] \stoptypescript - \starttypescript [\s!sans] [kurier-heavy] [\s!name] + \starttypescript [\s!sans] [kurier-heavy,kurier-heavy-nt] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Kurier-Heavy] \definefontsynonym [\s!SansItalic] [Kurier-HeavyItalic] @@ -108,7 +129,7 @@ \definefontsynonym [\s!SansBoldItalic] [Kurier-Heavy] \stoptypescript - \starttypescript [\s!sans] [kurier-lightcond] + \starttypescript [\s!sans] [kurier-lightcond,kurier-lightcond-nt] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Kurier-CondLight] \definefontsynonym [\s!SansItalic] [Kurier-CondLightItalic] @@ -116,7 +137,7 @@ \definefontsynonym [\s!SansBoldItalic] [Kurier-CondMediumItalic] \stoptypescript - \starttypescript [\s!sans] [kurier-cond] + \starttypescript [\s!sans] [kurier-cond,kurier-cond-nt] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Kurier-CondRegular] \definefontsynonym [\s!SansItalic] [Kurier-CondItalic] @@ -124,7 +145,7 @@ \definefontsynonym [\s!SansBoldItalic] [Kurier-CondBoldItalic] \stoptypescript - \starttypescript [\s!sans] [kurier-mediumcond] + \starttypescript [\s!sans] [kurier-mediumcond,kurier-mediumcond-nt] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [\s!Sans] [Kurier-CondMedium] \definefontsynonym [\s!SansItalic] [Kurier-CondMediumItalic] @@ -132,7 +153,7 @@ \definefontsynonym [\s!SansBoldItalic] [Kurier-CondHeavyItalic] \stoptypescript - \starttypescript [kurier-light,kurier,kurier-medium,kurier-heavy,kurier-lightcond,kurier-cond,kurier-mediumcond] + \starttypescript [kurier-light,kurier,kurier-medium,kurier-heavy,kurier-lightcond,kurier-cond,kurier-mediumcond,kurier-light,kurier-nt,kurier-medium-nt,kurier-heavy-nt,kurier-lightcond-nt,kurier-cond-nt,kurier-mediumcond-nt] \definetypeface [\typescriptone] [\s!ss] [\s!sans] [\typescriptone] [\s!default] \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern] [\s!default] \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern] [\s!default] diff --git a/tex/context/fonts/mkiv/type-imp-lucida.mkiv b/tex/context/fonts/mkiv/type-imp-lucida.mkiv index 44230b55d..e02e2fbae 100644 --- a/tex/context/fonts/mkiv/type-imp-lucida.mkiv +++ b/tex/context/fonts/mkiv/type-imp-lucida.mkiv @@ -35,9 +35,9 @@ \stoptypescript \starttypescript [\s!serif] [lucida,lucidaot,lucidadk,lucidaot-nt,lucida-nt] - \definefontsynonym [\s!Serif] [\s!file:LucidaBrightOT.otf][\s!goodies=lucida-text] - \definefontsynonym [\s!SerifBold] [\s!file:LucidaBrightOT-Demi.otf][\s!goodies=lucida-text] - \definefontsynonym [\s!SerifItalic] [\s!file:LucidaBrightOT-Italic.otf][\s!goodies=lucida-text] + \definefontsynonym [\s!Serif] [\s!file:LucidaBrightOT.otf] [\s!goodies=lucida-text] + \definefontsynonym [\s!SerifBold] [\s!file:LucidaBrightOT-Demi.otf] [\s!goodies=lucida-text] + \definefontsynonym [\s!SerifItalic] [\s!file:LucidaBrightOT-Italic.otf] [\s!goodies=lucida-text] \definefontsynonym [\s!SerifBoldItalic] [\s!file:LucidaBrightOT-DemiItalic.otf][\s!goodies=lucida-text] \definefontsynonym [\s!SerifSlanted] [\s!SerifItalic] \definefontsynonym [\s!SerifBoldSlanted] [\s!SerifBoldItalic] @@ -83,8 +83,8 @@ \starttypescript [\s!math] [lucidaot-nt,lucida-nt] \definefontsynonym [\s!MathRoman] [\s!file:LucidaBrightMathOT.otf] [\s!features={\s!math\mathsizesuffix,mathlucida,lucida:mathextra,mathextra}] -% \definefontsynonym [\s!MathRomanBold] [\s!file:LucidaBrightMathOT-Demi.otf] [\s!features={\s!math\mathsizesuffix,mathlucida,mathextra}] - \definefontsynonym [\s!MathRomanBold] [\s!file:LucidaBrightMathOT.otf] [\s!features={\s!math\mathsizesuffix,lucida-math-bold,mathlucida,lucida:mathextra,mathextra}] + % \definefontsynonym [\s!MathRomanBold] [\s!file:LucidaBrightMathOT-Demi.otf] [\s!features={\s!math\mathsizesuffix,mathlucida,mathextra}] + \definefontsynonym [\s!MathRomanBold] [\s!file:LucidaBrightMathOT.otf] [\s!features={\s!math\mathsizesuffix,lucida-math-bold,mathlucida,lucida:mathextra,mathextra}] \stoptypescript \starttypescript [\s!handwriting] [lucida,lucidaot,lucidadk,lucidaot-nt,lucida-nt] diff --git a/tex/context/fonts/mkiv/xcharter-math.lfg b/tex/context/fonts/mkiv/xcharter-math.lfg index 48b1cad5d..cc4e992d4 100644 --- a/tex/context/fonts/mkiv/xcharter-math.lfg +++ b/tex/context/fonts/mkiv/xcharter-math.lfg @@ -96,9 +96,12 @@ return { yoffset = .812, }, radical = { - height = .188, - yoffset = .812, - leftoffset = 0.2,-- no effect? + height = .188, + yoffset = .812, + leftoffset = 0.95, + rightoffset = 0.95, + -- leftoverlap = 0.1, -- Daniel will fix(!) + -- yscale = 0.8, -- no scaling }, stacker = { height = .188, |