diff options
-rw-r--r-- | luaotfload.dtx | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/luaotfload.dtx b/luaotfload.dtx index 586b8be..548251d 100644 --- a/luaotfload.dtx +++ b/luaotfload.dtx @@ -675,6 +675,32 @@ luatexbase.add_to_callback("find_vf_file", fonts.vf.find, "luaotfload.find_vf_file") % \end{macrocode} +% XXX: see https://github.com/wspr/unicode-math/issues/185 +% +% \luatex does not provide interface to accessing +% |(Script)ScriptPercentScaleDown| math constants, so we +% emulate \xetex behaviour by setting |\fontdimen10| and +% |\fontdimen11|. +% +% \begin{macrocode} +local function set_sscale_diments(fontdata) + local mc = fontdata.MathConstants + if mc then + if mc["ScriptPercentScaleDown"] then + fontdata.parameters[10] = mc.ScriptPercentScaleDown + else -- resort to plain TeX default + fontdata.parameters[10] = 70 + end + if mc["ScriptScriptPercentScaleDown"] then + fontdata.parameters[11] = mc.ScriptScriptPercentScaleDown + else -- resort to plain TeX default + fontdata.parameters[11] = 50 + end + end +end + +luatexbase.add_to_callback("luaotfload.patch_font", set_sscale_diments, "unicodemath.set_sscale_diments") +% \end{macrocode} % % \iffalse %</lua> |