diff options
Diffstat (limited to 'tex/context/base/mkiv/char-utf.lua')
-rw-r--r-- | tex/context/base/mkiv/char-utf.lua | 18 |
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") |