summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/unicode-math/unicode-math.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/unicode-math/unicode-math.lua')
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math.lua47
1 files changed, 31 insertions, 16 deletions
diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math.lua b/Master/texmf-dist/tex/latex/unicode-math/unicode-math.lua
index c92a9f8dad3..66c830792bc 100644
--- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math.lua
+++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math.lua
@@ -16,27 +16,42 @@
-- This work is "maintained" by Will Robertson.
local err, warn, info, log = luatexbase.provides_module({
name = "unicode-math",
- date = "2012/04/23",
- version = 0.1,
+ date = "2013/05/04",
+ version = 0.3,
description = "Unicode math typesetting for LuaLaTeX",
author = "Khaled Hosny, Will Robertson, Philipp Stephani",
licence = "LPPL v1.3+"
})
-local function set_sscale_dimens(fontdata)
- local mc = fontdata.MathConstants
- if mc then
- fontdata.parameters[10] = mc.ScriptPercentScaleDown or 70
- fontdata.parameters[11] = mc.ScriptScriptPercentScaleDown or 50
+if luaotfload and luaotfload.module and luaotfload.module.version < 2 then
+ local function set_sscale_dimens(fontdata)
+ local mc = fontdata.MathConstants
+ if mc then
+ fontdata.parameters[10] = mc.ScriptPercentScaleDown or 70
+ fontdata.parameters[11] = mc.ScriptScriptPercentScaleDown or 50
+ end
end
-end
-luatexbase.add_to_callback("luaotfload.patch_font", set_sscale_dimens, "unicode_math.set_sscale_dimens")
-local function patch_cambria_domh(fontdata)
- local mc = fontdata.MathConstants
- local mh = 2800 / fontdata.units * fontdata.size
- if fontdata.psname == "CambriaMath" and mc then
- if mc.DisplayOperatorMinHeight < mh then
- mc.DisplayOperatorMinHeight = mh
+ luatexbase.add_to_callback("luaotfload.patch_font", set_sscale_dimens, "unicode_math.set_sscale_dimens")
+ local function patch_cambria_domh(fontdata)
+ local mc = fontdata.MathConstants
+ if mc and fontdata.psname == "CambriaMath" then
+ -- keeping backward compatibility with luaotfload v1
+ local units_per_em
+ local metadata = fontdata.shared and fontdata.shared.rawdata.metadata
+ if metadata and metadata.units_per_em then
+ units_per_em = metadata.units_per_em
+ elseif fontdata.parameters.units then
+ units_per_em = fontdata.parameters.units
+ elseif fontdata.units then
+ units_per_em = fontdata.units
+ else
+ units_per_em = 1000
+ end
+ local sz = fontdata.parameters.size or fontdata.size
+ local mh = 2800 / units_per_em * sz
+ if mc.DisplayOperatorMinHeight < mh then
+ mc.DisplayOperatorMinHeight = mh
+ end
end
end
+ luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria.domh")
end
-luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria.domh")