summaryrefslogtreecommitdiff
path: root/tex/context/fonts/cambria-math.lfg
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2011-07-13 20:14:00 +0200
committerHans Hagen <pragma@wxs.nl>2011-07-13 20:14:00 +0200
commitd6b1bbb30b5d03582599faf4132630d46275bb97 (patch)
tree8ef0cfe83b7369857f3f5e3e88b6bb5edf023170 /tex/context/fonts/cambria-math.lfg
parent850a7b29bba45111582a15b674f40f68fbd7ab5e (diff)
downloadcontext-d6b1bbb30b5d03582599faf4132630d46275bb97.tar.gz
beta 2011.07.13 20:14
Diffstat (limited to 'tex/context/fonts/cambria-math.lfg')
-rw-r--r--tex/context/fonts/cambria-math.lfg27
1 files changed, 25 insertions, 2 deletions
diff --git a/tex/context/fonts/cambria-math.lfg b/tex/context/fonts/cambria-math.lfg
index 3fd15d8a0..6415069e6 100644
--- a/tex/context/fonts/cambria-math.lfg
+++ b/tex/context/fonts/cambria-math.lfg
@@ -1,6 +1,11 @@
-- This patch code is moved from font-pat.lua to this goodies
-- files as it does not belong in the core code.
+-- This is a fix to the font itself i.e. the cached instance will
+-- be patched. When the goodie file is loaded the patch will be
+-- added to the patch list. No goodies setting is needed with
+-- the filename.
+
local patches = fonts.handlers.otf.enhancers.patches
local function patch(data,filename,threshold)
@@ -14,8 +19,21 @@ local function patch(data,filename,threshold)
end
end
-patches.register("after","check math parameters","cambria", function(data,filename) patch(data,filename,2800) end)
-patches.register("after","check math parameters","cambmath",function(data,filename) patch(data,filename,2800) end)
+patches.register("after","analyze math","cambria", function(data,filename) patch(data,filename,2800) end)
+patches.register("after","analyze math","cambmath",function(data,filename) patch(data,filename,2800) end)
+
+-- This is a runtime fix, but then we need to explicitly set
+-- the goodies parameter for the font. As a demonstration we
+-- we do both.
+
+local function FixDisplayOperatorMinHeight(value,target,original)
+ local o = original.mathparameters.DisplayOperatorMinHeight
+ if o < 2800 then
+ return 2800 * target.parameters.factor
+ else
+ return value -- already scaled
+ end
+end
return {
name = "cambria-math",
@@ -23,4 +41,9 @@ return {
comment = "Goodies that complement cambria.",
author = "Hans Hagen",
copyright = "ConTeXt development team",
+ mathematics = {
+ parameters = {
+ DisplayOperatorMinHeight = FixDisplayOperatorMinHeight,
+ }
+ }
}