diff options
author | Hans Hagen <pragma@wxs.nl> | 2011-02-20 20:34:00 +0100 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2011-02-20 20:34:00 +0100 |
commit | 15ee46403d36de6f29b4e45171e061708ec69193 (patch) | |
tree | d067341bae6f8f10633bc71c1f91a85ea94ca33c /tex/context/base/char-ini.lua | |
parent | 18e7114e3c95f724407c6698181e6f1002ad589b (diff) | |
download | context-15ee46403d36de6f29b4e45171e061708ec69193.tar.gz |
beta 2011.02.20 20:34
Diffstat (limited to 'tex/context/base/char-ini.lua')
-rw-r--r-- | tex/context/base/char-ini.lua | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/tex/context/base/char-ini.lua b/tex/context/base/char-ini.lua index bb7cce997..a10b75398 100644 --- a/tex/context/base/char-ini.lua +++ b/tex/context/base/char-ini.lua @@ -96,7 +96,8 @@ local ranges = allocate() characters.ranges = ranges setmetatablekey(data, "__index", function(t,k) - if type(k) == "string" then + local tk = type(k) + if tk == "string" then k = lpegmatch(pattern,k) or utfbyte(k) if k then local tk = rawget(t,k) @@ -109,7 +110,7 @@ setmetatablekey(data, "__index", function(t,k) return private end end - if k < 0xF0000 then + if tk == "number" and k < 0xF0000 then for r=1,#ranges do local rr = ranges[r] if k >= rr.first and k <= rr.last then @@ -911,3 +912,32 @@ end -- end --~ characters.data, characters.groups = chardata, groupdata + +--~ [0xF0000]={ +--~ category="co", +--~ cjkwd="a", +--~ description="<Plane 0x000F Private Use, First>", +--~ direction="l", +--~ unicodeslot=0xF0000, +--~ }, +--~ [0xFFFFD]={ +--~ category="co", +--~ cjkwd="a", +--~ description="<Plane 0x000F Private Use, Last>", +--~ direction="l", +--~ unicodeslot=0xFFFFD, +--~ }, +--~ [0x100000]={ +--~ category="co", +--~ cjkwd="a", +--~ description="<Plane 0x0010 Private Use, First>", +--~ direction="l", +--~ unicodeslot=0x100000, +--~ }, +--~ [0x10FFFD]={ +--~ category="co", +--~ cjkwd="a", +--~ description="<Plane 0x0010 Private Use, Last>", +--~ direction="l", +--~ unicodeslot=0x10FFFD, +--~ }, |