diff options
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.lua | 47 |
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") |