summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/char-utf.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/char-utf.lua')
-rw-r--r--tex/context/base/mkiv/char-utf.lua18
1 files changed, 14 insertions, 4 deletions
diff --git a/tex/context/base/mkiv/char-utf.lua b/tex/context/base/mkiv/char-utf.lua
index 6d6551226..2d557d4af 100644
--- a/tex/context/base/mkiv/char-utf.lua
+++ b/tex/context/base/mkiv/char-utf.lua
@@ -106,7 +106,7 @@ if not graphemes then
end
end
- local function setlist(unicode,list,start)
+ local function setlist(unicode,list,start,category)
if list[start] ~= 0x20 then
local t = mathlists
for i=start,#list do
@@ -120,10 +120,12 @@ if not graphemes then
t = f
end
end
- t.ligature = unicode
+ t[category] = unicode
end
end
+ local mlists = { }
+
for unicode, v in next, data do
local vs = v.specials
if vs then
@@ -147,15 +149,23 @@ if not graphemes then
--
end
if (kind == "char" or kind == "compat") and (size > 2) and (v.mathclass or v.mathspec) then
- setlist(unicode,vs,2)
+ setlist(unicode,vs,2,"specials")
end
end
local ml = v.mathlist
if ml then
- setlist(unicode,ml,1)
+ mlists[unicode] = ml
end
end
+ -- these win:
+
+ for unicode, ml in next, mlists do
+ setlist(unicode,ml,1,"mathlist")
+ end
+
+ mlists = nil
+
if storage then
storage.register("characters/graphemes", characters.graphemes, "characters.graphemes")
storage.register("characters/collapsed", characters.collapsed, "characters.collapsed")