summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/math-act.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2017-07-27 17:53:52 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2017-07-27 17:53:52 +0200
commitab56ea38d2f4f5b521ef097bac92812f6070ef55 (patch)
treee5f2ba9e66f1b1ef8f7b32f91aed0d744a14a0da /tex/context/base/mkiv/math-act.lua
parentf7bfb1deb04d4ad101dbabf4d635d33cd98aa0a1 (diff)
downloadcontext-ab56ea38d2f4f5b521ef097bac92812f6070ef55.tar.gz
2017-07-27 16:23:00
Diffstat (limited to 'tex/context/base/mkiv/math-act.lua')
-rw-r--r--tex/context/base/mkiv/math-act.lua22
1 files changed, 17 insertions, 5 deletions
diff --git a/tex/context/base/mkiv/math-act.lua b/tex/context/base/mkiv/math-act.lua
index 68f2c5ce4..826669a3d 100644
--- a/tex/context/base/mkiv/math-act.lua
+++ b/tex/context/base/mkiv/math-act.lua
@@ -218,6 +218,8 @@ sequencers.appendaction("mathparameters","system","mathematics.overloadparameter
sequencers.appendaction("beforecopyingcharacters","system","mathematics.tweakbeforecopyingfont")
sequencers.appendaction("aftercopyingcharacters", "system","mathematics.tweakaftercopyingfont")
+local virtualized = mathematics.virtualized
+
function mathematics.overloaddimensions(target,original,set)
local goodies = target.goodies
if goodies then
@@ -235,11 +237,19 @@ function mathematics.overloaddimensions(target,original,set)
local hfactor = parameters.hfactor
local vfactor = parameters.vfactor
local addprivate = fonts.helpers.addprivate
-target.type = "virtual"
-target.properties.virtualized = true
+ -- to be sure
+ target.type = "virtual"
+ target.properties.virtualized = true
+ --
local function overload(dimensions)
for unicode, data in next, dimensions do
local character = characters[unicode]
+ if not character then
+ local c = virtualized[unicode]
+ if c then
+ character = characters[c]
+ end
+ end
if character then
--
local width = data.width
@@ -511,12 +521,14 @@ local function horizontalcode(family,unicode)
end
elseif kind == e_right then
local charlist = data[3].horiz_variants
- local right = charlist[#charlist]
- roffset = abs((right["start"] or 0) - (right["end"] or 0))
+ if charlist then
+ local right = charlist[#charlist]
+ roffset = abs((right["start"] or 0) - (right["end"] or 0))
+ end
elseif kind == e_horizontal then
local charlist = data[3].horiz_variants
if charlist then
- local left = charlist[1]
+ local left = charlist[1]
local right = charlist[#charlist]
loffset = abs((left ["start"] or 0) - (left ["end"] or 0))
roffset = abs((right["start"] or 0) - (right["end"] or 0))