summaryrefslogtreecommitdiff
path: root/tex/context/fonts/cambria-math.lfg
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2011-07-13 23:40:25 +0300
committerMarius <mariausol@gmail.com>2011-07-13 23:40:25 +0300
commit3dd416f677074c27a248e3433695a6fe8c13ef69 (patch)
tree20c4a573a64f2079e2e3d3fe93b004af3caf7b2f /tex/context/fonts/cambria-math.lfg
parent1ea50dab7f30289214b661f2cbcf53e97e6af0b6 (diff)
downloadcontext-3dd416f677074c27a248e3433695a6fe8c13ef69.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,
+ }
+ }
}