From fb63eac7402fbd3bb00d7591cc4fbac1b2db2582 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Wed, 7 Dec 2022 21:44:10 +0100 Subject: 2022-12-07 20:24:00 --- tex/context/base/mkii/cont-new.mkii | 2 +- tex/context/base/mkii/context.mkii | 2 +- tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/context.mkiv | 2 +- tex/context/base/mkiv/l-string.lua | 24 +- tex/context/base/mkiv/status-files.pdf | Bin 24597 -> 24609 bytes tex/context/base/mkiv/status-lua.pdf | Bin 264620 -> 264666 bytes tex/context/base/mkxl/anch-box.mkxl | 117 +++++-- tex/context/base/mkxl/cont-new.mkxl | 2 +- tex/context/base/mkxl/context.mkxl | 2 +- tex/context/base/mkxl/driv-shp.lmt | 14 +- tex/context/base/mkxl/font-imp-braille.lmt | 1 + tex/context/base/mkxl/math-act.lmt | 2 +- tex/context/base/mkxl/pack-box.mkxl | 32 +- tex/context/base/mkxl/type-imp-braille.mkxl | 10 +- tex/context/fonts/mkiv/bonum-math.lfg | 337 ++------------------- tex/context/fonts/mkiv/cambria-math.lfg | 126 ++------ tex/context/fonts/mkiv/common-math.lfg | 22 +- tex/context/fonts/mkiv/concrete-math.lfg | 53 +--- tex/context/fonts/mkiv/dejavu-math.lfg | 99 ++---- tex/context/fonts/mkiv/ebgaramond-math.lfg | 170 ++--------- tex/context/fonts/mkiv/erewhon-math.lfg | 80 ++--- tex/context/fonts/mkiv/kpfonts-math.lfg | 51 +--- tex/context/fonts/mkiv/libertinus-math.lfg | 139 ++------- tex/context/fonts/mkiv/lucida-math.lfg | 117 ++----- tex/context/fonts/mkiv/minion-math.lfg | 75 ++--- tex/context/fonts/mkiv/modern-math.lfg | 233 ++------------ tex/context/fonts/mkiv/newcomputermodern-math.lfg | 14 +- tex/context/fonts/mkiv/pagella-math.lfg | 114 +------ tex/context/fonts/mkiv/schola-math.lfg | 81 +---- tex/context/fonts/mkiv/stixtwo-math.lfg | 76 ++--- tex/context/fonts/mkiv/termes-math.lfg | 113 ++----- tex/context/fonts/mkiv/xcharter-math.lfg | 61 +--- tex/context/modules/mkxl/s-braille-basic.mkxl | 2 +- tex/generic/context/luatex/luatex-fonts-merged.lua | 18 +- 35 files changed, 522 insertions(+), 1671 deletions(-) (limited to 'tex') diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index e793ca865..1dec26734 100644 --- a/tex/context/base/mkii/cont-new.mkii +++ b/tex/context/base/mkii/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2022.12.05 18:49} +\newcontextversion{2022.12.07 20:21} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii index 870b3d0c9..176f510ba 100644 --- a/tex/context/base/mkii/context.mkii +++ b/tex/context/base/mkii/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2022.12.05 18:49} +\edef\contextversion{2022.12.07 20:21} %D For those who want to use this: diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index 642c58bd3..96db775a1 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2022.12.05 18:49} +\newcontextversion{2022.12.07 20:21} %D This file is loaded at runtime, thereby providing an excellent place for hacks, %D patches, extensions and new features. There can be local overloads in cont-loc diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 60320035e..f78fb6cbd 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -49,7 +49,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2022.12.05 18:49} +\edef\contextversion{2022.12.07 20:21} %D Kind of special: diff --git a/tex/context/base/mkiv/l-string.lua b/tex/context/base/mkiv/l-string.lua index 1dee85e28..476820a17 100644 --- a/tex/context/base/mkiv/l-string.lua +++ b/tex/context/base/mkiv/l-string.lua @@ -7,7 +7,7 @@ if not modules then modules = { } end modules ['l-string'] = { } local string = string -local sub, gmatch, format, char, byte, rep, lower = string.sub, string.gmatch, string.format, string.char, string.byte, string.rep, string.lower +local sub, gmatch, format, char, byte, rep, lower, find = string.sub, string.gmatch, string.format, string.char, string.byte, string.rep, string.lower, string.find local lpegmatch, patterns = lpeg.match, lpeg.patterns local P, S, C, Ct, Cc, Cs = lpeg.P, lpeg.S, lpeg.C, lpeg.Ct, lpeg.Cc, lpeg.Cs @@ -52,10 +52,26 @@ function string.quoted(str) return format("%q",str) -- always double quote end -function string.count(str,pattern) -- variant 3 +-- function string.count(str,pattern) -- variant 3 +-- local n = 0 +-- for _ in gmatch(str,pattern) do -- not for utf +-- n = n + 1 +-- end +-- return n +-- end + +function string.count(str,pattern) local n = 0 - for _ in gmatch(str,pattern) do -- not for utf - n = n + 1 + local i = 1 + local l = #pattern + while true do + i = find(str,pattern,i) + if i then + n = n + 1 + i = i + l + else + break + end end return n end diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf index 24196b4e9..e8ea30175 100644 Binary files a/tex/context/base/mkiv/status-files.pdf and b/tex/context/base/mkiv/status-files.pdf differ diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf index 6c406bfa1..8ff4f4584 100644 Binary files a/tex/context/base/mkiv/status-lua.pdf and b/tex/context/base/mkiv/status-lua.pdf differ diff --git a/tex/context/base/mkxl/anch-box.mkxl b/tex/context/base/mkxl/anch-box.mkxl index 88809152e..02cdf5fb8 100644 --- a/tex/context/base/mkxl/anch-box.mkxl +++ b/tex/context/base/mkxl/anch-box.mkxl @@ -19,28 +19,68 @@ anch_box_arrows_draw ; \stopMPpositiongraphic +% \tolerant\permanent\protected\def\connectboxanchors[#1]#*[#2]#*[#3]#*[#4]#*#:#5#6% +% {\begingroup +% \defineboxanchor[#5]% +% \setboxanchor[#5][#1][#3]\hpack{\xypos{\namespacedboxanchor{#5}}}% +% \ifparameter#3\or\setupboxanchorcontent[#1][#3]\fi +% \defineboxanchor[#6]% +% \setboxanchor[#6][#2][#4]\hpack{\xypos{\namespacedboxanchor{#6}}}% +% \ifparameter#4\or\setupboxanchorcontent[#1][#4]\fi +% %\startpositionoverlay{text-1}% will become configurable region +% \startpositionoverlay{text+1}% will become configurable region +% \setMPpositiongraphic +% {\namespacedboxanchor{#5}}% +% {\namedboxanchorcontentparameter{#1}\c!mp}% +% {from=\namespacedboxanchor{#5},% +% to=\namespacedboxanchor{#6},% +% distance={\namedboxanchorcontentparameter{#1}\c!distance},% +% dashtype={\namedboxanchorcontentparameter{#1}\c!dash},% +% alternative={\namedboxanchorcontentparameter{#1}\c!alternative},% +% text={\namedboxanchorcontentparameter{#1}\c!text},% +% rulethickness={\namedboxanchorcontentparameter{#1}\c!rulethickness},% +% linecolor=\namedboxanchorcontentparameter{#1}{\c!rulecolor}}% +% \stoppositionoverlay +% \endgroup} + \tolerant\permanent\protected\def\connectboxanchors[#1]#*[#2]#*[#3]#*[#4]#*#:#5#6% {\begingroup - \defineboxanchor[#5]% - \setboxanchor[#5][#1][#3]\hpack{\xypos{\namespacedboxanchor{#5}}}% + % + \edef\boxanchorone{\boxanchoringclass:#5}% + \edef\boxanchortwo{\boxanchoringclass:#6}% +% \edef\boxanchorone{#5}% +% \edef\boxanchortwo{#6}% + % + \doifnotanchorbox{\boxanchorone}{\defineboxanchor[\boxanchorone]}% + \doifnotanchorbox{\boxanchortwo}{\defineboxanchor[\boxanchortwo]}% + % + \edef\boxanchorposone{#1:#2:\namespacedboxanchor{\boxanchorone}}% + \edef\boxanchorpostwo{#1:#2:\namespacedboxanchor{\boxanchortwo}}% +% \edef\boxanchorposone{#1:#2:\number\namedboxanchor{\boxanchorone}}% +% \edef\boxanchorpostwo{#1:#2:\number\namedboxanchor{\boxanchortwo}}% + % + \setboxanchor[\boxanchorone][#1][#3]\hpack{\xypos{\boxanchorposone}}% + \setboxanchor[\boxanchortwo][#2][#4]\hpack{\xypos{\boxanchorpostwo}}% + % \ifparameter#3\or\setupboxanchorcontent[#1][#3]\fi - \defineboxanchor[#6]% - \setboxanchor[#6][#2][#4]\hpack{\xypos{\namespacedboxanchor{#6}}}% - \ifparameter#4\or\setupboxanchorcontent[#1][#4]\fi -% \startpositionoverlay{text-1}% will become configurable region - \startpositionoverlay{text+1}% will become configurable region - \setMPpositiongraphic - {\namespacedboxanchor{#5}}% - {\namedboxanchorcontentparameter{#1}\c!mp}% - {from=\namespacedboxanchor{#5},% - to=\namespacedboxanchor{#6},% - distance={\namedboxanchorcontentparameter{#1}\c!distance},% - dashtype={\namedboxanchorcontentparameter{#1}\c!dash},% - alternative={\namedboxanchorcontentparameter{#1}\c!alternative},% - text={\namedboxanchorcontentparameter{#1}\c!text},% - rulethickness={\namedboxanchorcontentparameter{#1}\c!rulethickness},% - linecolor=\namedboxanchorcontentparameter{#1}{\c!rulecolor}}% - \stoppositionoverlay + \ifparameter#4\or\setupboxanchorcontent[#2][#4]\fi % used ? + % + \normalexpanded{% + \startpositionoverlay{text+1}% will become configurable region + \setMPpositiongraphic + {\boxanchorposone}% + {\namedboxanchorcontentparameter{#1}\c!mp}% + {from=\boxanchorposone,% + to=\boxanchorpostwo,% + distance={\namedboxanchorcontentparameter{#1}\c!distance},% + dashtype={\namedboxanchorcontentparameter{#1}\c!dash},% + arrow={\namedboxanchorcontentparameter{#1}\c!arrow},% + alternative={\namedboxanchorcontentparameter{#1}\c!alternative},% + text={\namedboxanchorcontentparameter{#1}\c!text},% + rulethickness={\namedboxanchorcontentparameter{#1}\c!rulethickness},% + linecolor=\namedboxanchorcontentparameter{#1}{\c!rulecolor}}% + \stoppositionoverlay + }% \endgroup} % dedicated or not @@ -69,6 +109,7 @@ to=\namespacedboxanchor{#6},% distance={\namedboxanchorcontentparameter{#1}\c!distance},% dashtype={\namedboxanchorcontentparameter{#1}\c!dash},% + arrow={\namedboxanchorcontentparameter{#1}\c!arrow},% alternative={\namedboxanchorcontentparameter{#1}\c!alternative},% text={\namedboxanchorcontentparameter{#1}\c!text},% rulethickness={\namedboxanchorcontentparameter{#1}\c!rulethickness},% @@ -177,4 +218,42 @@ \c!xoffset=.25\exheight, \c!yoffset=.25\exheight] +% \setupboxanchorcontent [top] [rulecolor=darkyellow] +% \setupboxanchorcontent [left] [rulecolor=darkred] +% \setupboxanchorcontent [bottom][rulecolor=darkblue] +% \setupboxanchorcontent [right] [rulecolor=darkgreen] +% +% \startbuffer +% \connectboxanchors[top] [top] [text={\small\small\strut\bf var 1}]{a1}{a2} +% \connectboxanchors[top] [top] [text={\small\small\strut\bf var 2}]{b1}{b2} +% \connectboxanchors[top] [top] [text={\small\small\strut\bf var 3}]{a1}{b1} +% \connectboxanchors[bottom][bottom][text={\small\small\strut\bf var 4}]{b1}{b2} +% \connectboxanchors[bottom][bottom][text={\small\small\strut\bf var 6}]{a1}{a2} +% \connectboxanchors[bottom][bottom][rulecolor=darkgreen,distance=4ex,text={\small\small\strut\bf var 7}]{c1}{d1} +% +% % \start +% +% $\showboxes +% % \mathboxanchored{a1}{a}^{2^x} + +% % \mathboxanchored[nucleus]{a1}{a}^{2^x} + +% % \mathboxanchored{a1}{g}^2 + +% % \mathboxanchored{a1}{a} + +% a^{\mathboxanchored{a1}{2}} + +% % a^{\mathboxanchored{a1}{2}}_3 + +% \mathboxanchored{b1}{b} +% = +% \mathboxanchored{c1}{c}^2 + +% \mathboxanchored[nucleus]{d1}{d}^2 +% = +% b_{\mathboxanchored{b2}{3}} + +% \mathboxanchored{a2}{a} +% $ +% \stopbuffer +% +% \starttext +% \startTEXpage[offset=10mm]\startboxanchoring[a]\getbuffer\stopboxanchoring\stopTEXpage +% \startTEXpage[offset=11mm]\startboxanchoring[b]\getbuffer\stopboxanchoring\stopTEXpage +% \startTEXpage[offset=12mm]\startboxanchoring[+]\getbuffer\stopboxanchoring\stopTEXpage +% \stoptext + \protect diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl index 21de832b0..0b29287cf 100644 --- a/tex/context/base/mkxl/cont-new.mkxl +++ b/tex/context/base/mkxl/cont-new.mkxl @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2022.12.05 18:49} +\newcontextversion{2022.12.07 20:21} %D This file is loaded at runtime, thereby providing an excellent place for hacks, %D patches, extensions and new features. There can be local overloads in cont-loc diff --git a/tex/context/base/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl index 7942fb93a..9811ff9a4 100644 --- a/tex/context/base/mkxl/context.mkxl +++ b/tex/context/base/mkxl/context.mkxl @@ -29,7 +29,7 @@ %D {YYYY.MM.DD HH:MM} format. \immutable\edef\contextformat {\jobname} -\immutable\edef\contextversion{2022.12.05 18:49} +\immutable\edef\contextversion{2022.12.07 20:21} %overloadmode 1 % check frozen / warning %overloadmode 2 % check frozen / error diff --git a/tex/context/base/mkxl/driv-shp.lmt b/tex/context/base/mkxl/driv-shp.lmt index 0b9418ab8..7aba4ac01 100644 --- a/tex/context/base/mkxl/driv-shp.lmt +++ b/tex/context/base/mkxl/driv-shp.lmt @@ -1089,6 +1089,7 @@ local hlist_out, vlist_out do anchor_v = anchor_v + (height - width) end end +-- anchor_v = anchor_v + shift anchors[source] = { anchor_h, anchor_v, width, height, depth } end if usedorientation then @@ -1154,16 +1155,14 @@ local hlist_out, vlist_out do pos_v = pos_v - depth flushrule(current,pos_h + xoffset,pos_v + yoffset,pos_r,width,total,subtype) end + cur_h = cur_h + width end - -- move into above if - cur_h = cur_h + width elseif id == math_code then -- local kern = getkern(current) -- if kern ~= 0 then -- cur_h = cur_h + kern -- else --- cur_h = cur_h + effectiveglue(current,this_box) -cur_h = cur_h + effectiveglue(current,this_box,true) + cur_h = cur_h + effectiveglue(current,this_box,true) -- end elseif id == dir_code then -- We normally have proper begin-end pairs. A begin without end is (silently) handled @@ -1278,8 +1277,7 @@ cur_h = cur_h + effectiveglue(current,this_box,true) -- local id = getid(current) for current, id, subtype in nextnode, current do if id == glue_code then --- local glueheight = effectiveglue(current,this_box) -local glueheight = effectiveglue(current,this_box,true) + local glueheight = effectiveglue(current,this_box,true) if glueheight ~= 0 then if subtype >= leaders_code then local leader = getleader(current) @@ -1407,7 +1405,7 @@ local glueheight = effectiveglue(current,this_box,true) end pos_v = ref_v - (cur_v + basepoint_v) elseif hasoffset then --- local orientation, xoffset, yoffset = getorientation(current) + -- local orientation, xoffset, yoffset = getorientation(current) local xoffset, yoffset = getoffsets(current) -- local basepoint_h = shift -- local basepoint_v = height @@ -1535,8 +1533,8 @@ local glueheight = effectiveglue(current,this_box,true) end flushrule(current,pos_h + xoffset,pos_v - total - yoffset,pos_r,width,total,subtype) end + cur_v = cur_v + total end - cur_v = cur_v + total elseif id == whatsit_code then flushwhatsit[subtype](current,pos_h,pos_v) else diff --git a/tex/context/base/mkxl/font-imp-braille.lmt b/tex/context/base/mkxl/font-imp-braille.lmt index 2bbf0fd16..fb1ba6cb4 100644 --- a/tex/context/base/mkxl/font-imp-braille.lmt +++ b/tex/context/base/mkxl/font-imp-braille.lmt @@ -103,6 +103,7 @@ local function initialize(tfmdata,value) d.height = height d.depth = depth d.commands = c + d.smaller = nil else characters[u] = { width = n * width, diff --git a/tex/context/base/mkxl/math-act.lmt b/tex/context/base/mkxl/math-act.lmt index d4abed0ba..152707670 100644 --- a/tex/context/base/mkxl/math-act.lmt +++ b/tex/context/base/mkxl/math-act.lmt @@ -3451,7 +3451,7 @@ local function applytweaks(when,target,original) if action then local feature = tweak.feature local features = target.specification.features.normal - if not feature or features[feature] == true then + if feature == nil or features[feature] then local version = tweak.version if version and version ~= target.tweakversion then report_math("skipping tweak %a version %a",tweak.tweak,version) diff --git a/tex/context/base/mkxl/pack-box.mkxl b/tex/context/base/mkxl/pack-box.mkxl index ecd793056..7c64b0032 100644 --- a/tex/context/base/mkxl/pack-box.mkxl +++ b/tex/context/base/mkxl/pack-box.mkxl @@ -1236,6 +1236,24 @@ \newcount\registeredboxanchor +\installmacrostack\boxanchoringclass + +\mutable\let\boxanchoringclass\empty + +\newcount\c_anchor_auto_box_class + +\permanent\protected\def\startboxanchoring[#1]% + == auto + {\push_macro_boxanchoringclass + \iftok{#1}{+}% + \global\advance\c_anchor_auto_box_class\plusone + \edef\boxanchoringclass{\the\c_anchor_auto_box_class::}% + \else + \edef\boxanchoringclass{#1} + \fi} + +\permanent\protected\def\stopboxanchoring + {\pop_macro_boxanchoringclass} + \permanent\protected\def\registerboxanchor {\global\advance\registeredboxanchor\minusone} @@ -1243,6 +1261,13 @@ {\registerboxanchor \global\expandafter\integerdef\csname\??boxanchors#1\endcsname\registeredboxanchor} +\permanent\protected\def\doifnotanchorbox#1% + {\ifcsname\??boxanchors#1\endcsname + \expandafter\gobbleoneargument + \else + \expandafter\firstofoneargument + \fi} + \permanent\def\namedboxanchor#1% {\normalexpanded{\ifcsname\??boxanchors#1\endcsname\lastnamedcs\orelse\ifchknum#1\or#1\else\zerocount\fi}} @@ -1290,11 +1315,14 @@ %D The name might change: -\permanent\protected\def\mathboxanchored#1#2{#2\Umathsource\namedboxanchor{#1}\relax} - \permanent\protected\def\mathrowanchored #1{\alignmentwrapsource\namedboxanchor{#1}\relax} \permanent\protected\def\mathcellanchored#1{\alignmentcellsource\namedboxanchor{#1}\relax} +%permanent\protected\def\mathboxanchored#1#2{#2\Umathsource\namedboxanchor{#1}\relax} + +\permanent\tolerant\protected\def\mathboxanchored[#1]#:#2#3% + {#3\Umathsource\iftok{#1}{nucleus}#1\fi\namedboxanchor{\boxanchoringclass:#2}\relax} + % to be used as: % % \scratchcounter\registeredboxanchor diff --git a/tex/context/base/mkxl/type-imp-braille.mkxl b/tex/context/base/mkxl/type-imp-braille.mkxl index 738874ec8..17209d50c 100644 --- a/tex/context/base/mkxl/type-imp-braille.mkxl +++ b/tex/context/base/mkxl/type-imp-braille.mkxl @@ -11,6 +11,8 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. +\continuewhenlmtxmode + %D There is no need to waste money on a commercial braille font if we have dejavu. After %D all it's just dots. We also don't need features. @@ -35,7 +37,7 @@ \definefontfallback[BrailleMono] [\s!name:dejavuserif*brailletext][0x0000-0x1FFFF][force=yes] \definefontfallback[BrailleSerif][\s!name:dejavuserif*brailletext][0x0000-0x1FFFF][force=yes] \definefontfallback[BrailleSans] [\s!name:dejavuserif*brailletext][0x0000-0x1FFFF][force=yes] - \definefontfallback[BrailleMath] [\s!name:dejavuserif*braillemath][0x0000-0x1FFFF][force=yes] + %\definefontfallback[BrailleMath] [\s!name:dejavuserif*braillemath][0x0000-0x1FFFF][force=yes] \definefontfallback[BrailleMonoBold] [\s!name:dejavuserifbold*brailletext][0x0000-0x1FFFF][force=yes] \definefontfallback[BrailleSerifBold][\s!name:dejavuserifbold*brailletext][0x0000-0x1FFFF][force=yes] @@ -70,8 +72,10 @@ \starttypescript [\s!math][braille] [\s!name] \loadfontgoodies[dejavu-math] - \definefontsynonym[\s!MathRoman] [\s!file:texgyredejavu-math][\s!features={mathbraille,\s!math\mathsizesuffix},\s!fallbacks=BrailleMath] - \definefontsynonym[\s!MathRomanBold][\s!file:texgyredejavu-math][\s!features={mathbraille,\s!math\mathsizesuffix,dejavu-math-bold},\s!fallbacks=BrailleMath] + %\definefontsynonym[\s!MathRoman] [\s!file:texgyredejavu-math][\s!features={mathbraille,\s!math\mathsizesuffix},\s!fallbacks=BrailleMath] + %\definefontsynonym[\s!MathRomanBold][\s!file:texgyredejavu-math][\s!features={mathbraille,\s!math\mathsizesuffix,dejavu-math-bold},\s!fallbacks=BrailleMath] + \definefontsynonym[\s!MathRoman] [\s!file:texgyredejavu-math][\s!features={braillemath,\s!math\mathsizesuffix},\s!goodies=dejavu-math] + \definefontsynonym[\s!MathRomanBold][\s!file:texgyredejavu-math][\s!features={braillemath,\s!math\mathsizesuffix,dejavu-math-bold},\s!goodies=dejavu-math] \stoptypescript \starttypescript[braille] diff --git a/tex/context/fonts/mkiv/bonum-math.lfg b/tex/context/fonts/mkiv/bonum-math.lfg index a7f4ec306..32152e15d 100644 --- a/tex/context/fonts/mkiv/bonum-math.lfg +++ b/tex/context/fonts/mkiv/bonum-math.lfg @@ -13,28 +13,17 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 900, - AccentTopShiftUp = -15, - FlattenedAccentTopShiftUp = -15, - -- AccentExtendMargin = 50, - AccentBaseDepth = 50, - -- RadicalDegreeBottomRaisePercent = 60, --- RadicalRuleThickness = 66, -- 72 in font - DelimiterPercent = 90, - DelimiterShortfall = 400, - DisplayOperatorMinHeight = 1900, -- 1250 in font - -- ScriptPercentScaleDown = 65, -- 77 in font - -- ScriptScriptPercentScaleDown = 50, -- 60 in font - SubscriptShiftDown = 201, -- 231 in font - SuperscriptShiftUp = 364, -- 334 in font + AccentTopShiftUp = -15, + FlattenedAccentTopShiftUp = -15, + AccentBaseDepth = 50, + DelimiterPercent = 90, + DelimiterShortfall = 400, + DisplayOperatorMinHeight = 1900, -- 1250 in font + SubscriptShiftDown = 201, -- 231 in font + SuperscriptShiftUp = 364, -- 334 in font SubscriptShiftDownWithSuperscript = "1.4*SubscriptShiftDown", -- trial and error - -- PrimeRaisePercent = 0, -- set to 0 in math-act - -- PrimeRaiseComposedPercent = 0, -- set to 0 in math-act - PrimeShiftUp = "1.25*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.25*SuperscriptShiftUp", - - -- PrimeBaselineDropMax = 0, + PrimeShiftUp = "1.25*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.25*SuperscriptShiftUp", }, tweaks = { aftercopying = { @@ -44,16 +33,13 @@ return { }, { tweak = "fixprimes", - -- scale = 0.8, - -- smaller = true, - factor = 0.77,--1.1 + factor = 0.77, }, { tweak = "addmirrors", }, { tweak = "replacealphabets", - -- feature = "mathbeta", -- we always replace list = { { source = { first = 0x003B1 }, @@ -76,18 +62,6 @@ return { presets.moveitalics { correct = true }, presets.wipeanchors { }, presets.wipeitalics { }, - -- { - -- tweak = "topaccents", - -- list = { - -- [0x1D453] = 0.7, -- f - -- }, - -- }, - -- { - -- tweak = "limits", - -- list = { - -- [0x0222B] = 1.5, - -- }, - -- }, { -- We need to check these, are the tweaks necessary or not? tweak = "dimensions", @@ -102,11 +76,6 @@ return { ["lowercasescript"] = { factor = 1.2, - -- width = 1.2, - -- extend = 1.2, - -- height = 1.2, - -- depth = 1.2, - -- squeeze = 1.2, }, }, }, @@ -115,10 +84,6 @@ return { list = { [0x002F] = { topleft = -0.2, bottomright = -0.2 }, ["0x002F.variants.*"] = { topleft = -0.2, bottomright = -0.2 }, - -- No! - -- [0x0028] = { topleft = -0.1, bottomleft = -0.1 }, -- left parenthesis - -- [0x0029] = { topright = -0.1, bottomright = -0.1, all = true }, -- right parenthesis - -- [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 @@ -138,19 +103,10 @@ return { -- [0x1D465] = { bottomright = -0.05, }, -- italic x (ic is too large) [0x00393] = { bottomright = -0.30, }, -- upright Gamma - -- [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 @@ -159,29 +115,21 @@ 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 = "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.parts.bottom"] = { location = "left", hfactor = .1, vfactor = 1.15 }, + } + }, { tweak = "fixaccents", @@ -198,26 +146,7 @@ return { }, }, -- 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) - }, - }, + -- 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, -- if only because it is less confusing and more consistent. { @@ -254,7 +183,6 @@ return { [0x00394] = { left = .1, right = .1 }, -- upright Delta [0x003A3] = { left = .1, right = .1 }, -- upright Sigma - -- [0x0004A] = { left = .1, right = .1 }, -- J [0x00046] = { left = .1, right = .1 }, -- F [0x0004C] = { left = .1, right = .1 }, -- L [0x00050] = { left = .1, right = .1 }, -- P @@ -263,78 +191,11 @@ return { [0x0005A] = { left = .1, right = .1 }, -- Z [0x1D43D] = { left = -.1, right = -.1 }, -- italic J - -- [0x1D448] = { left = -.05, right = -.05 }, -- italic U - -- [0x1D449] = { left = -.05, right = -.05 }, -- italic V [0x1D44B] = { left = -.05, right = -.05 }, -- italic X - - -- [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 }, }, { tweak = "addprivates", - -- list = { - -- -- for specific parameters see act file - -- ["unary minus"] = { preset = "unary minus" }, - -- ["unary plus"] = { preset = "unary plus" }, - -- ["unary plus minus"] = { preset = "unary plus minus" }, - -- ["unary minus plus"] = { preset = "unary minus plus" }, - -- }, }, { tweak = "addscripts", @@ -396,21 +257,6 @@ return { [0x1D45F] = { -- r [0x1D460] = -.1, -- s }, - -- [mathematics.tweaks.subsets.acenorsuvxz] = { - -- [mathematics.tweaks.subsets.acenorsuvxz] = 2, - -- }, - -- [0x1D452] = { - -- [0x1D453] = -.05, - -- [0x1D465] = -.3, - -- }, - -- [0x1D453] = { - -- [0x1D453] = -.1, - -- [0x1D454] = -.1, - -- [0x1D465] = -.3, - -- }, - -- [0x1D465] = { - -- [0x1D465] = .1, - -- } } }, { @@ -436,11 +282,6 @@ return { feature = "emulatelmtx", comment = "this is for mkiv", }, - -- - -- { - -- tweak = "diagnose", - -- }, - }, }, alternates = { @@ -450,126 +291,4 @@ return { 1, 3, 5, 7 }, }, -} - --- For now we keep these commented as they show where we came from. - --- \alpha is looking like an italic a. The one from Dejavu could perhaps be an alternative? --- No hvariants in 772 - --- [0x00393] = { xoffset = -0.05, width = 0.875, italic = 0 }, -- \Gamma --- [0x00394] = { xoffset = -0.05, width = 0.875, italic = 0 }, -- \Delta --- [0x00398] = { xoffset = -0.05, width = 0.9, italic = 0 }, -- \Theta --- [0x0039B] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \Lambda --- [0x0039E] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \Xi --- [0x003A0] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \Pi --- [0x003A3] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \Sigma --- [0x003A5] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \Upsilon --- [0x003A6] = { xoffset = -0.05, width = 0.9, italic = 0 }, -- \Phi --- [0x003A8] = { xoffset = -0.05, width = 0.9, italic = 0 }, -- \Psi --- [0x003A9] = { xoffset = -0.05, width = 0.9, italic = 0 }, -- \Omega --- [0x02202] = { xoffset = -0.075, width = 0.825, italic = 0 }, -- \partial --- [0x1D43A] = { xoffset = -0.1, width = 1, italic = 0 }, -- G --- [0x1D442] = { xoffset = -0.1, width = 1, italic = 0 }, -- O --- [0x1D444] = { xoffset = -0.05, width = 1.025, italic = 0 }, -- Q --- [0x1D44E] = { xoffset = -0.05, width = 1.1, italic = 0, anchor = 0.8 }, -- a --- [0x1D44F] = { xoffset = -0.05, width = 1.1, italic = 0 }, -- b --- [0x1D450] = { xoffset = -0.05, width = 1.1, italic = 0, anchor = 0.9 }, -- c --- [0x1D451] = { xoffset = -0.05, width = 1.1, italic = 0, anchor = 0.75 }, -- d --- [0x1D452] = { xoffset = -0.05, width = 1.1, italic = 0, anchor = 0.9 }, -- e --- [0x1D453] = { xoffset = 0.45, width = 1.9, italic = 0.45, anchor = 1.1 }, -- f --- [0x1D454] = { xoffset = 0.05, width = 1.1, italic = 0, anchor = 0.9 }, -- g --- [0x0210E] = { xoffset = -0.1, width = 1.05, italic = 0, anchor = 1.15 }, -- h --- [0x1D456] = { xoffset = -0.2, width = 1.1, italic = 0 }, -- i --- [0x1D457] = { xoffset = 0.6, width = 1.7, italic = 0.45 }, -- j --- [0x1D458] = { xoffset = -0.05, width = 1.1, italic = 0, anchor = 1.15 }, -- k --- [0x1D459] = { xoffset = -0.15, width = 1.1, italic = 0, anchor = 0.8 }, -- l --- [0x1D45A] = { xoffset = -0.05, width = 1, italic = 0 }, -- m --- [0x1D45B] = { xoffset = -0.1, width = 1, italic = 0, anchor = 0.9 }, -- n --- [0x1D45C] = { xoffset = -0.05, width = 1.1, italic = 0, anchor = 0.9 }, -- o --- [0x1D45D] = { width = 1.05, italic = 0 }, -- p --- [0x1D45E] = { xoffset = -0.05, width = 1.05, italic = 0, anchor = 0.9 }, -- q --- [0x1D45F] = { xoffset = -0.1, width = 1.15, italic = 0, anchor = 0.9 }, -- r --- [0x1D460] = { xoffset = -0.05, width = 1.05, italic = 0 }, -- s --- [0x1D461] = { xoffset = -0.15, width = 1.2, italic = 0, anchor = 0.9 }, -- t --- [0x1D462] = { xoffset = -0.1, width = 1.05, italic = 0, anchor = 0.85 }, -- u --- [0x1D463] = { xoffset = -0.1, width = 1.05, italic = 0, anchor = 0.85 }, -- v --- [0x1D464] = { xoffset = -0.05, width = 1.05, italic = 0, anchor = 0.95 }, -- w --- [0x1D465] = { width = 1.175, italic = 0, anchor = 0.9 }, -- x --- [0x1D466] = { xoffset = -0.05, width = 1.05, italic = 0 }, -- y --- [0x1D467] = { xoffset = -0.05, width = 1.1, italic = 0, anchor = 0.9 }, -- z --- [0x1D6FC] = { xoffset = -0.075, width = 0.825, italic = 0 }, -- \alpha --- [0x1D6FD] = { width = 0.9, italic = 0, anchor = 1.05 }, -- \beta --- [0x1D6FE] = { xoffset = -0.075, width = 0.85, italic = 0.05, anchor = 1.05 }, -- \gamma --- [0x1D6FF] = { xoffset = -0.1, width = 0.85, italic = 0 }, -- \delta --- [0x1D716] = { xoffset = -0.1, width = 0.85, italic = 0 }, -- \epsilon --- [0x1D700] = { xoffset = -0.1, width = 0.85, italic = 0 }, -- \varepsilon --- [0x1D701] = { xoffset = -0.1, width = 0.85, italic = 0 }, -- \zeta --- [0x1D702] = { xoffset = -0.1, width = 0.85, italic = 0, anchor = 1.05 }, -- \eta --- [0x1D703] = { xoffset = -0.1, width = 0.85, italic = 0 }, -- \theta --- [0x1D717] = { xoffset = -0.075, width = 0.85, italic = 0, anchor = 1.03 }, -- \vartheta --- [0x1D704] = { xoffset = -0.1, width = 0.9, italic = 0, anchor = 1.05 }, -- \iota --- [0x1D705] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \kappa --- [0x1D706] = { xoffset = -0.075, width = 0.85, italic = 0, anchor = 1.05 }, -- \lambda --- [0x1D707] = { xoffset = -0.075, width = 0.85, italic = 0, anchor = 1.03 }, -- \mu --- [0x1D708] = { xoffset = -0.075, width = 0.85, italic = 0, anchor = 1.03 }, -- \nu --- [0x1D709] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \xi --- [0x1D70A] = { xoffset = -0.075, width = 0.85, italic = 0, anchor = 1.03 }, -- \omicron --- [0x1D70B] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \pi --- [0x1D71B] = { xoffset = -0.07, width = 0.85, italic = 0 }, -- \varpi --- [0x1D70C] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \rho --- [0x1D71A] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \varrho --- [0x1D70D] = { xoffset = -0.075, width = 0.85, italic = 0, anchor = 1.02 }, -- \varsigma --- [0x1D70E] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \sigma --- [0x1D70F] = { xoffset = -0.08, width = 0.85, italic = 0, anchor = 1.05 }, -- \tau --- [0x1D710] = { xoffset = -0.08, width = 0.85, italic = 0, anchor = 1.03 }, -- \upsilon --- [0x1D719] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \phi --- [0x1D711] = { xoffset = -0.075, width = 0.85, italic = 0, anchor = 1.02 }, -- \varphi --- [0x1D712] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \chi --- [0x1D713] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \psi --- [0x1D714] = { xoffset = -0.05, width = 0.875, italic = 0 }, -- \omega --- -- [0x1D718] = { xoffset = -0.075, width = 0.85, italic = 0, anchor = 1.03 }, -- \varkappa --- [0x1D719] = { xoffset = -0.075, width = 0.85, italic = 0 }, -- \phi --- [0x1D41B] = { width = 1, italic = 0, anchor = 1.5 }, -- bold lowercase upright b --- [0x1D41D] = { width = 1, italic = 0, anchor = 0.6 }, -- bold lowercase upright d --- [0x1D41F] = { width = 1.25, italic = 0, anchor = 0.8 }, -- bold lowercase upright f --- [0x1D420] = { width = 1, italic = 0, anchor = 0.6 }, -- bold lowercase upright g --- [0x1D421] = { width = 1, italic = 0, anchor = 1.5 }, -- bold lowercase upright h --- [0x1D424] = { width = 1, italic = 0, anchor = 1.5 }, -- bold lowercase upright k --- [0x1D425] = { width = 1, italic = 0, anchor = 0.75 }, -- bold lowercase upright l --- [0x1D42A] = { width = 1, italic = 0, anchor = 0.9 }, -- bold lowercase upright q --- [0x1D42B] = { width = 1, italic = 0, anchor = 0.9 }, -- bold lowercase upright r --- [0x1D42C] = { width = 1, italic = 0, anchor = 0.9 }, -- bold lowercase upright s --- -- [0x1D482] = { width = 1, italic = 0, anchor = 0.9 }, -- bold lowercase italic a --- -- [0x1D483] = { width = 1, italic = 0, anchor = 1.1 }, -- bold lowercase italic b --- -- [0x1D484] = { width = 1, italic = 0, anchor = 0.95 }, -- bold lowercase italic c --- -- [0x1D485] = { width = 1, italic = 0, anchor = 0.75 }, -- bold lowercase italic d --- -- [0x1D486] = { width = 1, italic = 0, anchor = 0.95 }, -- bold lowercase italic e --- -- [0x1D487] = { width = 1, italic = 0, anchor = 0.95 }, -- bold lowercase italic f --- -- [0x1D488] = { width = 1, italic = 0, anchor = 0.9 }, -- bold lowercase italic g --- -- [0x1D489] = { width = 1, italic = 0, anchor = 1.2 }, -- bold lowercase italic h --- -- [0x1D48A] = { width = 1, italic = 0, anchor = 0.6 }, -- bold lowercase italic i --- -- [0x1D48B] = { width = 1, italic = 0, anchor = 0.8 }, -- bold lowercase italic j --- -- [0x1D48C] = { width = 1, italic = 0, anchor = 1.2 }, -- bold lowercase italic k --- -- [0x1D48D] = { width = 1, italic = 0, anchor = 0.9 }, -- bold lowercase italic l --- -- [0x1D492] = { width = 1, italic = 0, anchor = 0.85 }, -- bold lowercase italic q --- -- [0x1D493] = { width = 1, italic = 0, anchor = 0.9 }, -- bold lowercase italic r --- -- [0x1D497] = { width = 1, italic = 0, anchor = 0.9 }, -- bold lowercase italic v --- -- [0x1D499] = { width = 1.1, italic = 0, anchor = 0.9 }, -- bold lowercase italic x --- -- [0x1D49A] = { width = 1, italic = 0, anchor = 0.95 }, -- bold lowercase italic y --- -- [0x1D49B] = { width = 1, italic = 0, anchor = 1.1 }, -- bold lowercase italic z --- [0x1D743] = { width = 1, italic = 0, anchor = 1.7 }, -- bold lowercase italic greek xi --- -- [0x1D435] = { anchor = 1.05 }, -- italic B --- -- [0x1D436] = { xoffset = -0.1, anchor = 0.7 }, -- italic C --- -- [0x1D437] = { anchor = 1.25 }, -- italic D --- -- [0x1D43A] = { anchor = 0.8 }, -- italic G --- -- [0x1D442] = { anchor = 0.85 }, -- italic O --- -- [0x1D443] = { anchor = 1.1 }, -- italic P --- -- [0x1D444] = { anchor = 0.85 }, -- italic Q --- -- [0x1D445] = { xoffset = -0.025, width = 1.05, anchor = 1.05 }, -- italic R --- -- [0x1D446] = { xoffset = -0.05, anchor = 0.85 }, -- italic S --- -- [0x1D447] = { xoffset = -0.05, width = 1.05, italic = 0.7, anchor = 0.9, }, -- italic T --- -- [0x1D448] = { xoffset = -0.125, italic = 0.3, anchor = 0.9, }, -- italic U --- -- [0x1D449] = { xoffset = -0.125, italic = 0.3, anchor = 0.9, }, -- italic V --- -- [0x1D44A] = { xoffset = -0.075, italic = 0.3, anchor = 0.9, }, -- italic W --- -- [0x1D44C] = { xoffset = -0.075, width = 1.1, italic = 0.35, anchor = 0.9, }, -- italic Y +} \ No newline at end of file diff --git a/tex/context/fonts/mkiv/cambria-math.lfg b/tex/context/fonts/mkiv/cambria-math.lfg index e4791fc79..84c4d0070 100644 --- a/tex/context/fonts/mkiv/cambria-math.lfg +++ b/tex/context/fonts/mkiv/cambria-math.lfg @@ -9,22 +9,12 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 1000, - -- AccentTopShiftUp = 0, - -- FlattenedAccentTopShiftUp = 0, - -- AccentExtendMargin = 50, - AccentBaseDepth = 300, - -- RadicalDegreeBottomRaisePercent = 65, - -- RadicalKernAfterDegree = -900, - -- RadicalRuleThickness = 128, -- 133 in font - DelimiterPercent = 90, - DelimiterShortfall = 400, - DisplayOperatorMinHeight = 2800, -- 2500 in font - -- PrimeRaisePercent = 0, -- set to 0 in math-act - -- PrimeRaiseComposedPercent = 25, -- set to 0 in math-act - PrimeShiftUp = "1.25*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.25*SuperscriptShiftUp", + AccentBaseDepth = 300, + DelimiterPercent = 90, + DelimiterShortfall = 400, + DisplayOperatorMinHeight = 2800, -- 2500 in font + PrimeShiftUp = "1.25*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.25*SuperscriptShiftUp", }, tweaks = { aftercopying = { @@ -50,9 +40,6 @@ return { list = { [0x002F] = { topleft = -0.2, bottomright = -0.2 }, ["0x002F.variants.*"] = { topleft = -0.2, bottomright = -0.2 }, - -- No! - -- [0x0028] = { topleft = -0.1, bottomleft = -0.1 }, -- left parenthesis - -- [0x0029] = { topright = -0.1, bottomright = -0.1, all = true }, -- right parenthesis -- [0x007D] = { topright = -0.05, bottomright = -0.05 }, -- right brace variants ["0x7D.variants.*"] = { topright = -0.10, bottomright = -0.10 }, -- right brace variants @@ -61,7 +48,7 @@ return { [0x0029] = { topright = -0.15, bottomright = -0.15 }, -- right parenthesis variants ["0x29.variants.*"] = { topright = -0.15, bottomright = -0.15 }, -- right parenthesis variants ["0x29.parts.top"] = { topright = -0.15, }, -- right parenthesis top - ["0x29.parts.bottom"] = { bottomright = -0.15 }, -- right parenthesis bottom + ["0x29.parts.bottom"] = { bottomright = -0.15 }, -- right parenthesis bottom [0x221A] = { topright = 0.2, bottomright = 0.2 }, -- radical ["0x221A.variants.*"] = { topright = 0.2, bottomright = 0.2 }, ["0x221A.parts.top"] = { topright = 0.2, }, @@ -72,16 +59,6 @@ return { ["0x27EB.variants.*"] = { topright = -0.2, bottomright = -0.2 }, -- 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, - -- ["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,22 +68,19 @@ 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 = "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.parts.bottom"] = { location = "left", hfactor = -0.1, vfactor = 0.95 }, + } + }, { tweak = "fixaccents", }, @@ -127,18 +101,6 @@ return { 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) }, }, @@ -151,8 +113,6 @@ return { { tweak = "fixprimes", - -- scale = 1.0, - -- smaller = true, factor = 0.83, fake = 0.8, }, @@ -165,16 +125,6 @@ return { { tweak = "accentdimensions", list = { "over", "under" }, - -- list = { - -- [0x203E] = { factor = "over" }, -- overbar - -- [0x203E] = { factor = "under" }, -- underbar - -- [0x23DE] = { factor = "over" }, -- overbrace - -- [0x23DF] = { factor = "under" }, -- underbrace - -- [0x23DC] = { factor = "over" }, -- overparent - -- [0x23DD] = { factor = "under" }, -- underparent - -- [0x23B4] = { factor = "over" }, -- overbracket - -- [0x23B5] = { factor = "under" }, -- underbracket - -- } }, { tweak = "addrules", @@ -205,9 +155,6 @@ return { { tweak = "addprimed", }, - -- { -- the ldots are squareshaped and the cdots are circular - -- tweak = "fixellipses", - -- }, }, }, bigslots = { @@ -215,36 +162,3 @@ return { }, }, } - --- For now we keep these commented as they show where we came from. - --- { --- tweak = "dimensions", --- list = { --- -- [0x00060] = { yoffset = -0.1 }, -- grave --- -- [0x000B4] = { yoffset = -0.1 }, -- acute --- -- [0x002C6] = { yoffset = -0.1 }, -- hat --- -- [0x002DC] = { yoffset = -0.1 }, -- tilde --- -- [0x000AF] = { yoffset = -0.1 }, -- bar --- -- [0x002D8] = { yoffset = -0.15 }, -- breve --- -- [0x002D9] = { yoffset = -0.15 }, -- dot --- -- [0x000A8] = { yoffset = -0.1 }, -- ddot --- -- [0x020DB] = { yoffset = -0.05 }, -- dddot --- -- [0x002C7] = { yoffset = -0.1 }, -- check --- -- [0x020D7] = { yoffset = -0.05 }, -- vec --- -- [0x00300] = { yoffset = -0.12, all=true }, -- widegrave --- -- [0x00301] = { yoffset = -0.12, all=true }, -- wideacute --- -- [0x00302] = { yoffset = -0.12, all=true }, -- widehat --- -- [0x00303] = { yoffset = -0.12, all=true }, -- widetilde --- -- [0x00304] = { yoffset = -0.12, all=true }, -- widebar --- -- [0x00306] = { yoffset = -0.12, all=true }, -- widebreve --- -- [0x00307] = { yoffset = -0.025, all=true }, -- widedot --- -- [0x00308] = { yoffset = -0.025, all=true }, -- wideddot --- -- [0x020DB] = { yoffset = -0.1, all=true }, -- widedddot --- -- [0x0030A] = { yoffset = -0.12, all=true }, -- widering --- -- [0x0030C] = { yoffset = -0.12, all=true }, -- widecheck --- [0x1D43D] = { xoffset = 0.25, width = 1.15, italic = 0.2 }, -- J --- [0x1D487] = { anchor = 0.8 }, -- bold lower case italic f --- -- [0x1D487] = { xoffset = 0, width = 1, italic = 0, anchor = 1.3 }, -- bold lower case italic f --- }, --- }, diff --git a/tex/context/fonts/mkiv/common-math.lfg b/tex/context/fonts/mkiv/common-math.lfg index d2785b3b2..5074c83ec 100644 --- a/tex/context/fonts/mkiv/common-math.lfg +++ b/tex/context/fonts/mkiv/common-math.lfg @@ -18,12 +18,12 @@ return { feature = "scripttocalligraphic", list = { { - source = "uppercasescript", - target = "uppercasecalligraphic", + source = "uppercasescript", + target = "uppercasecalligraphic", }, { - source = "uppercaseboldscript", - target = "uppercaseboldcalligraphic", + source = "uppercaseboldscript", + target = "uppercaseboldcalligraphic", }, }, } @@ -110,6 +110,20 @@ return { }, } end, + braille = function(parameters) + return { + tweak = "replacealphabets", + feature = "braille", + list = { + { + source = "braillepatterns", + target = "braillepatterns", + filename = "dejavuserif.ttf", + rscale = parameters.rscale, + }, + }, + } + end, xitsarabic = function(parameters) return { tweak = "replacealphabets", diff --git a/tex/context/fonts/mkiv/concrete-math.lfg b/tex/context/fonts/mkiv/concrete-math.lfg index d0fc5749f..b69ee0103 100644 --- a/tex/context/fonts/mkiv/concrete-math.lfg +++ b/tex/context/fonts/mkiv/concrete-math.lfg @@ -9,15 +9,11 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 900, - DelimiterPercent = 90, - DelimiterShortfall = 400, - -- DisplayOperatorMinHeight = 1800, -- 1400 in font (one size) - -- PrimeRaisePercent = 0, -- set to 0 in math-act - -- PrimeRaiseComposedPercent = 25, -- set to 0 in math-act - PrimeShiftUp = "1.2*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.2*SuperscriptShiftUp", + DelimiterPercent = 90, + DelimiterShortfall = 400, + PrimeShiftUp = "1.2*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.2*SuperscriptShiftUp", + PrimeBaselineDropMax = "0.5*SuperscriptBaselineDropMax", }, tweaks = { aftercopying = { @@ -25,13 +21,9 @@ return { tweak = "fixprimes", factor = 0.92, }, - -- there are circular variants --- { --- tweak = "addmirrors", --- }, -{ - tweak = "fixintegrals", -}, + { + tweak = "fixintegrals", + }, presets.scripttocalligraphic { }, presets.rsfstoscript { }, presets.rsfsuprighttoscript { }, @@ -53,9 +45,6 @@ return { list = { [0x002F] = { topleft = -0.2, bottomright = -0.2 }, ["0x002F.variants.*"] = { topleft = -0.2, bottomright = -0.2 }, - -- No! - -- [0x0028] = { topleft = -0.1, bottomleft = -0.1 }, -- left parenthesis - -- [0x0029] = { topright = -0.1, bottomright = -0.1, all = true }, -- right parenthesis -- [0x007D] = { topright = -0.05, bottomright = -0.05 }, -- right brace variants ["0x7D.variants.*"] = { topright = -0.25, bottomright = -0.25 }, -- right brace variants @@ -64,7 +53,7 @@ return { [0x0029] = { topright = -0.15, bottomright = -0.15 }, -- right parenthesis variants ["0x29.variants.*"] = { topright = -0.15, bottomright = -0.15 }, -- right parenthesis variants ["0x29.parts.top"] = { topright = -0.15, }, -- right parenthesis top - ["0x29.parts.bottom"] = { bottomright = -0.15 }, -- right parenthesis bottom + ["0x29.parts.bottom"] = { bottomright = -0.15 }, -- right parenthesis bottom [0x221A] = { topright = 0.2, bottomright = 0.2 }, -- radical ["0x221A.variants.*"] = { topright = 0.2, bottomright = 0.2 }, ["0x221A.parts.top"] = { topright = 0.2, }, @@ -84,24 +73,12 @@ return { [0x00393] = { width = 0.875, }, -- upright Gamma }, }, - - -{ - 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 = "radicaldegreeanchors", + list = { + ["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 af6a4bd55..fb7368b0f 100644 --- a/tex/context/fonts/mkiv/dejavu-math.lfg +++ b/tex/context/fonts/mkiv/dejavu-math.lfg @@ -12,27 +12,19 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 900, - FractionRuleThickness = 60, - AccentTopShiftUp = -25, - FlattenedAccentTopShiftUp = -25, - -- AccentExtendMargin = 50, - AccentBaseDepth = 30, - -- RadicalDegreeBottomRaisePercent = 62, - -- RadicalRuleThickness = 46, -- 52 in font - DelimiterPercent = 90, - DelimiterShortfall = 400, - DisplayOperatorMinHeight = 1800, -- 1333 in font - -- ScriptPercentScaleDown = 70, -- 80 in font (set in typescript) - -- ScriptScriptPercentScaleDown = 55, -- 65 in font (set in typescript) - SubscriptShiftDown = 177, -- 277 in font - SuperscriptShiftUp = 428, -- 381 in font + FractionRuleThickness = 60, + AccentTopShiftUp = -25, + FlattenedAccentTopShiftUp = -25, + AccentBaseDepth = 30, + DelimiterPercent = 90, + DelimiterShortfall = 400, + DisplayOperatorMinHeight = 1800, -- 1333 in font + SubscriptShiftDown = 177, -- 277 in font + SuperscriptShiftUp = 428, -- 381 in font SubscriptShiftDownWithSuperscript = "1.3*SubscriptShiftDown", -- trial and error - -- PrimeRaisePercent = 50, -- 50 default - -- PrimeRaiseComposedPercent = 10, -- 25 default - PrimeShiftUp = "1.4*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.4*SuperscriptShiftUp", + PrimeShiftUp = "1.4*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.4*SuperscriptShiftUp", + PrimeBaselineDropMax = "0.5*SuperscriptBaselineDropMax", }, tweaks = { aftercopying = { @@ -48,6 +40,7 @@ return { tweak = "addmirrors", }, presets.scripttocalligraphic { }, + presets.braille { }, presets.rsfstoscript { rscale = 1.02 }, presets.rsfsuprighttoscript { rscale = 1.02 }, presets.moderntocalligraphic { rscale = 1.02 }, @@ -94,16 +87,6 @@ return { ["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 @@ -112,24 +95,16 @@ 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 = "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.parts.bottom"] = { location = "left", hfactor = .1, vfactor = 1.1 }, + } + }, { tweak = "fixaccents", }, @@ -149,17 +124,6 @@ return { { 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) }, }, @@ -214,22 +178,5 @@ return { bigslots = { 1, 3, 5, 7 }, - -- -- - -- -- experimental fixes for mkiv: - -- -- - -- dimensions = dimensions, - -- kerns = kerns, }, } - --- For now we keep these commented as they show where we came from. - --- { --- tweak = "dimensions", --- list = { --- [0x1D44E] = { width = 1, italic = 0, anchor = 0.9 }, -- a --- -- [0x1D449] = { width = .8, italic = .2 }, --- -- [0x1D44A] = { width = .8, italic = .2 }, --- ["0x1D449:0x1D44A"] = { width = .8, italic = .2 }, --- } --- }, diff --git a/tex/context/fonts/mkiv/ebgaramond-math.lfg b/tex/context/fonts/mkiv/ebgaramond-math.lfg index 43bafadd1..d5d31c73f 100644 --- a/tex/context/fonts/mkiv/ebgaramond-math.lfg +++ b/tex/context/fonts/mkiv/ebgaramond-math.lfg @@ -9,28 +9,21 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 1200, - FractionRuleThickness = 60, - OverbarRuleThickness = 60, - UnderbarRuleThickness = 60, - AccentTopShiftUp = -75, - FlattenedAccentTopShiftUp = -75, - -- AccentExtendMargin = 50, - -- AccentBaseHeight = 0, - AccentBaseDepth = 75, - -- RadicalRuleThickness = 50, -- 50 in font - DelimiterPercent = 90, - DelimiterShortfall = 400, + FractionRuleThickness = 60, + OverbarRuleThickness = 60, + UnderbarRuleThickness = 60, + AccentTopShiftUp = -75, + FlattenedAccentTopShiftUp = -75, + AccentBaseDepth = 75, + DelimiterPercent = 90, + DelimiterShortfall = 400, SubscriptShiftDown = 200, -- 250 in font SuperscriptShiftUp = 400, -- 430 in font SubscriptShiftDownWithSuperscript = "1.25*SubscriptShiftDown", -- trial and error SubSuperscriptGapMin = 200, -- 250 in font - -- DisplayOperatorMinHeight = 1800, -- 1300 in font (only one) - -- PrimeRaisePercent = 0, -- set to 0 in math-act - -- PrimeRaiseComposedPercent = 25, -- set to 0 in math-act - PrimeShiftUp = "1.2*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.2*SuperscriptShiftUp", + PrimeShiftUp = "1.2*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.2*SuperscriptShiftUp", + PrimeBaselineDropMax = "0.5*SuperscriptBaselineDropMax", }, tweaks = { aftercopying = { @@ -40,10 +33,7 @@ return { }, { tweak = "fixprimes", - -- scale = 1, - -- smaller = true, factor = 0.73, - -- fake = 0.75, }, { tweak = "addmirrors", @@ -71,7 +61,6 @@ return { { tweak = "dimensions", list = { - -- for older entries, see bottom of file [0x1D453] = { width = 1.1 }, -- italic f }, }, @@ -142,10 +131,6 @@ return { [mathematics.tweaks.subsets.f] = -.25, [0x1D70C] = -.25, -- italic \rho }, - -- ["uppercaseitalic"] = { - -- [mathematics.tweaks.subsets.f] = -.25, - -- [0x1D70C] = -.25, -- italic \rho - -- }, }, }, -- Accents are a mess. We migrate the extensibles from the combiners to the base accent @@ -153,60 +138,17 @@ return { -- accent anchor offset). First we copy and fix. { tweak = "extendaccents", - -- all = true, --- all = 5, }, -{ - 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. { - 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 = "radicaldegreeanchors", + list = { + ["0x221A.parts.bottom"] = { location = "left", hfactor = .0, vfactor = 1.0 }, + } }, + -- First we set the dimensions of the initial accent which started out as zero but we want + -- a proper width. None in ebgaramond. -- 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) - }, - }, + -- as well as the variants here. None in ebgaramond -- 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. { @@ -267,79 +209,3 @@ return { }, }, } - --- For now we keep these commented as they show where we came from. - --- { --- tweak = "dimensions", --- list = { --- -- offset width italic --- -- -- [0x00060] = { yoffset = -0.1 }, -- grave --- -- -- [0x000B4] = { yoffset = -0.1 }, -- acute --- -- [0x002C6] = { yoffset = -0.1 }, -- hat --- -- [0x002DC] = { yoffset = -0.1 }, -- tilde --- -- -- [0x000AF] = { yoffset = -0.1 }, -- bar --- -- [0x002D8] = { yoffset = -0.15 }, -- breve --- -- [0x002D9] = { yoffset = -0.15 }, -- dot --- -- -- [0x000A8] = { yoffset = -0.1 }, -- ddot --- -- [0x020DB] = { yoffset = -0.115 }, -- dddot --- -- [0x002C7] = { yoffset = -0.1 }, -- check --- -- [0x020D7] = { yoffset = -0.1 }, -- vec - --- -- [0x00300] = { yoffset = -0.12 , all = true }, -- widegrave --- -- [0x00301] = { yoffset = -0.12 , all = true }, -- wideacute --- -- [0x00302] = { yoffset = -0.12 , all = true }, -- widehat --- -- [0x00303] = { yoffset = -0.12 , all = true }, -- widetilde --- -- [0x00304] = { yoffset = -0.12 , all = true }, -- widebar --- -- [0x00306] = { yoffset = -0.12 , all = true }, -- widebreve --- -- [0x00307] = { yoffset = -0.12 , all = true }, -- widedot --- -- [0x00308] = { yoffset = -0.12 , all = true }, -- wideddot --- -- -- [0x020DB] = { yoffset = -0.1 , all = true }, -- widedddot --- -- [0x0030A] = { yoffset = -0.12 , all = true }, -- widering --- -- [0x0030C] = { yoffset = -0.12 , all = true }, -- widecheck - --- -- [0x002C6] = { scale =.85, yoffset = .1, width = .85, height = .935 }, -- hat --- [0x00393] = { xoffset = 0.05, width = 1.05, italic = 0.075 }, -- \Gamma --- -- [0x003A6] = { xoffset = 0.05, width = 1.05, italic = 0 }, -- \Phi difficult! --- [0x003A8] = { xoffset = 0.05, width = 1.05, italic = 0.075 }, -- \Psi --- [0x02113] = { width = 1, italic = 0.075 }, -- \ell --- [0x1D436] = { width = 1, italic = 0.05 }, -- C --- [0x1D43D] = { xoffset = 0.3, width = 1.4, italic = 0.1 }, -- J --- [0x1D44B] = { width = 1, italic = 0.05 }, -- X --- [0x1D44F] = { width = 1, italic = 0, }, -- b --- [0x1D450] = { width = 1.1, italic = 0 }, -- c --- [0x1D451] = { width = 1, italic = 0.05, }, -- d --- [0x1D452] = { width = 1.1, italic = 0.05 }, -- e --- [0x00066] = { width = 1.4, italic = 0.0, }, -- f --- [0x1D453] = { xoffset = 0.15, width = 1.15, italic = 0.1, }, -- f --- [0x1D454] = { xoffset = 0.1, width = 1.2, italic = 0.1 }, -- g --- [0x0210E] = { width = 1.1, italic = 0, }, -- h --- [0x1D457] = { xoffset = 0.2, width = 1.25, italic = 0.05 }, -- j --- [0x1D458] = { width = 1, italic = 0, }, -- k --- [0x1D459] = { width = 1, italic = 0.05 }, -- l --- [0x1D45D] = { xoffset = 0.15, width = 1.15, italic = 0, }, -- p --- [0x1D45E] = { width = 1.05, italic = 0 }, -- q --- [0x1D45F] = { width = 1.05, italic = 0 }, -- r --- [0x1D461] = { width = 1, italic = 0.1 }, -- t --- [0x1D465] = { xoffset = 0.05, width = 1.1, italic = 0.05 }, -- x --- [0x1D466] = { xoffset = 0.2, width = 1.2, italic = 0, }, -- y --- [0x1D6FD] = { xoffset = 0.05, width = 1.1, italic = 0.05 }, -- \beta --- [0x1D6FE] = { width = 1.05, italic = 0 }, -- \gamma --- [0x1D6FF] = { width = 1, italic = 0.1 }, -- \delta --- [0x1D716] = { width = 1.1, italic = 0 }, -- \epsilon --- [0x1D700] = { width = 1.1, italic = 0 }, -- \varepsilon --- [0x1D701] = { width = 1, italic = 0.15 }, -- \zeta --- [0x1D703] = { width = 1, italic = 0.1 }, -- \theta --- [0x1D705] = { width = 1, italic = 0.1 }, -- \kappa --- [0x1D706] = { xoffset = 0.05, width = 1.1, italic = 0 }, -- \lambda --- [0x1D707] = { xoffset = 0.05, width = 1.05, italic = 0 }, -- \mu --- [0x1D708] = { width = 1.1, italic = 0 }, -- \nu --- [0x1D709] = { width = 1.1, italic = 0 }, -- \xi --- [0x1D70B] = { width = 1.05, italic = 0 }, -- \pi --- [0x1D70C] = { xoffset = 0.2, width = 1.2, italic = 0 }, -- \rho --- [0x1D70E] = { width = 1, italic = 0.1 }, -- \sigma --- [0x1D70F] = { xoffset = 0.05, width = 1.05, italic = 0.1 }, -- \tau --- [0x1D712] = { xoffset = 0.15, width = 1.2, italic = 0.05 }, -- \chi --- [0x1D713] = { xoffset = 0.05, width = 1.05, italic = 0.05 }, -- \psi --- }, --- }, diff --git a/tex/context/fonts/mkiv/erewhon-math.lfg b/tex/context/fonts/mkiv/erewhon-math.lfg index 0cb72d149..54cc687fa 100644 --- a/tex/context/fonts/mkiv/erewhon-math.lfg +++ b/tex/context/fonts/mkiv/erewhon-math.lfg @@ -12,43 +12,35 @@ return { 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) - SubscriptShiftDown = 200, -- 220 in font - SuperscriptShiftUp = 400, -- 400 in font + AccentBaseDepth = 60, + DelimiterPercent = 90, + DelimiterShortfall = 400, + SubscriptShiftDown = 200, -- 220 in font + SuperscriptShiftUp = 400, -- 400 in font SubscriptShiftDownWithSuperscript = "1.2*SubscriptShiftDown", -- unclear original value, trial and error - PrimeShiftUp = "1.1*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.1*SuperscriptShiftUp", + PrimeShiftUp = "1.1*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.1*SuperscriptShiftUp", + PrimeBaselineDropMax = "0.5*SuperscriptBaselineDropMax", }, tweaks = { aftercopying = { { - tweak = "fixprimes", - -- smaller = true, -- replace multiples - factor = 0.94 , - -- scale = 1.0, - fake = 0.85, -- replace multiples with this width proportion + tweak = "fixprimes", + factor = 0.94 , + fake = 0.85, -- replace multiples with this width proportion }, { tweak = "addmirrors", }, -{ - tweak = "dimensions", - list = { - ["0x222B.variants.*"] = { axis = .15 }, - }, -}, -{ - tweak = "fixintegrals", -}, + { + tweak = "dimensions", + list = { + ["0x222B.variants.*"] = { axis = .15 }, + }, + }, + { + tweak = "fixintegrals", + }, presets.scripttocalligraphic { }, presets.rsfstoscript { }, presets.rsfsuprighttoscript { }, @@ -77,26 +69,15 @@ return { ["0x27E9.variants.*"] = { topright = -0.2, bottomright = -0.2 }, [0x27EB] = { topright = -0.1, bottomright = -0.1 }, ["0x27EB.variants.*"] = { topright = -0.2, bottomright = -0.2 }, - [0x00393] = { bottomright = -0.30, }, -- upright Gamma + [0x00393] = { bottomright = -0.3 }, -- upright Gamma }, }, -{ - 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 = "radicaldegreeanchors", + list = { + ["0x221A.parts.bottom"] = { location = "left", hfactor = .1, vfactor = 1.025 }, + } + }, { tweak = "checkspacing", }, @@ -124,14 +105,7 @@ return { }, { tweak = "setoptions", --- set = { "ignorekerndimensions" } }, - -- this is the mkiv section --- { --- tweak = "emulatelmtx", --- feature = "emulatelmtx", --- comment = "this is for mkiv", --- }, }, }, bigslots = { diff --git a/tex/context/fonts/mkiv/kpfonts-math.lfg b/tex/context/fonts/mkiv/kpfonts-math.lfg index 7cb968860..409b17cbc 100644 --- a/tex/context/fonts/mkiv/kpfonts-math.lfg +++ b/tex/context/fonts/mkiv/kpfonts-math.lfg @@ -12,19 +12,11 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 900, - -- AccentBaseHeight = 0, - AccentBaseDepth = 30, - -- RadicalDegreeBottomRaisePercent = 70, - -- RadicalRuleThickness = 50, -- 50 in font - DelimiterPercent = 90, - DelimiterShortfall = 400, - -- DisplayOperatorMinHeight = 1800, -- 1500 in font (only one) - -- PrimeRaisePercent = 25, -- set to 0 in math-act - -- PrimeRaiseComposedPercent = 25, -- set to 0 in math-act - PrimeShiftUp = "1.15*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.15*SuperscriptShiftUp", + AccentBaseDepth = 30, + DelimiterPercent = 90, + DelimiterShortfall = 400, + PrimeShiftUp = "1.15*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.15*SuperscriptShiftUp", SubscriptShiftDownWithSuperscript = "1.2*SubscriptShiftDown", -- unclear original value, trial and error }, tweaks = { @@ -61,7 +53,6 @@ return { 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", @@ -102,23 +93,15 @@ 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 = "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.parts.bottom"] = { location = "left", hfactor = .0, vfactor = 0.65 }, + } + }, { tweak = "addscripts", @@ -151,12 +134,6 @@ return { tweak = "setoptions", set = { "ignorekerndimensions" } }, - -- this is the mkiv section --- { --- tweak = "emulatelmtx", --- feature = "emulatelmtx", --- comment = "this is for mkiv", --- }, }, }, alternates = { diff --git a/tex/context/fonts/mkiv/libertinus-math.lfg b/tex/context/fonts/mkiv/libertinus-math.lfg index 30f8f6456..6f707ed2b 100644 --- a/tex/context/fonts/mkiv/libertinus-math.lfg +++ b/tex/context/fonts/mkiv/libertinus-math.lfg @@ -16,48 +16,36 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 1000, - FractionRuleThickness = 50, - OverbarRuleThickness = 50, - -- RadicalRuleThickness = 50, - UnderbarRuleThickness = 50, - AccentTopShiftUp = -35, - FlattenedAccentTopShiftUp = -35, - -- AccentExtendMargin = 50, - -- AccentTopShiftUp = 0, - AccentBaseDepth = 10, - -- RadicalDegreeBottomRaisePercent = 60, - -- RadicalKernAfterDegree = -425, - -- RadicalRuleThickness = 40, -- 40 in font - DelimiterPercent = 90, - DelimiterShortfall = 400, - -- DisplayOperatorMinHeight = 1800, -- 1250 in font (only one) - -- PrimeRaisePercent = 70, -- set to 0 in math-act - -- PrimeRaiseComposedPercent = 10, -- set to 0 in math-act - PrimeShiftUp = "1.2*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.2*SuperscriptShiftUp", + FractionRuleThickness = 50, + OverbarRuleThickness = 50, + UnderbarRuleThickness = 50, + AccentTopShiftUp = -35, + FlattenedAccentTopShiftUp = -35, + AccentBaseDepth = 10, + DelimiterPercent = 90, + DelimiterShortfall = 400, + PrimeShiftUp = "1.2*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.2*SuperscriptShiftUp", }, tweaks = { aftercopying = { { tweak = "version", - -- expected = "Version 6.8", expected = "Version 7.040", }, { tweak = "addmirrors", }, --- we have a weird middle integral piece -{ - tweak = "dimensions", - list = { - [0x23AE] = { xoffset = -.19 }, - }, -}, -{ - tweak = "fixintegrals", -}, + -- 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 }, @@ -78,7 +66,6 @@ return { [0x002F] = { topleft = -0.15, bottomright = -0.15 }, ["0x7D.parts.top"] = { topright = -0.2, }, -- right brace top ["0x7D.parts.bottom"] = { bottomright = -0.2 }, -- right brace bottom - -- ["0x7D.variants.*"] = { topright = -0.05, bottomright = -0.05 }, -- right brace variants ["0x29.parts.top"] = { topright = -0.15, }, -- right parenthesis top ["0x29.parts.bottom"] = { bottomright = -0.15 }, -- right parenthesis bottom ["0x29.variants.*"] = { topright = -0.15, bottomright = -0.15 }, -- right parenthesis variants @@ -114,53 +101,24 @@ return { }, }, -- 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) - }, - }, + -- 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, -- if only because it is less confusing and more consistent. { 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 = "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.parts.bottom"] = { location = "left", hfactor = .0, vfactor = 1.15 }, + } + }, { tweak = "fixprimes", - -- scale = 1, - -- smaller = true, factor = 0.92, fake = 0.75, }, @@ -211,40 +169,3 @@ return { }, }, } - --- For now we keep these commented as they show where we came from. - --- { --- tweak = "dimensions", --- list = { --- -- [0x00060] = { yoffset = -0.075 }, -- grave --- -- [0x000B4] = { yoffset = -0.075 }, -- acute --- -- [0x002C6] = { yoffset = -0.075 }, -- hat --- -- [0x002DC] = { yoffset = -0.075 }, -- tilde --- -- [0x000AF] = { yoffset = -0.1 }, -- bar --- -- [0x002D8] = { yoffset = -0.075 }, -- breve --- -- [0x002D9] = { yoffset = -0.05 }, -- dot --- -- [0x000A8] = { yoffset = -0.02 }, -- ddot --- -- [0x020DB] = { yoffset = -0.02 }, -- dddot --- -- [0x002DA] = { yoffset = -0.1 }, -- ring --- -- [0x002C7] = { yoffset = -0.1 }, -- check --- -- [0x020D7] = { yoffset = -0.1 }, -- vec - --- -- [0x00300] = { yoffset = -0.1, all = true }, -- widegrave --- -- [0x00301] = { yoffset = -0.1, all = true }, -- wideacute --- -- [0x00302] = { yoffset = -0.1, all = true }, -- widehat --- -- [0x00303] = { yoffset = -0.09, all = true }, -- widetilde --- -- [0x00304] = { yoffset = -0.12, all = true }, -- widebar --- -- [0x00306] = { yoffset = -0.05, all = true }, -- widebreve --- -- [0x00307] = { yoffset = -0.02, all = true }, -- widedot --- -- [0x00308] = { yoffset = -0.02, all = true }, -- wideddot --- -- [0x020DB] = { yoffset = -0.1, all = true }, -- widedddot --- -- [0x0030A] = { yoffset = -0.12, all = true }, -- widering --- -- [0x0030C] = { yoffset = -0.04, all = true }, -- widecheck - --- -- [0x1D44F] = { width = 1, italic = 0, anchor = 1.5 }, -- b (6.8) --- -- [0x1D451] = { width = 1, italic = 0, anchor = 1.2 }, -- d (6.8) --- -- [0x0210E] = { width = 1, italic = 0, anchor = 1.5 }, -- h (6.8) --- -- [0x1D458] = { width = 1, italic = 0, anchor = 1.5 }, -- k (6.8) --- }, --- }, diff --git a/tex/context/fonts/mkiv/lucida-math.lfg b/tex/context/fonts/mkiv/lucida-math.lfg index f0ab84b8b..c95a32c5d 100644 --- a/tex/context/fonts/mkiv/lucida-math.lfg +++ b/tex/context/fonts/mkiv/lucida-math.lfg @@ -13,26 +13,14 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - -- RadicalDisplayStyleVerticalGap = 100, - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 900, - FractionRuleThickness = 55, - -- AccentTopShiftUp = 0, - -- FlattenedAccentTopShiftUp = 0, - -- AccentExtendMargin = 50, - -- 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) + FractionRuleThickness = 55, + AccentBaseDepth = 250, + DelimiterPercent = 90, + DelimiterShortfall = 400, SuperscriptBottomMaxWithSubscript = 325, - -- PrimeRaisePercent = 60, -- set to 0 in math-act - -- PrimeRaiseComposedPercent = 50, -- set to 0 in math-act - PrimeShiftUp = "1.4*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.4*SuperscriptShiftUp", + PrimeShiftUp = "1.4*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.4*SuperscriptShiftUp", + PrimeBaselineDropMax = "0.5*SuperscriptBaselineDropMax", }, tweaks = { aftercopying = { @@ -44,10 +32,6 @@ return { tweak = "fixoldschool", version = "Version 1.802", }, - -- { - -- tweak = "showinfo", - -- version = "Version 1.803", - -- }, { tweak = "addmirrors", }, @@ -90,8 +74,6 @@ return { -- The < and > are slightly too small. We scale them by 867/795 ["0x003C"] = { scale = 1.09057, width = 1.09057, height = 1.09057 }, ["0x003E"] = { scale = 1.09057, width = 1.09057, height = 1.09057 }, - -- The = is too big if in ss03. We scale it by 795/867 (not working like this) - -- ["0x003D.ss03"] = { scale = 0.916955, width = 0.916955, height = 0.916955 }, }, }, { @@ -105,15 +87,6 @@ return { ["0x23DD.parts.1"] = { xoffset = -0.075, depth = .8, yoffset = 0.2 }, ["0x23DD.parts.2"] = { depth = .8, yoffset = 0.2 }, ["0x23DD.parts.3"] = { xoffset = 0.075, depth = .8, yoffset = 0.2 }, - -- these are done later using the AccentBase* parameters - -- [0x23DC] = { height = .2, yoffset = -0.8 }, - -- [0x23DD] = { depth = .6, yoffset = 0.4 }, - -- - -- ["0x7C.variants.1"] = { squeeze = 0.75, height = 0.75, depth = 0.75 }, - -- ["0x7C.variants.2"] = { squeeze = 0.75, height = 0.75, depth = 0.75 }, - -- ["0x7C.variants.3"] = { squeeze = 0.75, height = 0.75, depth = 0.75 }, - -- ["0x7C.variants.4"] = { squeeze = 0.75, height = 0.75, depth = 0.75 }, - -- going zero makes them be ignored ["0x7C.variants.3"] = { squeeze = 0.90, height = 0.90, depth = 0.90 }, ["0x7C.variants.4"] = { squeeze = 0.80, height = 0.80, depth = 0.80 }, }, @@ -124,68 +97,30 @@ 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 = "radicaldegreeanchors", + list = { + ["0x221A.variants.3"] = { location = "left", hfactor = 0, vfactor = .55 }, + ["0x221A.variants.4"] = { location = "left", hfactor = 0, vfactor = .50 }, + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0, vfactor = .85 }, + } + }, { 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. Not in lucida -- 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) --- }, --- }, + -- as well as the variants here. Not in lucida. -- 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 = "fixslashes", }, - -- { - -- tweak = "fixellipses", - -- }, { tweak = "addbreve", }, @@ -206,26 +141,12 @@ 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, - }, }, { tweak = "fixprimes", - -- factor = 0.75, -- accent base height factor = 0.7, -- accent base height - -- smaller = true, -- replace multiples - -- scale = 1.1, -- glyph scale fake = 0.65, -- replace multiples with this width proportion - -- keep = true, -- keep the text size prime (aka minute) }, { tweak = "checkspacing", @@ -244,7 +165,6 @@ return { }, { tweak = "addfourier", - -- scale = 1.5, variant = 1, }, { @@ -262,9 +182,6 @@ return { [0x2192] = false, [0x219E] = false, [0x21A0] = false, - -- [0x21A6] = false, - -- [0x21CB] = false, - -- [0x21CC] = false, } }, -- this is the mkiv section diff --git a/tex/context/fonts/mkiv/minion-math.lfg b/tex/context/fonts/mkiv/minion-math.lfg index dfc2251ec..ab58d0dc6 100644 --- a/tex/context/fonts/mkiv/minion-math.lfg +++ b/tex/context/fonts/mkiv/minion-math.lfg @@ -26,28 +26,10 @@ return { }, mathematics = { parameters = { - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 900, - -- AccentTopShiftUp = -15, - -- FlattenedAccentTopShiftUp = -15, - -- AccentExtendMargin = 50, - -- AccentBaseDepth = 50, - -- RadicalDegreeBottomRaisePercent = 60, - -- RadicalRuleThickness = 66, -- 72 in font - -- DelimiterPercent = 90, - -- DelimiterShortfall = 400, - -- DisplayOperatorMinHeight = 1900, -- 1250 in font - -- AccentSuperscriptDrop = 100, - -- AccentSuperscriptPercent = 20, - SubscriptShiftDown = 200, -- 250 in font - SubscriptShiftDownWithSuperscript = "1.4*SubscriptShiftDown", -- 1.5* in math-act - -- PrimeRaisePercent = 50, -- set to 0 in math-act - -- PrimeRaiseComposedPercent = 25, -- set to 0 in math-act - PrimeShiftUp = "1.15*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.15*SuperscriptShiftUp", - -- PrimeBaselineDropMax = 0, - -- RadicalKernAfterExtensible = 100, -- 0 default - -- RadicalKernBeforeExtensible = 100, -- 0 default + SubscriptShiftDown = 200, -- 250 in font + SubscriptShiftDownWithSuperscript = "1.40*SubscriptShiftDown", -- 1.5* in math-act + PrimeShiftUp = "1.15*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.15*SuperscriptShiftUp", }, tweaks = { aftercopying = { @@ -74,9 +56,6 @@ return { list = { [0x002F] = { topleft = -0.2, bottomright = -0.2 }, ["0x002F.variants.*"] = { topleft = -0.2, bottomright = -0.2 }, - -- No! - -- [0x0028] = { topleft = -0.1, bottomleft = -0.1 }, -- left parenthesis - -- [0x0029] = { topright = -0.1, bottomright = -0.1, all = true }, -- right parenthesis -- [0x007D] = { topright = -0.05, bottomright = -0.05 }, -- right brace variants ["0x7D.variants.*"] = { topright = -0.10, bottomright = -0.10 }, -- right brace variants @@ -85,7 +64,7 @@ return { [0x0029] = { topright = -0.15, bottomright = -0.15 }, -- right parenthesis variants ["0x29.variants.*"] = { topright = -0.15, bottomright = -0.15 }, -- right parenthesis variants ["0x29.parts.top"] = { topright = -0.15, }, -- right parenthesis top - ["0x29.parts.bottom"] = { bottomright = -0.15 }, -- right parenthesis bottom + ["0x29.parts.bottom"] = { bottomright = -0.15 }, -- right parenthesis bottom [0x221A] = { topright = 0.2, bottomright = 0.2 }, -- radical ["0x221A.variants.*"] = { topright = 0.2, bottomright = 0.2 }, ["0x221A.parts.top"] = { topright = 0.2, }, @@ -98,31 +77,24 @@ return { [0x2A0C] = { bottomright = -0.1 }, -- iiiint does not have any ic }, }, - - { tweak = "simplifykerns", }, { 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 = "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.parts.bottom"] = { location = "left", hfactor = -0.1, vfactor = 0.85 }, + } + }, { tweak = "fixaccents", }, @@ -132,20 +104,7 @@ return { { tweak = "fixprimes", factor = 1, - -- scale = 0.9, }, - -- { - -- tweak = "checkspacing", - -- }, - -- { - -- tweak = "addscripts", - -- }, - -- { - -- tweak = "accentdimensions", - -- }, - -- { - -- tweak = "addrules", - -- }, { tweak = "addfourier", variant = 1, diff --git a/tex/context/fonts/mkiv/modern-math.lfg b/tex/context/fonts/mkiv/modern-math.lfg index 4c433702c..fadd13da7 100644 --- a/tex/context/fonts/mkiv/modern-math.lfg +++ b/tex/context/fonts/mkiv/modern-math.lfg @@ -12,36 +12,27 @@ return { 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) - -- SubSuperscriptGapMin = 160, -- 160 in font (4*ruleheight) - -- SubscriptBaselineDropMin = 50, -- 200 in font (multiplied by 0.59999/2.39868) - SubscriptShiftDown = 150, -- 247 in font (multiplied to be consistent with cm) - SubscriptShiftDownWithSuperscript = 247, -- relates to the previous one (see math-act) - -- SubscriptTopMax = 344, -- 344 in font .8 exheight - -- SuperscriptBaselineDropMax = 386, -- 250 in font (multiplied by 4.6333/2.99 (values in cm/values in lm)) 0 means: align the baseline of the superscript at the (top) - SuperscriptBaselineDropMax = 0.6*431, -- 250 in font (multiplied by 4.6333/2.99 (values in cm/values in lm)) - SubscriptBaselineDropMin = 0.1*431, -- 200 in font - -- SuperscriptBottomMaxWithSubscript = 344, -- 344 in font .8 exheight - -- SuperscriptBottomMin = 108, -- 108 in font .25 exheight - SuperscriptShiftUp = 413, -- 363 in font (multiplied with 4.9547/4.3536, got 413) - SuperscriptShiftUpCramped = 413, -- 289 in font (no distinction, old TeX) + FractionNumeratorDisplayStyleShiftUp = 600, -- used to be a function + AccentTopShiftUp = -60, + FlattenedAccentTopShiftUp = -60, + AccentSuperscriptDrop = 100, -- drop the superscripts if accents are present. Amount in percentage of height of accent(?) + AccentSuperscriptPercent = 0, + DelimiterPercent = 90, + DelimiterShortfall = 400, + SubscriptShiftDown = 150, -- 247 in font (multiplied to be consistent with cm) + SubscriptShiftDownWithSuperscript = 247, -- relates to the previous one (see math-act) + -- SubscriptTopMax = 344, -- 344 in font .8 exheight + -- SuperscriptBaselineDropMax = 386, -- 250 in font (multiplied by 4.6333/2.99 (values in cm/values in lm)) 0 means: align the baseline of the superscript at the (top) + SuperscriptBaselineDropMax = 0.6*431, -- 250 in font (multiplied by 4.6333/2.99 (values in cm/values in lm)) + SubscriptBaselineDropMin = 0.1*431, -- 200 in font + -- SuperscriptBottomMaxWithSubscript = 344, -- 344 in font .8 exheight + -- SuperscriptBottomMin = 108, -- 108 in font .25 exheight + SuperscriptShiftUp = 413, -- 363 in font (multiplied with 4.9547/4.3536, got 413) + SuperscriptShiftUpCramped = 413, -- 289 in font (no distinction, old TeX) PrimeShiftUp = "1.1*SuperscriptShiftUp", PrimeShiftUpCramped = "1.1*SuperscriptShiftUp", - -- PrimeRaisePercent = 0, - -- PrimeRaiseComposedPercent = 25, + -- PrimeRaisePercent = 0, -- set to 0 in math-act + -- PrimeRaiseComposedPercent = 0, -- set to 0 in math-act }, tweaks = { aftercopying = { @@ -64,12 +55,9 @@ return { presets.moveintegrals { factor = 1.4, icfactor = 0.8 }, -- the icfactor is due to the very slanted integral. 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 @@ -86,13 +74,10 @@ return { [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 @@ -109,9 +94,7 @@ return { [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 @@ -119,7 +102,6 @@ return { [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 @@ -146,18 +128,6 @@ return { [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 }, @@ -165,50 +135,20 @@ return { ["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 = "radicaldegreeanchors", + list = { + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0.05, vfactor = 1.05 }, + } + }, { tweak = "fixaccents", }, @@ -217,12 +157,9 @@ return { { 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 }, }, @@ -231,17 +168,6 @@ return { { 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) }, }, @@ -251,7 +177,6 @@ return { tweak = "copyaccents", }, -- So far for the accents. - { -- Here we modify "corner kerns". -- We started with 0x2F, the solidus @@ -305,11 +230,6 @@ return { }, }, - -- { - -- tweak = "staircase", - -- list = { - -- }, - -- }, { -- This one fakes margins to get larger/smaller accents -- with for example \widetilde. @@ -355,7 +275,6 @@ return { [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 @@ -364,7 +283,6 @@ return { [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 @@ -373,7 +291,6 @@ return { [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 @@ -387,9 +304,6 @@ return { { tweak = "fixprimes", factor = 0.825, - -- smaller = true, - -- scale = 1, - -- fake = 0.6, }, { tweak = "checkspacing", @@ -426,12 +340,6 @@ return { { tweak = "addequals", }, - -- { - -- tweak = "wipevariants", - -- list = { - -- 0x7C, - -- }, - -- }, -- this is the mkiv section { tweak = "emulatelmtx", @@ -441,98 +349,7 @@ return { }, }, 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/newcomputermodern-math.lfg b/tex/context/fonts/mkiv/newcomputermodern-math.lfg index bf818b077..4eb557221 100644 --- a/tex/context/fonts/mkiv/newcomputermodern-math.lfg +++ b/tex/context/fonts/mkiv/newcomputermodern-math.lfg @@ -56,6 +56,7 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { + -- Borrow values from lm: FractionNumeratorDisplayStyleShiftUp = function(value,target,original) local o = original.mathparameters.FractionNumeratorDisplayStyleShiftUp if o > 675 then @@ -69,16 +70,10 @@ return { NoLimitSubFactor = 1200, DelimiterPercent = 90, DelimiterShortfall = 400, - -- DisplayOperatorMinHeight = 1800, -- 1300 in font (only one) - -- Borrow values from lm: - -- SubSuperscriptGapMin = 160, -- 160 in font (4*ruleheight) SubscriptBaselineDropMin = 50, -- 200 in font (multiplied by 0.59999/2.39868) SubscriptShiftDown = 150, -- 247 in font (multiplied to be consistent with cm) SubscriptShiftDownWithSuperscript = 247, -- relates to the previous one (see math-act) - -- SubscriptTopMax = 344, -- 344 in font .8 exheight SuperscriptBaselineDropMax = 386, -- 250 in font (multiplied by 4.6333/2.99 (values in cm/values in lm)) - -- SuperscriptBottomMaxWithSubscript = 344, -- 344 in font .8 exheight - -- SuperscriptBottomMin = 108, -- 108 in font .25 exheight SuperscriptShiftUp = 413, -- 363 in font (multiplied with 4.9547/4.3536, got 413) SuperscriptShiftUpCramped = 413, -- 289 in font (no distinction, old TeX) PrimeShiftUp = "1.1*SuperscriptShiftUp", @@ -90,17 +85,10 @@ return { tweak = "version", expected = "Version 1.958", }, - { - tweak = "dimensions", - list = { - -- nothing yet - }, - }, { tweak = "fixprimes", factor = 0.825, smaller = true, - -- scale = 0.70, fake = 0.6, }, { diff --git a/tex/context/fonts/mkiv/pagella-math.lfg b/tex/context/fonts/mkiv/pagella-math.lfg index 4df58ad3b..c1d0c7dd5 100644 --- a/tex/context/fonts/mkiv/pagella-math.lfg +++ b/tex/context/fonts/mkiv/pagella-math.lfg @@ -13,30 +13,17 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 900, - AccentTopShiftUp = 10, - FlattenedAccentTopShiftUp = 10, - -- AccentExtendMargin = 50, - -- AccentBaseHeight = 0, - AccentBaseDepth = 80, - -- SpaceAfterScript = 0, - -- SpaceAfterScript = 30, - -- RadicalDegreeBottomRaisePercent = 60, - -- RadicalKernAfterDegree = -500, - -- RadicalRuleThickness = 54, -- 60 in font - DelimiterPercent = 90, - DelimiterShortfall = 400, - DisplayOperatorMinHeight = 1800, -- 1500 in font - -- RadicalKernAfterExtensible = 0, -- 0 default - -- RadicalKernBeforeExtensible = 0, -- 0 default - SuperscriptShiftUp = 386, -- 354 in font - SubscriptShiftDown = 200, -- 232 in font + AccentTopShiftUp = 10, + FlattenedAccentTopShiftUp = 10, + AccentBaseDepth = 80, + DelimiterPercent = 90, + DelimiterShortfall = 400, + DisplayOperatorMinHeight = 1800, -- 1500 in font + SuperscriptShiftUp = 386, -- 354 in font + SubscriptShiftDown = 200, -- 232 in font SubscriptShiftDownWithSuperscript = "1.4*SubscriptShiftDown", -- 1.5* in math-act - -- PrimeRaisePercent = 75, -- set to 0 in math-act - -- PrimeRaiseComposedPercent = 10, -- set to 0 in math-act - PrimeShiftUp = "1.3*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.3*SuperscriptShiftUp", + PrimeShiftUp = "1.3*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.3*SuperscriptShiftUp", }, tweaks = { aftercopying = { @@ -46,19 +33,13 @@ return { }, { tweak = "fixprimes", - -- factor = 0.7, factor = 0.8, - -- smaller = true, - -- scale = 1, - -- fake = 0.65, }, { tweak = "replacealphabets", feature = "euleroverpagella", filename = "euler-math.otf", list = { - -- { source = { first = 0x02100, last = 0x0210D } }, -- no 0x2210E - -- { source = { first = 0x0210F, last = 0x02BFF } }, { source = { first = 0x02100, last = 0x02BFF } }, { source = { first = 0x1D400, last = 0x1D7FF } }, { source = { first = 0x1D538, last = 0x1D550 } }, @@ -112,22 +93,12 @@ 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 = "radicaldegreeanchors", + list = { + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0.0, vfactor = 1.1 }, + } + }, { tweak = "fixaccents", }, @@ -151,16 +122,6 @@ return { 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.01, height = .95, all = true }, -- widedddot : 0x20DB (self) }, }, @@ -170,15 +131,12 @@ return { tweak = "copyaccents", }, -- So far for the accents. - { tweak = "fixslashes", }, - { tweak = "kerns", list = { - -- ["*:0x2F"] = { ... } [0x002F] = { topleft = -0.2, bottomright = -0.2 }, -- ["0x7D.parts.top"] = { topright = -0.15, }, -- right brace top @@ -202,15 +160,6 @@ return { ["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, }, }, { @@ -282,34 +231,3 @@ return { }, }, } - --- For now we keep these commented as they show where we came from. - --- { --- tweak = "dimensions", --- list = { -- offset width italic --- [0x020D7] = { yoffset = -0.05 }, -- vec --- [0x1D44E] = { xoffset = 0, width = 1, italic = 0, anchor = 0.9 }, -- a --- [0x1D44F] = { xoffset = 0, width = 1, italic = 0, anchor = 1.3 }, -- b --- [0x1D450] = { xoffset = 0, width = 1, italic = 0, anchor = 0.9 }, -- c --- [0x1D451] = { xoffset = 0, width = 1, italic = 0, anchor = 0.7 }, -- d --- [0x1D452] = { xoffset = 0, width = 1, italic = 0, anchor = 0.9 }, -- e --- [0x1D453] = { xoffset = 0.50, width = 1.70, italic = 0.6, anchor = 1.2 }, -- f --- [0x1D454] = { xoffset = 0.10, width = 1.15, italic = 0.2 }, -- g --- [0x0210E] = { xoffset = 0, width = 1, italic = 0, anchor = 1.3 }, -- h --- [0x1D458] = { xoffset = 0, width = 1, italic = 0, anchor = 1.3 }, -- k --- [0x1D459] = { xoffset = 0, width = 1, italic = 0, anchor = 0.9 }, -- l --- [0x1D45E] = { xoffset = 0, width = 1, italic = 0, anchor = 0.9 }, -- q --- [0x1D463] = { xoffset = 0, width = 1, italic = 0, anchor = 1.25 }, -- v --- [0x1D464] = { xoffset = 0, width = 1, italic = 0, anchor = 1.2 }, -- w --- [0x1D6FE] = { xoffset = 0, width = 1, italic = 0, anchor = 1.2 }, -- \gamma --- [0x1D706] = { xoffset = 0, width = 1, italic = 0, anchor = 1.05 }, -- \lambda --- [0x1D70A] = { xoffset = 0, width = 1, italic = 0, anchor = 1.2 }, -- \omicron --- [0x1D70D] = { xoffset = 0, width = 1, italic = 0, anchor = 1.2 }, -- \varsigma --- [0x1D70E] = { xoffset = 0, width = 1, italic = 0, anchor = 1.1 }, -- \sigma --- [0x1D70F] = { xoffset = -.10, width = 1, italic = 0, anchor = 0.95 }, -- \tau --- [0x1D712] = { xoffset = 0.1, width = 1.2, italic = 0.1 }, -- \chi --- [0x1D713] = { xoffset = -0.05, width = 0.95, italic = 0.1 }, -- \psi --- [0x1D71D] = { xoffset = 0, width = 1, italic = 0, anchor = 0.7 }, -- \varpi --- }, --- }, diff --git a/tex/context/fonts/mkiv/schola-math.lfg b/tex/context/fonts/mkiv/schola-math.lfg index d1711bce0..e4a3ad397 100644 --- a/tex/context/fonts/mkiv/schola-math.lfg +++ b/tex/context/fonts/mkiv/schola-math.lfg @@ -12,24 +12,15 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 900, - AccentTopShiftUp = -15, - FlattenedAccentTopShiftUp = -15, - -- AccentExtendMargin = 50, - -- AccentBaseHeight = 0, - AccentBaseDepth = 30, - -- RadicalDegreeBottomRaisePercent = 60, - -- RadicalKernAfterDegree = -500, - -- RadicalRuleThickness = 64, -- 70 in font - DelimiterPercent = 90, - DelimiterShortfall = 400, - DisplayOperatorMinHeight = 1800, -- 1333 in font - -- PrimeRaisePercent = 50, -- set to 0 in math-act - -- PrimeRaiseComposedPercent = 10, -- set to 0 in math-act - PrimeShiftUp = "1.35*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.35*SuperscriptShiftUp", - -- Can be improved: Smaller script and scriptscript, modified SuperShiftUp and SubShiftDown, ... + AccentTopShiftUp = -15, + FlattenedAccentTopShiftUp = -15, + AccentBaseDepth = 30, + DelimiterPercent = 90, + DelimiterShortfall = 400, + DisplayOperatorMinHeight = 1800, -- 1333 in font + PrimeShiftUp = "1.35*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.35*SuperscriptShiftUp", + -- Can be improved: Smaller script and scriptscript, modified SuperShiftUp and SubShiftDown, ... }, tweaks = { aftercopying = { @@ -39,8 +30,6 @@ return { }, { tweak = "fixprimes", - -- scale = 0.95, - -- smaller = true, factor = 0.74, }, { @@ -79,16 +68,6 @@ return { ["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, - }, }, @@ -98,22 +77,12 @@ 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 = "radicaldegreeanchors", + list = { + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0.05, vfactor = 1.1 }, + } + }, { tweak = "fixaccents", }, @@ -129,24 +98,7 @@ return { }, }, -- 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) - }, - }, + -- 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, -- if only because it is less confusing and more consistent. { @@ -176,7 +128,6 @@ return { }, { tweak = "addfourier", - -- scale = 1.25, variant = 1, }, { diff --git a/tex/context/fonts/mkiv/stixtwo-math.lfg b/tex/context/fonts/mkiv/stixtwo-math.lfg index dadc70067..b6b1757b6 100644 --- a/tex/context/fonts/mkiv/stixtwo-math.lfg +++ b/tex/context/fonts/mkiv/stixtwo-math.lfg @@ -28,24 +28,14 @@ return { circled = { feature = 'ss16', value = 1, comment = "Mathematical Alternative Circled Operators" }, }, parameters = { - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 1000, - -- AccentBaseHeight = 0, - AccentBaseDepth = 30, - FlattenedAccentTopShiftUp = 0, - -- AccentExtendMargin = 50, - -- RadicalDegreeBottomRaisePercent = 65, - -- RadicalKernBeforeDegree = 500, - RadicalKernAfterDegree = -500, - -- RadicalVerticalGap = 10, - -- RadicalRuleThickness = 68, -- 68 in font (but shifted down) - DelimiterPercent = 90, - DelimiterShortfall = 400, - DisplayOperatorMinHeight = 1800, -- 1800 in font - -- PrimeRaisePercent = 75, -- set to 0 in math-act - -- PrimeRaiseComposedPercent = 10, -- set to 0 in math-act - PrimeShiftUp = "1.3*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.3*SuperscriptShiftUp", + AccentBaseDepth = 30, + FlattenedAccentTopShiftUp = 0, + RadicalKernAfterDegree = -500, + DelimiterPercent = 90, + DelimiterShortfall = 400, + DisplayOperatorMinHeight = 1800, -- 1800 in font + PrimeShiftUp = "1.3*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.3*SuperscriptShiftUp", }, tweaks = { aftercopying = { @@ -96,7 +86,6 @@ return { [0x002F] = { topleft = -0.2, bottomright = -0.2 }, ["0x7D.parts.top"] = { topright = -0.15, }, -- right brace top ["0x7D.parts.bottom"] = { bottomright = -0.15 }, -- right brace bottom - -- ["0x7D.variants.*"] = { topright = -0.15, bottomright = -0.15 }, -- 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.2, bottomright = -0.2 }, -- right parenthesis variants @@ -109,18 +98,6 @@ return { ["0x27EB.variants.*"] = { topright = -0.2, bottomright = -0.2 }, -- ["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 @@ -129,23 +106,15 @@ 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 = "radicaldegreeanchors", + list = { + [0x221A] = { location = "left", hfactor = 0.00, vfactor = 0.7 }, + ["0x221A.variants.*"] = { location = "left", hfactor = 0.00, vfactor = 0.55 }, + ["0x221A.variants.3"] = { location = "left", hfactor = 0.00, vfactor = .525 }, + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0.05, vfactor = 1.00 }, + } + }, { tweak = "fixaccents", @@ -167,16 +136,6 @@ return { 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.025, height = .95, all = true }, -- widedddot : 0x20DB (self) }, }, @@ -226,7 +185,6 @@ return { template = 0x2192, sequence = { { glyph = "first", factor = 2 }, --- { glyph = 0x2022 }, { glyph = 0x2218 }, { glyph = "first", factor = 2 }, { glyph = "last" }, diff --git a/tex/context/fonts/mkiv/termes-math.lfg b/tex/context/fonts/mkiv/termes-math.lfg index cff3090a9..d9c53ee28 100644 --- a/tex/context/fonts/mkiv/termes-math.lfg +++ b/tex/context/fonts/mkiv/termes-math.lfg @@ -12,27 +12,17 @@ return { copyright = "ConTeXt development team", mathematics = { parameters = { - -- NoLimitSupFactor = 0, - -- NoLimitSubFactor = 900, - AccentTopShiftUp = -15, - FlattenedAccentTopShiftUp = -15, - -- AccentExtendMargin = 50, - -- AccentBaseHeight = 0, - AccentBaseDepth = 50, - -- RadicalDegreeBottomRaisePercent = 60, - -- RadicalRuleThickness = 46, -- 52 in font - DelimiterPercent = 90, - DelimiterShortfall = 400, - DisplayOperatorMinHeight = 1800, -- 1300 in font (only one) - -- ScriptPercentScaleDown = 70, -- 74 in font (set in typescript) - -- ScriptScriptPercentScaleDown = 50, -- 50 in font (set in typescript) - SuperscriptShiftUp = 310, -- 339 - SubscriptShiftDown = 200, -- 222 - SubscriptShiftDownWithSuperscript = "1.4*SubscriptShiftDown", -- 1.5* in math-act - -- PrimeRaisePercent = 60, -- set to 0 in math-act - -- PrimeRaiseComposedPercent = 10, -- set to 0 in math-act - PrimeShiftUp = "1.35*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.35*SuperscriptShiftUp", + AccentTopShiftUp = -15, + FlattenedAccentTopShiftUp = -15, + AccentBaseDepth = 50, + DelimiterPercent = 90, + DelimiterShortfall = 400, + DisplayOperatorMinHeight = 1800, -- 1300 in font (only one) + SuperscriptShiftUp = 310, -- 339 + SubscriptShiftDown = 200, -- 222 + SubscriptShiftDownWithSuperscript = "1.40*SubscriptShiftDown", -- 1.5* in math-act + PrimeShiftUp = "1.35*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.35*SuperscriptShiftUp", }, tweaks = { aftercopying = { @@ -42,8 +32,6 @@ return { }, { tweak = "fixprimes", - -- scale = 0.9, - -- smaller = true, factor = 0.76, }, { @@ -84,15 +72,6 @@ return { ["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 @@ -101,22 +80,14 @@ 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 = "radicaldegreeanchors", + list = { + [0x221A] = { location = "left", hfactor = 0.0, vfactor = 0.6 }, + ["0x221A.variants.*"] = { location = "left", hfactor = 0.0, vfactor = 0.6 }, + ["0x221A.parts.bottom"] = { location = "left", hfactor = 0.05, vfactor = 1.1 }, + } + }, { tweak = "fixaccents", }, @@ -132,24 +103,7 @@ return { }, }, -- 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) - }, - }, + -- 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, -- if only because it is less confusing and more consistent. { @@ -175,6 +129,9 @@ return { { tweak = "addactuarian", }, + { + tweak = "addprimed", + }, { tweak = "addequals", }, @@ -198,27 +155,3 @@ return { }, }, } - --- For now we keep these commented as they show where we came from. - --- Do a testrun with hats on these: --- --- { --- tweak = "dimensions", --- list = { --- [0x1D44F] = { width = 1, italic = 0, anchor = 1.3 }, -- b --- [0x1D451] = { width = 1, italic = 0, anchor = 0.8 }, -- d --- [0x1D452] = { width = 1, italic = 0, anchor = 0.9 }, -- e --- [0x0210E] = { width = 1, italic = 0, anchor = 1.3 }, -- h --- [0x1D458] = { width = 1, italic = 0, anchor = 1.3 }, -- k --- [0x1D453] = { xoffset = 0.6, width = 1.4, italic = 1.2, anchor = 1.5 }, -- f --- [0x1D457] = { xoffset = 0.5, width = 1.3, italic = 1.7 }, -- j --- [0x1D45D] = { xoffset = 0.15, width = 1.15, italic = 0, anchor = 1.4 }, -- p --- [0x1D45E] = { width = 1, italic = 0, anchor = 0.9 }, -- q --- [0x1D464] = { width = 1, italic = 0, anchor = 1.1 }, -- w --- [0x1D6FE] = { width = 1, italic = 0, anchor = 1.1 }, -- \gamma --- [0x1D706] = { width = 1, italic = 0, anchor = 1.05 }, -- \lambda --- [0x1D70A] = { width = 1, italic = 0, anchor = 1.2 }, -- \omicron --- [0x1D70F] = { width = 1, italic = 0, anchor = 1.05 }, -- \tau --- }, --- }, diff --git a/tex/context/fonts/mkiv/xcharter-math.lfg b/tex/context/fonts/mkiv/xcharter-math.lfg index c91ea6fa7..1ff5d41d8 100644 --- a/tex/context/fonts/mkiv/xcharter-math.lfg +++ b/tex/context/fonts/mkiv/xcharter-math.lfg @@ -12,40 +12,21 @@ return { 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) - SubscriptShiftDown = 200, -- 300 in font - SubscriptShiftDownWithSuperscript = "1.3*SubscriptShiftDown", -- 1.5* in math-act - PrimeShiftUp = "1.2*SuperscriptShiftUp", - PrimeShiftUpCramped = "1.2*SuperscriptShiftUp", + SubscriptShiftDown = 200, -- 300 in font + SubscriptShiftDownWithSuperscript = "1.3*SubscriptShiftDown", -- 1.5* in math-act + PrimeShiftUp = "1.2*SuperscriptShiftUp", + PrimeShiftUpCramped = "1.2*SuperscriptShiftUp", + PrimeBaselineDropMax = "0.5*SuperscriptBaselineDropMax", }, tweaks = { aftercopying = { { tweak = "fixprimes", factor = 0.92, - -- scale = 1, }, { tweak = "addmirrors", }, -{ - tweak = "dimensions", - list = { - -- ["0x222B.variants.*"] = { axis = 0.15 }, - }, -}, -{ - -- tweak = "fixintegrals", -}, presets.scripttocalligraphic { }, presets.rsfstoscript { }, presets.rsfsuprighttoscript { }, @@ -78,23 +59,12 @@ return { [0x00393] = { bottomright = -0.20, }, -- upright Gamma }, }, -{ - 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 = "radicaldegreeanchors", + list = { + ["0x221A.parts.bottom"] = { location = "left", hfactor = .1, vfactor = 1.025 }, + } + }, { tweak = "checkspacing", }, @@ -113,6 +83,9 @@ return { { tweak = "addequals", }, + { + tweak = "addprimed", + }, { tweak = "addfourier", variant = 2, @@ -121,12 +94,6 @@ return { tweak = "setoptions", -- set = { "ignorekerndimensions" } }, - -- this is the mkiv section --- { --- tweak = "emulatelmtx", --- feature = "emulatelmtx", --- comment = "this is for mkiv", --- }, }, }, bigslots = { diff --git a/tex/context/modules/mkxl/s-braille-basic.mkxl b/tex/context/modules/mkxl/s-braille-basic.mkxl index 0a10f6ad6..aac6dc207 100644 --- a/tex/context/modules/mkxl/s-braille-basic.mkxl +++ b/tex/context/modules/mkxl/s-braille-basic.mkxl @@ -119,7 +119,7 @@ \startsection[title=Four] - Here is some simple inline math: \formula {$x_2 = 10 \neq \alpha$} and here is + Here is some simple inline math: \formula {x_2 = 10 \neq \alpha} and here is some (quick and dirty) display: \startformula diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 53cd64c67..4bc9e13a2 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 2022-12-05 18:49 +-- merge date : 2022-12-07 20:21 do -- begin closure to overcome local limits and interference @@ -927,7 +927,7 @@ if not modules then modules={} end modules ['l-string']={ license="see context related readme files" } local string=string -local sub,gmatch,format,char,byte,rep,lower=string.sub,string.gmatch,string.format,string.char,string.byte,string.rep,string.lower +local sub,gmatch,format,char,byte,rep,lower,find=string.sub,string.gmatch,string.format,string.char,string.byte,string.rep,string.lower,string.find local lpegmatch,patterns=lpeg.match,lpeg.patterns local P,S,C,Ct,Cc,Cs=lpeg.P,lpeg.S,lpeg.C,lpeg.Ct,lpeg.Cc,lpeg.Cs local unquoted=patterns.squote*C(patterns.nosquote)*patterns.squote+patterns.dquote*C(patterns.nodquote)*patterns.dquote @@ -937,10 +937,18 @@ end function string.quoted(str) return format("%q",str) end -function string.count(str,pattern) +function string.count(str,pattern) local n=0 - for _ in gmatch(str,pattern) do - n=n+1 + local i=1 + local l=#pattern + while true do + i=find(str,pattern,i) + if i then + n=n+1 + i=i+l + else + break + end end return n end -- cgit v1.2.3