summaryrefslogtreecommitdiff
path: root/tex/context/fonts
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/fonts')
-rw-r--r--tex/context/fonts/mkiv/bonum-math.lfg7
-rw-r--r--tex/context/fonts/mkiv/cambria-math.lfg15
-rw-r--r--tex/context/fonts/mkiv/lm-math.lfg6
-rw-r--r--tex/context/fonts/mkiv/lm.lfg2
-rw-r--r--tex/context/fonts/mkiv/lucida-opentype-math.lfg25
-rw-r--r--tex/context/fonts/mkiv/pagella-math.lfg10
-rw-r--r--tex/context/fonts/mkiv/px-math.lfg5
-rw-r--r--tex/context/fonts/mkiv/stix-two-math.lfg39
-rw-r--r--tex/context/fonts/mkiv/termes-math.lfg7
-rw-r--r--tex/context/fonts/mkiv/type-imp-dejavu.mkiv24
-rw-r--r--tex/context/fonts/mkiv/type-imp-ebgaramond.mkiv4
-rw-r--r--tex/context/fonts/mkiv/type-imp-gofonts.mkiv47
-rw-r--r--tex/context/fonts/mkiv/type-imp-libertine.mkiv14
-rw-r--r--tex/context/fonts/mkiv/type-imp-mscore.mkiv68
-rw-r--r--tex/context/fonts/mkiv/type-imp-texgyre.mkiv4
-rw-r--r--tex/context/fonts/mkiv/type-imp-xits.mkiv12
-rw-r--r--tex/context/fonts/mkiv/unifraktur.lfg2
-rw-r--r--tex/context/fonts/mkiv/xits-math.lfg10
18 files changed, 256 insertions, 45 deletions
diff --git a/tex/context/fonts/mkiv/bonum-math.lfg b/tex/context/fonts/mkiv/bonum-math.lfg
index 00576aaef..8dfa63405 100644
--- a/tex/context/fonts/mkiv/bonum-math.lfg
+++ b/tex/context/fonts/mkiv/bonum-math.lfg
@@ -8,8 +8,13 @@ return {
author = "Hans Hagen",
copyright = "ConTeXt development team",
mathematics = {
+ dimensions = {
+ default = {
+ [0x1D453] = { xoffset = "llx" },-- 𝑓
+ },
+ },
kerns = {
- [0x1D449] = kern_200, --
+ [0x1D449] = kern_200, -- 𝑉
[0x1D44A] = kern_100, -- 𝑊
},
alternates = {
diff --git a/tex/context/fonts/mkiv/cambria-math.lfg b/tex/context/fonts/mkiv/cambria-math.lfg
index ae875e64d..c18854d18 100644
--- a/tex/context/fonts/mkiv/cambria-math.lfg
+++ b/tex/context/fonts/mkiv/cambria-math.lfg
@@ -50,5 +50,20 @@ return {
-- [0x1D44F] = 1000, -- 𝑎𝑏 demo
-- }
-- },
+ -- kerns = {
+ -- [0x1D453] = {
+ -- force = true,
+ -- topright = {
+ -- {
+ -- kern = 1000,
+ -- },
+ -- },
+ -- bottomright = {
+ -- {
+ -- kern = 1000,
+ -- },
+ -- },
+ -- },
+ -- },
},
}
diff --git a/tex/context/fonts/mkiv/lm-math.lfg b/tex/context/fonts/mkiv/lm-math.lfg
index b8c996979..a0fd2c21c 100644
--- a/tex/context/fonts/mkiv/lm-math.lfg
+++ b/tex/context/fonts/mkiv/lm-math.lfg
@@ -30,9 +30,9 @@
-- end
-- end
--
--- patches.register("after","prepare glyphs","^lmroman", patch)
--- patches.register("after","prepare glyphs","^lmsans", patch)
--- patches.register("after","prepare glyphs","^lmtypewriter",patch)
+-- patches.register("before","check extra features","^lmroman", patch)
+-- patches.register("before","check extra features","^lmsans", patch)
+-- patches.register("before","check extra features","^lmtypewriter",patch)
-- rm-lmr5 : LMMathRoman5-Regular
-- rm-lmbx5 : LMMathRoman5-Bold ]
diff --git a/tex/context/fonts/mkiv/lm.lfg b/tex/context/fonts/mkiv/lm.lfg
index aebedd01b..ec37a2975 100644
--- a/tex/context/fonts/mkiv/lm.lfg
+++ b/tex/context/fonts/mkiv/lm.lfg
@@ -34,6 +34,8 @@ return {
height = 960,
depth = 40,
},
+ -- [0xFE932] = { xoffset = 50, width = 290 }, -- used prime
+ -- [0x2032] = { xoffset = 50, width = 290 }, -- prime
},
signs = {
-- set dimensions
diff --git a/tex/context/fonts/mkiv/lucida-opentype-math.lfg b/tex/context/fonts/mkiv/lucida-opentype-math.lfg
index 29206da1a..7596f139a 100644
--- a/tex/context/fonts/mkiv/lucida-opentype-math.lfg
+++ b/tex/context/fonts/mkiv/lucida-opentype-math.lfg
@@ -1,5 +1,16 @@
----- kern_250 = { bottomright = { { kern = -250 } }, force = true }
+-- RadicalVerticalGap = 50
+-- RadicalDisplayStyleVerticalGap = 175
+
+-- RadicalVerticalGap = 166
+-- RadicalDisplayStyleVerticalGap = 345
+
+local function FixRadicalDisplayStyleVerticalGap(value,target,original)
+ local o = original.mathparameters.RadicalVerticalGap -- 50
+ return 2 * o * target.parameters.factor
+end
+
return {
name = "lucida-opentype-math",
version = "1.00",
@@ -7,6 +18,9 @@ return {
author = "Hans Hagen",
copyright = "ConTeXt development team",
mathematics = {
+ parameters = {
+ RadicalDisplayStyleVerticalGap = FixRadicalDisplayStyleVerticalGap,
+ },
alternates = {
italic = { feature = 'ss01', value = 1, comment = "Mathematical Alternative Lowercase Italic" },
arrow = { feature = 'ss02', value = 1, comment = "Mathematical Alternative Smaller Arrows" },
@@ -21,7 +35,16 @@ return {
-- },
dimensions = {
default = { -- experimental values
- [0x2044] = { xoffset = 275, width = 600 },
+ [0x02044] = { xoffset = 275, width = 600 },
+ -- primes
+ [0xFE932] = { width = 200 },
+ [0xFE933] = { width = 500 },
+ [0xFE934] = { width = 800 },
+ [0xFE935] = { width = 1100 },
+ -- reverse primes
+ [0xFE935] = { width = 200 },
+ [0xFE936] = { width = 500 },
+ [0xFE937] = { width = 800 },
},
},
},
diff --git a/tex/context/fonts/mkiv/pagella-math.lfg b/tex/context/fonts/mkiv/pagella-math.lfg
index 40d50383b..c85ff3f6b 100644
--- a/tex/context/fonts/mkiv/pagella-math.lfg
+++ b/tex/context/fonts/mkiv/pagella-math.lfg
@@ -1,6 +1,8 @@
local kern_200 = { bottomright = { { kern = -200 } } }
local kern_100 = { bottomright = { { kern = -100 } } }
+-- Beware of updates !
+
return {
name = "pagella-math",
version = "1.00",
@@ -8,8 +10,14 @@ return {
author = "Hans Hagen",
copyright = "ConTeXt development team",
mathematics = {
+ dimensions = {
+ default = {
+ -- [0x1D453] = { xoffset = 162, width = 278 + 162 },-- 𝑓
+ [0x1D453] = { xoffset = "llx" },-- 𝑓
+ },
+ },
kerns = {
- [0x1D449] = kern_200, --
+ [0x1D449] = kern_200, -- 𝑉
[0x1D44A] = kern_100, -- 𝑊
},
alternates = {
diff --git a/tex/context/fonts/mkiv/px-math.lfg b/tex/context/fonts/mkiv/px-math.lfg
index 14f71dad3..08d208b3f 100644
--- a/tex/context/fonts/mkiv/px-math.lfg
+++ b/tex/context/fonts/mkiv/px-math.lfg
@@ -10,8 +10,9 @@ return {
},
virtuals = {
["px-math"] = {
- { name = "texgyre-pagella-math-regular.otf", features = "virtualmath", main = true },
- { name = "texgyrepagella-regular.otf", features = "virtualmath", vector = "tex-mr-missing" } ,
+-- { name = "texgyre-pagella-math-regular.otf", features = "virtualmath", main = true },
+-- { name = "texgyrepagella-regular.otf", features = "virtualmath", vector = "tex-mr-missing" } ,
+ { name = "texgyrepagella-regular.otf", features = "virtualmath" } ,
{ name = "rpxr.tfm", vector = "tex-mr" } ,
{ name = "rpxmi.tfm", vector = "tex-mi", skewchar=0x7F },
{ name = "rpxpplri.tfm", vector = "tex-it", skewchar=0x7F },
diff --git a/tex/context/fonts/mkiv/stix-two-math.lfg b/tex/context/fonts/mkiv/stix-two-math.lfg
index ded97f92e..8d9c9c71a 100644
--- a/tex/context/fonts/mkiv/stix-two-math.lfg
+++ b/tex/context/fonts/mkiv/stix-two-math.lfg
@@ -1,3 +1,34 @@
+-- Bah, I really hate these patches especially because one needs to make
+-- sure that they are still valid when the font gets updated. So, let's
+-- do it runtime (not in the cached copy) and issue a warning every run.
+-- As we cannot rely on version numbers (if we have more patches) we
+-- check for values instead.
+--
+-- This font also has inconsistent italics in smaller sizes which we can
+-- fix in a more general way but I'm not sure if we want that.
+
+local function fix_italic(target,original,name,value,factor)
+ local m = target.parameters.mathsize
+ if m then
+ local u = type(name) == "number" and name or original.resources.unicodes[name]
+ if u then
+ local c = target.characters[u]
+ if c then
+ local i = c.italic
+ if i then
+ local d = original.descriptions[u]
+ if d and d.math.italic == value then
+ if m then
+ logs.report("patching font","fixing italic correction of %U at math size %i by %0.3f",u,m,factor)
+ c.italic = factor * i
+ end
+ end
+ end
+ end
+ end
+ end
+end
+
return {
name = "stix-two-math",
version = "1.00",
@@ -21,6 +52,14 @@ return {
-- todo = { feature = 'ss14', value = 1, comment = "" },
circled = { feature = 'ss16', value = 1, comment = "Mathematical Alternative Circled Operators" },
},
+ tweaks = {
+ aftercopying = {
+ function(target,original)
+ fix_italic(target,original,"uni222B.updsp",80,3.5)
+ fix_italic(target,original,"uni222B.up", 80,2.5)
+ end,
+ },
+ },
},
}
diff --git a/tex/context/fonts/mkiv/termes-math.lfg b/tex/context/fonts/mkiv/termes-math.lfg
index 557216cb1..1501fd536 100644
--- a/tex/context/fonts/mkiv/termes-math.lfg
+++ b/tex/context/fonts/mkiv/termes-math.lfg
@@ -8,8 +8,13 @@ return {
author = "Hans Hagen",
copyright = "ConTeXt development team",
mathematics = {
+ dimensions = {
+ default = {
+ [0x1D453] = { xoffset = "llx" },-- 𝑓
+ },
+ },
kerns = {
- [0x1D449] = kern_200, --
+ [0x1D449] = kern_200, -- 𝑉
[0x1D44A] = kern_100, -- 𝑊
},
alternates = {
diff --git a/tex/context/fonts/mkiv/type-imp-dejavu.mkiv b/tex/context/fonts/mkiv/type-imp-dejavu.mkiv
index 710aada5d..582d8a764 100644
--- a/tex/context/fonts/mkiv/type-imp-dejavu.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-dejavu.mkiv
@@ -17,26 +17,26 @@
\starttypescript [\s!serif] [dejavu] [\s!name]
\setups[\s!font:\s!fallback:\s!serif]
- \definefontsynonym [\s!Serif] [\s!name:dejavuserif] [\s!features=\s!default]
- \definefontsynonym [\s!SerifBold] [\s!name:dejavuserifbold] [\s!features=\s!default]
- \definefontsynonym [\s!SerifItalic] [\s!name:dejavuserifitalic] [\s!features=\s!default]
- \definefontsynonym [\s!SerifBoldItalic] [\s!name:dejavuserifbolditalic] [\s!features=\s!default]
+ \definefontsynonym [\s!Serif] [\s!name:dejavuserif] [\s!features=\s!default,\s!fallbacks=\s!Serif]
+ \definefontsynonym [\s!SerifBold] [\s!name:dejavuserifbold] [\s!features=\s!default,\s!fallbacks=\s!SerifBold]
+ \definefontsynonym [\s!SerifItalic] [\s!name:dejavuserifitalic] [\s!features=\s!default,\s!fallbacks=\s!SerifItalic]
+ \definefontsynonym [\s!SerifBoldItalic] [\s!name:dejavuserifbolditalic] [\s!features=\s!default,\s!fallbacks=\s!SerifBoldItalic]
\stoptypescript
\starttypescript [\s!sans] [dejavu] [\s!name]
\setups[\s!font:\s!fallback:\s!sans]
- \definefontsynonym [\s!Sans] [\s!name:dejavusans] [\s!features=\s!default]
- \definefontsynonym [\s!SansBold] [\s!name:dejavusansbold] [\s!features=\s!default]
- \definefontsynonym [\s!SansItalic] [\s!name:dejavusansoblique] [\s!features=\s!default]
- \definefontsynonym [\s!SansBoldItalic] [\s!name:dejavusansboldoblique] [\s!features=\s!default]
+ \definefontsynonym [\s!Sans] [\s!name:dejavusans] [\s!features=\s!default,\s!fallbacks=\s!Sans]
+ \definefontsynonym [\s!SansBold] [\s!name:dejavusansbold] [\s!features=\s!default,\s!fallbacks=\s!SansBold]
+ \definefontsynonym [\s!SansItalic] [\s!name:dejavusansoblique] [\s!features=\s!default,\s!fallbacks=\s!SansItalic]
+ \definefontsynonym [\s!SansBoldItalic] [\s!name:dejavusansboldoblique] [\s!features=\s!default,\s!fallbacks=\s!SansBoldItalic]
\stoptypescript
\starttypescript [\s!mono] [dejavu] [\s!name]
\setups[\s!font:\s!fallback:\s!mono]
- \definefontsynonym [\s!Mono] [\s!name:dejavusansmono] [\s!features=\s!none]
- \definefontsynonym [\s!MonoBold] [\s!name:dejavusansmonobold] [\s!features=\s!none]
- \definefontsynonym [\s!MonoItalic] [\s!name:dejavusansmonooblique] [\s!features=\s!none]
- \definefontsynonym [\s!MonoBoldItalic] [\s!name:dejavusansmonoboldoblique] [\s!features=\s!none]
+ \definefontsynonym [\s!Mono] [\s!name:dejavusansmono] [\s!features=\s!none,\s!fallbacks=\s!Mono]
+ \definefontsynonym [\s!MonoBold] [\s!name:dejavusansmonobold] [\s!features=\s!none,\s!fallbacks=\s!MonoBold]
+ \definefontsynonym [\s!MonoItalic] [\s!name:dejavusansmonooblique] [\s!features=\s!none,\s!fallbacks=\s!MonoItalic]
+ \definefontsynonym [\s!MonoBoldItalic] [\s!name:dejavusansmonoboldoblique] [\s!features=\s!none,\s!fallbacks=\s!MonoBoldItalic]
\stoptypescript
\starttypescript [\s!math][dejavu][\s!name]
diff --git a/tex/context/fonts/mkiv/type-imp-ebgaramond.mkiv b/tex/context/fonts/mkiv/type-imp-ebgaramond.mkiv
index cd474242f..bba07f41d 100644
--- a/tex/context/fonts/mkiv/type-imp-ebgaramond.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-ebgaramond.mkiv
@@ -40,8 +40,8 @@
\starttypescript[ebgaramond]
\definetypeface [ebgaramond] [rm] [serif] [ebgaramond] [default] [designsize=auto]
- \definetypeface [ebgaramond] [tt] [mono] [dejavu] [default]
- \definetypeface [ebgaramond] [mm] [math] [bonum] [default]
+ \definetypeface [ebgaramond] [tt] [mono] [dejavu] [default] [rscale=0.8] % rather arbitrary but seldom mixed anyway
+ \definetypeface [ebgaramond] [mm] [math] [bonum] [default] [rscale=0.8] % rather arbitrary but seldom mixed anyway
\stoptypescript
\stoptypescriptcollection
diff --git a/tex/context/fonts/mkiv/type-imp-gofonts.mkiv b/tex/context/fonts/mkiv/type-imp-gofonts.mkiv
new file mode 100644
index 000000000..632021674
--- /dev/null
+++ b/tex/context/fonts/mkiv/type-imp-gofonts.mkiv
@@ -0,0 +1,47 @@
+%D \module
+%D [ file=type-imp-gofonts,
+%D version=2017.06.13,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Go fonts,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\starttypescriptcollection[gofonts]
+
+ \starttypescript [\s!serif] [gofonts] [\s!name]
+ \setups[\s!font:\s!fallback:\s!serif]
+ \definefontsynonym [\s!Serif] [\s!name:goregular] [\s!features=\s!default]
+ \definefontsynonym [\s!SerifBold] [\s!name:gobold] [\s!features=\s!default]
+ \definefontsynonym [\s!SerifItalic] [\s!name:goitalic] [\s!features=\s!default]
+ \definefontsynonym [\s!SerifBoldItalic] [\s!name:gobolditalic] [\s!features=\s!default]
+ \stoptypescript
+
+ \starttypescript [\s!sans] [gofonts] [\s!name]
+ \setups[\s!font:\s!fallback:\s!sans]
+ \definefontsynonym [\s!Sans] [\s!name:goregular] [\s!features=\s!default]
+ \definefontsynonym [\s!SansBold] [\s!name:gobold] [\s!features=\s!default]
+ \definefontsynonym [\s!SansItalic] [\s!name:goitalic] [\s!features=\s!default]
+ \definefontsynonym [\s!SansBoldItalic] [\s!name:gobolditalic] [\s!features=\s!default]
+ \stoptypescript
+
+ \starttypescript [\s!mono] [gofonts] [\s!name]
+ \setups[\s!font:\s!fallback:\s!mono]
+ \definefontsynonym [\s!Mono] [\s!name:gomono] [\s!features=\s!none]
+ \definefontsynonym [\s!MonoBold] [\s!name:gomonobold] [\s!features=\s!none]
+ \definefontsynonym [\s!MonoItalic] [\s!name:gomoitalic] [\s!features=\s!none]
+ \definefontsynonym [\s!MonoBoldItalic] [\s!name:gomobolditalic] [\s!features=\s!none]
+ \stoptypescript
+
+ \starttypescript[gofonts]
+ \definetypeface [gofonts] [\s!rm] [\s!serif] [gofonts] [\s!default]
+ \definetypeface [gofonts] [\s!ss] [\s!sans] [gofonts] [\s!default]
+ \definetypeface [gofonts] [\s!tt] [\s!mono] [gofonts] [\s!default]
+ \definetypeface [gofonts] [\s!mm] [\s!math] [gofonts] [\s!default]
+ \stoptypescript
+
+\stoptypescriptcollection
diff --git a/tex/context/fonts/mkiv/type-imp-libertine.mkiv b/tex/context/fonts/mkiv/type-imp-libertine.mkiv
index 4620995b9..4fac1a6aa 100644
--- a/tex/context/fonts/mkiv/type-imp-libertine.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-libertine.mkiv
@@ -47,12 +47,13 @@
\starttypescript [\s!sans] [biolinum] [\s!name]
\setups[\s!font:\s!fallback:\s!sans]
- \definefontsynonym [\s!Sans] [Biolinum-Regular] [\s!features=\s!default]
- \definefontsynonym [\s!SansBold] [Biolinum-Bold] [\s!features=\s!default]
- \definefontsynonym [\s!SansItalic] [Biolinum-Italic] [\s!features=\s!default]
- \definefontsynonym [\s!SansSlanted] [Biolinum-Slanted] [\s!features=\s!default]
- \definefontsynonym [\s!SansBoldItalic] [Biolinum-BoldSlanted] [\s!features=\s!default]
- \definefontsynonym [SansCaps] [Biolinum-Regular] [\s!features=\s!smallcaps]
+ \definefontsynonym [\s!Sans] [Biolinum-Regular] [\s!features=\s!default]
+ \definefontsynonym [\s!SansBold] [Biolinum-Bold] [\s!features=\s!default]
+ \definefontsynonym [\s!SansItalic] [Biolinum-Italic] [\s!features=\s!default]
+ \definefontsynonym [\s!SansSlanted] [Biolinum-Slanted] [\s!features=\s!default]
+ \definefontsynonym [\s!SansBoldItalic] [Biolinum-BoldSlanted] [\s!features=\s!default]
+ \definefontsynonym [\s!SansBoldSlanted] [Biolinum-BoldSlanted] [\s!features=\s!default]
+ \definefontsynonym [SansCaps] [Biolinum-Regular] [\s!features=\s!smallcaps]
\stoptypescript
\starttypescript [libertine]
@@ -60,6 +61,7 @@
\definetypeface [libertine] [\s!ss] [\s!sans] [biolinum] [\s!default]
\definetypeface [libertine] [\s!tt] [\s!mono] [default] [\s!default]
%definetypeface [libertine] [\s!mm] [\s!math] [times] [\s!default]
+ \definetypeface [libertine] [\s!mm] [\s!math] [default] [\s!default]
\quittypescriptscanning
\stoptypescript
diff --git a/tex/context/fonts/mkiv/type-imp-mscore.mkiv b/tex/context/fonts/mkiv/type-imp-mscore.mkiv
index 971a03de7..d4aeec10d 100644
--- a/tex/context/fonts/mkiv/type-imp-mscore.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-mscore.mkiv
@@ -56,17 +56,17 @@
\stoptypescript
\starttypescript[mscore]
- \definetypeface [mscore] [\s!rm] [\s!serif] [mscoretimes] [\s!default]
- \definetypeface [mscore] [\s!ss] [\s!sans] [mscorearial] [\s!default] [\s!rscale=0.860]
- \definetypeface [mscore] [\s!tt] [\s!mono] [mscorecourier] [\s!default] [\s!rscale=1.065]
- \definetypeface [mscore] [\s!mm] [\s!math] [times] [\s!default] [\s!rscale=1.020]
+ \definetypeface [\typescriptone] [\s!rm] [\s!serif] [mscoretimes] [\s!default]
+ \definetypeface [\typescriptone] [\s!ss] [\s!sans] [mscorearial] [\s!default] [\s!rscale=0.860]
+ \definetypeface [\typescriptone] [\s!tt] [\s!mono] [mscorecourier] [\s!default] [\s!rscale=1.065]
+ \definetypeface [\typescriptone] [\s!mm] [\s!math] [times] [\s!default] [\s!rscale=1.020]
\stoptypescript
- \starttypescript[mscorenarrow]
- \definetypeface [mscorenarrow] [\s!rm] [\s!serif] [mscoretimes] [\s!default]
- \definetypeface [mscorenarrow] [\s!ss] [\s!sans] [mscorearialnarrow] [\s!default] [\s!rscale=0.860]
- \definetypeface [mscorenarrow] [\s!tt] [\s!mono] [mscorecourier] [\s!default] [\s!rscale=1.065]
- \definetypeface [mscorenarrow] [\s!mm] [\s!math] [times] [\s!default] [\s!rscale=1.020]
+ \starttypescript[mscorenarrow,mscore-narrow]
+ \definetypeface [\typescriptone] [\s!rm] [\s!serif] [mscoretimes] [\s!default]
+ \definetypeface [\typescriptone] [\s!ss] [\s!sans] [mscorearialnarrow] [\s!default] [\s!rscale=0.860]
+ \definetypeface [\typescriptone] [\s!tt] [\s!mono] [mscorecourier] [\s!default] [\s!rscale=1.065]
+ \definetypeface [\typescriptone] [\s!mm] [\s!math] [times] [\s!default] [\s!rscale=1.020]
\stoptypescript
% \starttypescript[mscoress]
@@ -77,3 +77,53 @@
% \stoptypescript
\stoptypescriptcollection
+
+% http://archive1.village.virginia.edu/spw4s/fonts/
+
+\starttypescriptcollection[microsoft-chinese-old]
+
+ % \starttypescript [\s!serif] [mschinese,mschinese-light]
+ % \definefontsynonym [STSong] [\s!file:stsong.ttf] [\s!features=chinese]
+ % \definefontsynonym [STKaiti] [\s!file:stkaiti.ttf] [\s!features=chinese]
+ % \definefontsynonym [STZHongsong] [\s!file:stzhongs.ttf] [\s!features=chinese]
+ % \definefontsynonym [STFangsong] [\s!file:stfangso.ttf] [\s!features=chinese]
+ % \stoptypescript
+
+ % \starttypescript [\s!sans] [mschinese]
+ % \definefontsynonym [STXIHei] [\s!file:stxihei.ttf] [\s!features=chinese]
+ % \stoptypescript
+
+ \starttypescript [\s!serif] [mschinese]
+ \setups[\s!font:\s!fallback:\s!serif]
+ \definefontsynonym [\s!Serif] [\s!file:stsong.ttf] [\s!features=chinese]
+ \definefontsynonym [\s!SerifItalic] [\s!file:stkaiti.ttf] [\s!features=chinese]
+ \definefontsynonym [\s!SerifBold] [\s!file:stzhongs.ttf] [\s!features=chinese]
+ \stoptypescript
+
+ \starttypescript [\s!serif] [mschinese-light]
+ \setups[\s!font:\s!fallback:\s!serif]
+ \definefontsynonym [\s!Serif] [\s!file:stfangso.ttf] [\s!features=chinese]
+ \definefontsynonym [\s!SerifItalic] [\s!file:stkaiti.ttf] [\s!features=chinese]
+ \definefontsynonym [\s!SerifBold] [\s!file:stzhongs.ttf] [\s!features=chinese]
+ \stoptypescript
+
+ \starttypescript [\s!sans] [mschinese]
+ \setups[\s!font:\s!fallback:\s!sans]
+ \definefontsynonym [\s!Sans] [\s!file:stxihei.ttf] [\s!features=chinese]
+ \stoptypescript
+
+ \starttypescript[mschinese]
+ \definetypeface [\typescriptone] [\s!rm] [\s!serif] [mschinese] [\s!default]
+ \definetypeface [\typescriptone] [\s!ss] [\s!sans] [mschinese] [\s!default]
+ \definetypeface [\typescriptone] [\s!mm] [\s!math] [cambria]
+ \definetypeface [\typescriptone] [\s!tt] [\s!mono] [mscorecourier]
+ \stoptypescript
+
+ \starttypescript[mschineselight,mschinese-light]
+ \definetypeface [\typescriptone] [\s!rm] [\s!serif] [mschinese-light] [\s!default]
+ \definetypeface [\typescriptone] [\s!ss] [\s!sans] [mschinese] [\s!default]
+ \definetypeface [\typescriptone] [\s!mm] [\s!math] [cambria]
+ \definetypeface [\typescriptone] [\s!tt] [\s!mono] [mscorecourier]
+ \stoptypescript
+
+\stoptypescriptcollection
diff --git a/tex/context/fonts/mkiv/type-imp-texgyre.mkiv b/tex/context/fonts/mkiv/type-imp-texgyre.mkiv
index a7c2d06be..2bec4c2a8 100644
--- a/tex/context/fonts/mkiv/type-imp-texgyre.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-texgyre.mkiv
@@ -14,6 +14,10 @@
%D There are some weird ones that are never used .. all these Caps ... we can better
%D split them into pagella-caps etc.
+\definefontfeature
+ [mathcollapseitalics]
+ [collapseitalics=yes]
+
\starttypescriptcollection[texgyre]
\definetypescriptprefix [f:pagella] [pagella]
diff --git a/tex/context/fonts/mkiv/type-imp-xits.mkiv b/tex/context/fonts/mkiv/type-imp-xits.mkiv
index 145ddc7a8..d3504bdbb 100644
--- a/tex/context/fonts/mkiv/type-imp-xits.mkiv
+++ b/tex/context/fonts/mkiv/type-imp-xits.mkiv
@@ -23,12 +23,12 @@
\starttypescript [\s!math] [xits,xitsbidi] [\s!name]
\loadfontgoodies[xits-math]
- \definefontsynonym[\s!MathRoman ][\s!file:xits-math.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=xits-math]
- \definefontsynonym[\s!MathRoman L2R][\s!file:xits-math.otf] [\s!features={\s!math\mathsizesuffix-l2r,mathextra},\s!goodies=xits-math]
- \definefontsynonym[\s!MathRoman R2L][\s!file:xits-math.otf] [\s!features={\s!math\mathsizesuffix-r2l,mathextra},\s!goodies=xits-math]
- \definefontsynonym[\s!MathRomanBold ][\s!file:xits-mathbold.otf][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=xits-math]
- \definefontsynonym[\s!MathRomanBold L2R][\s!file:xits-mathbold.otf][\s!features={\s!math\mathsizesuffix-l2r,mathextra},\s!goodies=xits-math]
- \definefontsynonym[\s!MathRomanBold R2L][\s!file:xits-mathbold.otf][\s!features={\s!math\mathsizesuffix-r2l,mathextra},\s!goodies=xits-math]
+ \definefontsynonym[\s!MathRoman ][\s!file:xitsmath-regular.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=xits-math]
+ \definefontsynonym[\s!MathRoman L2R][\s!file:xitsmath-regular.otf] [\s!features={\s!math\mathsizesuffix-l2r,mathextra},\s!goodies=xits-math]
+ \definefontsynonym[\s!MathRoman R2L][\s!file:xitsmath-regular.otf] [\s!features={\s!math\mathsizesuffix-r2l,mathextra},\s!goodies=xits-math]
+ \definefontsynonym[\s!MathRomanBold ][\s!file:xitsmath-bold.otf] [\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=xits-math]
+ \definefontsynonym[\s!MathRomanBold L2R][\s!file:xitsmath-bold.otf] [\s!features={\s!math\mathsizesuffix-l2r,mathextra},\s!goodies=xits-math]
+ \definefontsynonym[\s!MathRomanBold R2L][\s!file:xitsmath-bold.otf] [\s!features={\s!math\mathsizesuffix-r2l,mathextra},\s!goodies=xits-math]
\stoptypescript
\starttypescript [\s!serif] [xits] [\s!name]
diff --git a/tex/context/fonts/mkiv/unifraktur.lfg b/tex/context/fonts/mkiv/unifraktur.lfg
index 32ffed928..4bae0be7e 100644
--- a/tex/context/fonts/mkiv/unifraktur.lfg
+++ b/tex/context/fonts/mkiv/unifraktur.lfg
@@ -1,6 +1,6 @@
-- moved to treatments.lfg
--
--- fonts.handlers.otf.enhancers.patches.register("after","check metadata","unifraktur*", function(data,filename)
+-- fonts.handlers.otf.enhancers.patches.register("before","check extra features","unifraktur*", function(data,filename)
-- data.metadata.pfminfo.os2_xheight = nil
-- end)
diff --git a/tex/context/fonts/mkiv/xits-math.lfg b/tex/context/fonts/mkiv/xits-math.lfg
index 372224940..b37ab1277 100644
--- a/tex/context/fonts/mkiv/xits-math.lfg
+++ b/tex/context/fonts/mkiv/xits-math.lfg
@@ -23,6 +23,16 @@ return {
comment = "Goodies that complement xits (by Khaled Hosny).",
author = "Hans Hagen",
copyright = "ConTeXt development team",
+ filenames = {
+ ["xitsmath-regular.otf"] = {
+ "xitsmath-regular.otf",
+ "xits-math.otf",
+ },
+ ["xitsmath-bold.otf"] = {
+ "xitsmath-bold.otf",
+ "xits-mathbold.otf",
+ },
+ },
mathematics = {
-- italics = {
-- ["xits-math"] = italics,