Last active
January 25, 2025 15:11
-
-
Save MCJack123/0b0c3e2656da8adb043096a3da306d69 to your computer and use it in GitHub Desktop.
UTF string type for Lua 5.3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local expect = require "cc.expect" | |
| local UTFString = {} | |
| local UTFString_mt = {__index = UTFString, __name = "UTFString"} | |
| local function toUTF8(s) | |
| -- convert from ANSI if the string is invalid in UTF-8 | |
| local ss = "" | |
| local iter, invar, i = utf8.codes(s) | |
| local ok, c | |
| while i do | |
| local oi = i | |
| ok, i, c = pcall(iter, invar, i) | |
| if not ok then i, ss = oi + 1, ss .. utf8.char(string.byte(s, utf8.offset(s, oi) + 1)) | |
| elseif c then ss = ss .. utf8.char(c) end | |
| end | |
| return ss | |
| end | |
| function UTFString:new(s) | |
| return setmetatable({str = toUTF8(s)}, UTFString_mt) | |
| end | |
| setmetatable(UTFString, {__call = UTFString.new}) | |
| local utf8_case_conv_utl, utf8_case_conv_ltu = nil, {} -- defined at bottom of file | |
| -- string library implementation | |
| function UTFString:byte(i, j) | |
| expect(1, i, "number", "nil") | |
| expect(2, j, "number", "nil") | |
| return utf8.codepoint(self.str, i, j) | |
| end | |
| UTFString.char = utf8.char | |
| UTFString.dump = string.dump | |
| function UTFString:find(pattern, init, plain) | |
| expect(1, pattern, "string", "table") | |
| expect(2, init, "number", "nil") | |
| if type(pattern) == "table" then | |
| if getmetatable(pattern) ~= UTFString_mt then error("bad argument #1 (expected string or UTFString, got table)", 2) end | |
| pattern = pattern.str | |
| else pattern = toUTF8(pattern) end | |
| pattern = string.gsub(string.gsub(pattern, "(.)%.", function(s) if s == "%" then return "%." else return s .. utf8.charpattern end end), "^%.", utf8.charpattern) | |
| local s, e = string.find(self.str, pattern, init and utf8.offset(self.str, init), plain) | |
| if not s then return nil end | |
| return utf8.len(string.sub(self.str, 1, s - 1)) + 1, utf8.len(string.sub(self.str, 1, e - 1)) + 1 | |
| end | |
| function UTFString:format(...) | |
| local args = table.pack(...) | |
| for i = 1, args.n do | |
| if type(args[i]) == "table" and getmetatable(args[i]) == UTFString_mt then args[i] = args[i].str | |
| elseif type(args[i]) == "string" then args[i] = toUTF8(args[i]) end | |
| end | |
| return UTFString(string.format(self.str, table.unpack(args, 1, args.n))) | |
| end | |
| function UTFString:gmatch(pattern) | |
| expect(1, pattern, "string", "table") | |
| if type(pattern) == "table" then | |
| if getmetatable(pattern) ~= UTFString_mt then error("bad argument #1 (expected string or UTFString, got table)", 2) end | |
| pattern = pattern.str | |
| else pattern = toUTF8(pattern) end | |
| pattern = string.gsub(string.gsub(pattern, "(.)%.", function(s) if s == "%" then return "%." else return s .. utf8.charpattern end end), "^%.", utf8.charpattern) | |
| local iter = string.gmatch(self.str, pattern) | |
| return function() | |
| local matches = table.pack(iter()) | |
| for i = 1, matches.n do | |
| local tt = type(matches[i]) | |
| if tt == "string" then matches[i] = UTFString(matches[i]) | |
| elseif tt == "number" then matches[i] = utf8.len(string.sub(self.str, 1, matches[i])) + 1 end | |
| end | |
| return table.unpack(matches, 1, matches.n) | |
| end | |
| end | |
| function UTFString:gsub(pattern, repl, n) | |
| expect(1, pattern, "string", "table") | |
| expect(2, repl, "string", "table", "function") | |
| expect(3, n, "number", "nil") | |
| if type(pattern) == "table" then | |
| if getmetatable(pattern) ~= UTFString_mt then error("bad argument #1 (expected string or UTFString, got table)", 2) end | |
| pattern = pattern.str | |
| else pattern = toUTF8(pattern)end | |
| if type(repl) == "table" and getmetatable(repl) == UTFString_mt then repl = repl.str | |
| elseif type(repl) == "string" then repl = toUTF8(repl) end | |
| pattern = string.gsub(string.gsub(pattern, "(.)%.", function(s) if s == "%" then return "%." else return s .. utf8.charpattern end end), "^%.", utf8.charpattern) | |
| local s, total = string.gsub(self.str, pattern, repl, n) | |
| return UTFString(s), total | |
| end | |
| function UTFString:len() | |
| return utf8.len(self.str) | |
| end | |
| function UTFString:lower() | |
| local s = "" | |
| for _, c in utf8.codes(self.str) do | |
| if utf8_case_conv_utl[c] then | |
| if type(utf8_case_conv_utl[c]) == "table" then s = s .. utf8.char(table.unpack(utf8_case_conv_utl[c])) | |
| else s = s .. utf8.char(utf8_case_conv_utl[c]) end | |
| else s = s .. utf8.char(c) end | |
| end | |
| return UTFString(s) | |
| end | |
| function UTFString:match(pattern, init) | |
| expect(1, pattern, "string", "table") | |
| expect(2, init, "number", "nil") | |
| if type(pattern) == "table" then | |
| if getmetatable(pattern) ~= UTFString_mt then error("bad argument #1 (expected string or UTFString, got table)", 2) end | |
| pattern = pattern.str | |
| else pattern = toUTF8(pattern) end | |
| pattern = string.gsub(string.gsub(pattern, "(.)%.", function(s) if s == "%" then return "%." else return s .. utf8.charpattern end end), "^%.", utf8.charpattern) | |
| local matches = table.pack(string.match(self.str, pattern, init and utf8.offset(self.str, init))) | |
| for i = 1, matches.n do | |
| local tt = type(matches[i]) | |
| if tt == "string" then matches[i] = UTFString(matches[i]) | |
| elseif tt == "number" then matches[i] = utf8.len(string.sub(self.str, 1, matches[i])) + 1 end | |
| end | |
| return table.unpack(matches, 1, matches.n) | |
| end | |
| function UTFString:pack(...) | |
| return UTFString(string.pack(self.str, ...)) | |
| end | |
| function UTFString:packsize() | |
| return string.packsize(self.str) | |
| end | |
| function UTFString:rep(n, sep) | |
| expect(1, n, "number") | |
| expect(2, sep, "string", "table", "nil") | |
| if type(sep) == "table" then | |
| if getmetatable(sep) ~= UTFString_mt then error("bad argument #2 (expected string or UTFString, got table)", 2) end | |
| sep = sep.str | |
| elseif sep then sep = toUTF8(sep) end | |
| return UTFString(string.rep(self.str, n, sep)) | |
| end | |
| function UTFString:reverse() | |
| local codes = {n = 0} | |
| for _, c in utf8.codes(self.str) do | |
| codes.n = codes.n + 1 | |
| codes[codes.n] = c | |
| end | |
| local s = "" | |
| for i = codes.n, 1, -1 do s = s .. utf8.char(codes[i]) end | |
| return UTFString(s) | |
| end | |
| function UTFString:sub(i, j) | |
| expect(1, i, "number") | |
| expect(2, j, "number", "nil") | |
| return UTFString(string.sub(self.str, utf8.offset(self.str, i), j and utf8.offset(self.str, j))) | |
| end | |
| function UTFString:unpack(s, pos) | |
| expect(1, s, "string", "table") | |
| expect(2, pos, "number", "nil") | |
| if type(s) == "table" then | |
| if getmetatable(s) ~= UTFString_mt then error("bad argument #1 (expected string or UTFString, got table)", 2) end | |
| s = s.str | |
| if pos then pos = utf8.offset(s, pos) end | |
| end | |
| return string.unpack(self.str, s, pos) | |
| end | |
| function UTFString:upper() | |
| local s = "" | |
| for _, c in utf8.codes(self.str) do | |
| if utf8_case_conv_ltu[c] then | |
| if type(utf8_case_conv_ltu[c]) == "table" then s = s .. utf8.char(table.unpack(utf8_case_conv_ltu[c])) | |
| else s = s .. utf8.char(utf8_case_conv_ltu[c]) end | |
| else s = s .. utf8.char(c) end | |
| end | |
| return UTFString(s) | |
| end | |
| -- metamethods | |
| function UTFString_mt:__len() | |
| return utf8.len(self.str) | |
| end | |
| function UTFString_mt.__concat(a, b) | |
| if type(a) == "string" then return UTFString(a .. b.str) | |
| elseif type(b) == "string" then return UTFString(a.str .. b) | |
| else | |
| if type(a) ~= "table" or getmetatable(a) ~= UTFString_mt then error("attempt to concatenate " .. type(a) .. " and UTFString", 2) | |
| elseif type(b) ~= "table" or getmetatable(b) ~= UTFString_mt then error("attempt to concatenate UTFString and " .. type(b), 2) end | |
| return UTFString(a.str .. b.str) | |
| end | |
| end | |
| function UTFString_mt.__eq(a, b) | |
| if type(a) == "string" then return a == b.str | |
| elseif type(b) == "string" then return a.str == b | |
| elseif type(a) ~= "table" or type(b) ~= "table" or getmetatable(a) ~= UTFString_mt or getmetatable(b) ~= UTFString_mt then return false | |
| else return a.str == b.str end | |
| end | |
| function UTFString_mt.__lt(a, b) | |
| if type(a) == "string" then return a < b.str | |
| elseif type(b) == "string" then return a.str < b | |
| else | |
| if type(a) ~= "table" or getmetatable(a) ~= UTFString_mt then error("attempt to compare " .. type(a) .. " and UTFString", 2) | |
| elseif type(b) ~= "table" or getmetatable(b) ~= UTFString_mt then error("attempt to compare UTFString and " .. type(b), 2) end | |
| return a.str < b.str | |
| end | |
| end | |
| function UTFString_mt.__le(a, b) | |
| if type(a) == "string" then return a <= b.str | |
| elseif type(b) == "string" then return a.str <= b | |
| else | |
| if type(a) ~= "table" or getmetatable(a) ~= UTFString_mt then error("attempt to compare " .. type(a) .. " and UTFString", 2) | |
| elseif type(b) ~= "table" or getmetatable(b) ~= UTFString_mt then error("attempt to compare UTFString and " .. type(b), 2) end | |
| return a.str <= b.str | |
| end | |
| end | |
| function UTFString_mt:__tostring() | |
| local str = "" | |
| for _, c in utf8.codes(self.str) do | |
| if c > 255 then str = str .. "?" | |
| else str = str .. string.char(c) end | |
| end | |
| return str | |
| end | |
| -- tables for UTF-8 case conversion | |
| utf8_case_conv_utl = { | |
| [0x0041] = 0x0061, | |
| [0x0042] = 0x0062, | |
| [0x0043] = 0x0063, | |
| [0x0044] = 0x0064, | |
| [0x0045] = 0x0065, | |
| [0x0046] = 0x0066, | |
| [0x0047] = 0x0067, | |
| [0x0048] = 0x0068, | |
| [0x0049] = 0x0069, | |
| [0x004A] = 0x006A, | |
| [0x004B] = 0x006B, | |
| [0x004C] = 0x006C, | |
| [0x004D] = 0x006D, | |
| [0x004E] = 0x006E, | |
| [0x004F] = 0x006F, | |
| [0x0050] = 0x0070, | |
| [0x0051] = 0x0071, | |
| [0x0052] = 0x0072, | |
| [0x0053] = 0x0073, | |
| [0x0054] = 0x0074, | |
| [0x0055] = 0x0075, | |
| [0x0056] = 0x0076, | |
| [0x0057] = 0x0077, | |
| [0x0058] = 0x0078, | |
| [0x0059] = 0x0079, | |
| [0x005A] = 0x007A, | |
| [0x00B5] = 0x03BC, | |
| [0x00C0] = 0x00E0, | |
| [0x00C1] = 0x00E1, | |
| [0x00C2] = 0x00E2, | |
| [0x00C3] = 0x00E3, | |
| [0x00C4] = 0x00E4, | |
| [0x00C5] = 0x00E5, | |
| [0x00C6] = 0x00E6, | |
| [0x00C7] = 0x00E7, | |
| [0x00C8] = 0x00E8, | |
| [0x00C9] = 0x00E9, | |
| [0x00CA] = 0x00EA, | |
| [0x00CB] = 0x00EB, | |
| [0x00CC] = 0x00EC, | |
| [0x00CD] = 0x00ED, | |
| [0x00CE] = 0x00EE, | |
| [0x00CF] = 0x00EF, | |
| [0x00D0] = 0x00F0, | |
| [0x00D1] = 0x00F1, | |
| [0x00D2] = 0x00F2, | |
| [0x00D3] = 0x00F3, | |
| [0x00D4] = 0x00F4, | |
| [0x00D5] = 0x00F5, | |
| [0x00D6] = 0x00F6, | |
| [0x00D8] = 0x00F8, | |
| [0x00D9] = 0x00F9, | |
| [0x00DA] = 0x00FA, | |
| [0x00DB] = 0x00FB, | |
| [0x00DC] = 0x00FC, | |
| [0x00DD] = 0x00FD, | |
| [0x00DE] = 0x00FE, | |
| [0x00DF] = {0x0073, 0x0073}, | |
| [0x0100] = 0x0101, | |
| [0x0102] = 0x0103, | |
| [0x0104] = 0x0105, | |
| [0x0106] = 0x0107, | |
| [0x0108] = 0x0109, | |
| [0x010A] = 0x010B, | |
| [0x010C] = 0x010D, | |
| [0x010E] = 0x010F, | |
| [0x0110] = 0x0111, | |
| [0x0112] = 0x0113, | |
| [0x0114] = 0x0115, | |
| [0x0116] = 0x0117, | |
| [0x0118] = 0x0119, | |
| [0x011A] = 0x011B, | |
| [0x011C] = 0x011D, | |
| [0x011E] = 0x011F, | |
| [0x0120] = 0x0121, | |
| [0x0122] = 0x0123, | |
| [0x0124] = 0x0125, | |
| [0x0126] = 0x0127, | |
| [0x0128] = 0x0129, | |
| [0x012A] = 0x012B, | |
| [0x012C] = 0x012D, | |
| [0x012E] = 0x012F, | |
| [0x0130] = {0x0069, 0x0307}, | |
| [0x0132] = 0x0133, | |
| [0x0134] = 0x0135, | |
| [0x0136] = 0x0137, | |
| [0x0139] = 0x013A, | |
| [0x013B] = 0x013C, | |
| [0x013D] = 0x013E, | |
| [0x013F] = 0x0140, | |
| [0x0141] = 0x0142, | |
| [0x0143] = 0x0144, | |
| [0x0145] = 0x0146, | |
| [0x0147] = 0x0148, | |
| [0x0149] = {0x02BC, 0x006E}, | |
| [0x014A] = 0x014B, | |
| [0x014C] = 0x014D, | |
| [0x014E] = 0x014F, | |
| [0x0150] = 0x0151, | |
| [0x0152] = 0x0153, | |
| [0x0154] = 0x0155, | |
| [0x0156] = 0x0157, | |
| [0x0158] = 0x0159, | |
| [0x015A] = 0x015B, | |
| [0x015C] = 0x015D, | |
| [0x015E] = 0x015F, | |
| [0x0160] = 0x0161, | |
| [0x0162] = 0x0163, | |
| [0x0164] = 0x0165, | |
| [0x0166] = 0x0167, | |
| [0x0168] = 0x0169, | |
| [0x016A] = 0x016B, | |
| [0x016C] = 0x016D, | |
| [0x016E] = 0x016F, | |
| [0x0170] = 0x0171, | |
| [0x0172] = 0x0173, | |
| [0x0174] = 0x0175, | |
| [0x0176] = 0x0177, | |
| [0x0178] = 0x00FF, | |
| [0x0179] = 0x017A, | |
| [0x017B] = 0x017C, | |
| [0x017D] = 0x017E, | |
| [0x017F] = 0x0073, | |
| [0x0181] = 0x0253, | |
| [0x0182] = 0x0183, | |
| [0x0184] = 0x0185, | |
| [0x0186] = 0x0254, | |
| [0x0187] = 0x0188, | |
| [0x0189] = 0x0256, | |
| [0x018A] = 0x0257, | |
| [0x018B] = 0x018C, | |
| [0x018E] = 0x01DD, | |
| [0x018F] = 0x0259, | |
| [0x0190] = 0x025B, | |
| [0x0191] = 0x0192, | |
| [0x0193] = 0x0260, | |
| [0x0194] = 0x0263, | |
| [0x0196] = 0x0269, | |
| [0x0197] = 0x0268, | |
| [0x0198] = 0x0199, | |
| [0x019C] = 0x026F, | |
| [0x019D] = 0x0272, | |
| [0x019F] = 0x0275, | |
| [0x01A0] = 0x01A1, | |
| [0x01A2] = 0x01A3, | |
| [0x01A4] = 0x01A5, | |
| [0x01A6] = 0x0280, | |
| [0x01A7] = 0x01A8, | |
| [0x01A9] = 0x0283, | |
| [0x01AC] = 0x01AD, | |
| [0x01AE] = 0x0288, | |
| [0x01AF] = 0x01B0, | |
| [0x01B1] = 0x028A, | |
| [0x01B2] = 0x028B, | |
| [0x01B3] = 0x01B4, | |
| [0x01B5] = 0x01B6, | |
| [0x01B7] = 0x0292, | |
| [0x01B8] = 0x01B9, | |
| [0x01BC] = 0x01BD, | |
| [0x01C4] = 0x01C6, | |
| [0x01C5] = 0x01C6, | |
| [0x01C7] = 0x01C9, | |
| [0x01C8] = 0x01C9, | |
| [0x01CA] = 0x01CC, | |
| [0x01CB] = 0x01CC, | |
| [0x01CD] = 0x01CE, | |
| [0x01CF] = 0x01D0, | |
| [0x01D1] = 0x01D2, | |
| [0x01D3] = 0x01D4, | |
| [0x01D5] = 0x01D6, | |
| [0x01D7] = 0x01D8, | |
| [0x01D9] = 0x01DA, | |
| [0x01DB] = 0x01DC, | |
| [0x01DE] = 0x01DF, | |
| [0x01E0] = 0x01E1, | |
| [0x01E2] = 0x01E3, | |
| [0x01E4] = 0x01E5, | |
| [0x01E6] = 0x01E7, | |
| [0x01E8] = 0x01E9, | |
| [0x01EA] = 0x01EB, | |
| [0x01EC] = 0x01ED, | |
| [0x01EE] = 0x01EF, | |
| [0x01F0] = {0x006A, 0x030C}, | |
| [0x01F1] = 0x01F3, | |
| [0x01F2] = 0x01F3, | |
| [0x01F4] = 0x01F5, | |
| [0x01F6] = 0x0195, | |
| [0x01F7] = 0x01BF, | |
| [0x01F8] = 0x01F9, | |
| [0x01FA] = 0x01FB, | |
| [0x01FC] = 0x01FD, | |
| [0x01FE] = 0x01FF, | |
| [0x0200] = 0x0201, | |
| [0x0202] = 0x0203, | |
| [0x0204] = 0x0205, | |
| [0x0206] = 0x0207, | |
| [0x0208] = 0x0209, | |
| [0x020A] = 0x020B, | |
| [0x020C] = 0x020D, | |
| [0x020E] = 0x020F, | |
| [0x0210] = 0x0211, | |
| [0x0212] = 0x0213, | |
| [0x0214] = 0x0215, | |
| [0x0216] = 0x0217, | |
| [0x0218] = 0x0219, | |
| [0x021A] = 0x021B, | |
| [0x021C] = 0x021D, | |
| [0x021E] = 0x021F, | |
| [0x0220] = 0x019E, | |
| [0x0222] = 0x0223, | |
| [0x0224] = 0x0225, | |
| [0x0226] = 0x0227, | |
| [0x0228] = 0x0229, | |
| [0x022A] = 0x022B, | |
| [0x022C] = 0x022D, | |
| [0x022E] = 0x022F, | |
| [0x0230] = 0x0231, | |
| [0x0232] = 0x0233, | |
| [0x023A] = 0x2C65, | |
| [0x023B] = 0x023C, | |
| [0x023D] = 0x019A, | |
| [0x023E] = 0x2C66, | |
| [0x0241] = 0x0242, | |
| [0x0243] = 0x0180, | |
| [0x0244] = 0x0289, | |
| [0x0245] = 0x028C, | |
| [0x0246] = 0x0247, | |
| [0x0248] = 0x0249, | |
| [0x024A] = 0x024B, | |
| [0x024C] = 0x024D, | |
| [0x024E] = 0x024F, | |
| [0x0345] = 0x03B9, | |
| [0x0370] = 0x0371, | |
| [0x0372] = 0x0373, | |
| [0x0376] = 0x0377, | |
| [0x037F] = 0x03F3, | |
| [0x0386] = 0x03AC, | |
| [0x0388] = 0x03AD, | |
| [0x0389] = 0x03AE, | |
| [0x038A] = 0x03AF, | |
| [0x038C] = 0x03CC, | |
| [0x038E] = 0x03CD, | |
| [0x038F] = 0x03CE, | |
| [0x0390] = {0x03B9, 0x0308, 0x0301}, | |
| [0x0391] = 0x03B1, | |
| [0x0392] = 0x03B2, | |
| [0x0393] = 0x03B3, | |
| [0x0394] = 0x03B4, | |
| [0x0395] = 0x03B5, | |
| [0x0396] = 0x03B6, | |
| [0x0397] = 0x03B7, | |
| [0x0398] = 0x03B8, | |
| [0x0399] = 0x03B9, | |
| [0x039A] = 0x03BA, | |
| [0x039B] = 0x03BB, | |
| [0x039C] = 0x03BC, | |
| [0x039D] = 0x03BD, | |
| [0x039E] = 0x03BE, | |
| [0x039F] = 0x03BF, | |
| [0x03A0] = 0x03C0, | |
| [0x03A1] = 0x03C1, | |
| [0x03A3] = 0x03C3, | |
| [0x03A4] = 0x03C4, | |
| [0x03A5] = 0x03C5, | |
| [0x03A6] = 0x03C6, | |
| [0x03A7] = 0x03C7, | |
| [0x03A8] = 0x03C8, | |
| [0x03A9] = 0x03C9, | |
| [0x03AA] = 0x03CA, | |
| [0x03AB] = 0x03CB, | |
| [0x03B0] = {0x03C5, 0x0308, 0x0301}, | |
| [0x03C2] = 0x03C3, | |
| [0x03CF] = 0x03D7, | |
| [0x03D0] = 0x03B2, | |
| [0x03D1] = 0x03B8, | |
| [0x03D5] = 0x03C6, | |
| [0x03D6] = 0x03C0, | |
| [0x03D8] = 0x03D9, | |
| [0x03DA] = 0x03DB, | |
| [0x03DC] = 0x03DD, | |
| [0x03DE] = 0x03DF, | |
| [0x03E0] = 0x03E1, | |
| [0x03E2] = 0x03E3, | |
| [0x03E4] = 0x03E5, | |
| [0x03E6] = 0x03E7, | |
| [0x03E8] = 0x03E9, | |
| [0x03EA] = 0x03EB, | |
| [0x03EC] = 0x03ED, | |
| [0x03EE] = 0x03EF, | |
| [0x03F0] = 0x03BA, | |
| [0x03F1] = 0x03C1, | |
| [0x03F4] = 0x03B8, | |
| [0x03F5] = 0x03B5, | |
| [0x03F7] = 0x03F8, | |
| [0x03F9] = 0x03F2, | |
| [0x03FA] = 0x03FB, | |
| [0x03FD] = 0x037B, | |
| [0x03FE] = 0x037C, | |
| [0x03FF] = 0x037D, | |
| [0x0400] = 0x0450, | |
| [0x0401] = 0x0451, | |
| [0x0402] = 0x0452, | |
| [0x0403] = 0x0453, | |
| [0x0404] = 0x0454, | |
| [0x0405] = 0x0455, | |
| [0x0406] = 0x0456, | |
| [0x0407] = 0x0457, | |
| [0x0408] = 0x0458, | |
| [0x0409] = 0x0459, | |
| [0x040A] = 0x045A, | |
| [0x040B] = 0x045B, | |
| [0x040C] = 0x045C, | |
| [0x040D] = 0x045D, | |
| [0x040E] = 0x045E, | |
| [0x040F] = 0x045F, | |
| [0x0410] = 0x0430, | |
| [0x0411] = 0x0431, | |
| [0x0412] = 0x0432, | |
| [0x0413] = 0x0433, | |
| [0x0414] = 0x0434, | |
| [0x0415] = 0x0435, | |
| [0x0416] = 0x0436, | |
| [0x0417] = 0x0437, | |
| [0x0418] = 0x0438, | |
| [0x0419] = 0x0439, | |
| [0x041A] = 0x043A, | |
| [0x041B] = 0x043B, | |
| [0x041C] = 0x043C, | |
| [0x041D] = 0x043D, | |
| [0x041E] = 0x043E, | |
| [0x041F] = 0x043F, | |
| [0x0420] = 0x0440, | |
| [0x0421] = 0x0441, | |
| [0x0422] = 0x0442, | |
| [0x0423] = 0x0443, | |
| [0x0424] = 0x0444, | |
| [0x0425] = 0x0445, | |
| [0x0426] = 0x0446, | |
| [0x0427] = 0x0447, | |
| [0x0428] = 0x0448, | |
| [0x0429] = 0x0449, | |
| [0x042A] = 0x044A, | |
| [0x042B] = 0x044B, | |
| [0x042C] = 0x044C, | |
| [0x042D] = 0x044D, | |
| [0x042E] = 0x044E, | |
| [0x042F] = 0x044F, | |
| [0x0460] = 0x0461, | |
| [0x0462] = 0x0463, | |
| [0x0464] = 0x0465, | |
| [0x0466] = 0x0467, | |
| [0x0468] = 0x0469, | |
| [0x046A] = 0x046B, | |
| [0x046C] = 0x046D, | |
| [0x046E] = 0x046F, | |
| [0x0470] = 0x0471, | |
| [0x0472] = 0x0473, | |
| [0x0474] = 0x0475, | |
| [0x0476] = 0x0477, | |
| [0x0478] = 0x0479, | |
| [0x047A] = 0x047B, | |
| [0x047C] = 0x047D, | |
| [0x047E] = 0x047F, | |
| [0x0480] = 0x0481, | |
| [0x048A] = 0x048B, | |
| [0x048C] = 0x048D, | |
| [0x048E] = 0x048F, | |
| [0x0490] = 0x0491, | |
| [0x0492] = 0x0493, | |
| [0x0494] = 0x0495, | |
| [0x0496] = 0x0497, | |
| [0x0498] = 0x0499, | |
| [0x049A] = 0x049B, | |
| [0x049C] = 0x049D, | |
| [0x049E] = 0x049F, | |
| [0x04A0] = 0x04A1, | |
| [0x04A2] = 0x04A3, | |
| [0x04A4] = 0x04A5, | |
| [0x04A6] = 0x04A7, | |
| [0x04A8] = 0x04A9, | |
| [0x04AA] = 0x04AB, | |
| [0x04AC] = 0x04AD, | |
| [0x04AE] = 0x04AF, | |
| [0x04B0] = 0x04B1, | |
| [0x04B2] = 0x04B3, | |
| [0x04B4] = 0x04B5, | |
| [0x04B6] = 0x04B7, | |
| [0x04B8] = 0x04B9, | |
| [0x04BA] = 0x04BB, | |
| [0x04BC] = 0x04BD, | |
| [0x04BE] = 0x04BF, | |
| [0x04C0] = 0x04CF, | |
| [0x04C1] = 0x04C2, | |
| [0x04C3] = 0x04C4, | |
| [0x04C5] = 0x04C6, | |
| [0x04C7] = 0x04C8, | |
| [0x04C9] = 0x04CA, | |
| [0x04CB] = 0x04CC, | |
| [0x04CD] = 0x04CE, | |
| [0x04D0] = 0x04D1, | |
| [0x04D2] = 0x04D3, | |
| [0x04D4] = 0x04D5, | |
| [0x04D6] = 0x04D7, | |
| [0x04D8] = 0x04D9, | |
| [0x04DA] = 0x04DB, | |
| [0x04DC] = 0x04DD, | |
| [0x04DE] = 0x04DF, | |
| [0x04E0] = 0x04E1, | |
| [0x04E2] = 0x04E3, | |
| [0x04E4] = 0x04E5, | |
| [0x04E6] = 0x04E7, | |
| [0x04E8] = 0x04E9, | |
| [0x04EA] = 0x04EB, | |
| [0x04EC] = 0x04ED, | |
| [0x04EE] = 0x04EF, | |
| [0x04F0] = 0x04F1, | |
| [0x04F2] = 0x04F3, | |
| [0x04F4] = 0x04F5, | |
| [0x04F6] = 0x04F7, | |
| [0x04F8] = 0x04F9, | |
| [0x04FA] = 0x04FB, | |
| [0x04FC] = 0x04FD, | |
| [0x04FE] = 0x04FF, | |
| [0x0500] = 0x0501, | |
| [0x0502] = 0x0503, | |
| [0x0504] = 0x0505, | |
| [0x0506] = 0x0507, | |
| [0x0508] = 0x0509, | |
| [0x050A] = 0x050B, | |
| [0x050C] = 0x050D, | |
| [0x050E] = 0x050F, | |
| [0x0510] = 0x0511, | |
| [0x0512] = 0x0513, | |
| [0x0514] = 0x0515, | |
| [0x0516] = 0x0517, | |
| [0x0518] = 0x0519, | |
| [0x051A] = 0x051B, | |
| [0x051C] = 0x051D, | |
| [0x051E] = 0x051F, | |
| [0x0520] = 0x0521, | |
| [0x0522] = 0x0523, | |
| [0x0524] = 0x0525, | |
| [0x0526] = 0x0527, | |
| [0x0528] = 0x0529, | |
| [0x052A] = 0x052B, | |
| [0x052C] = 0x052D, | |
| [0x052E] = 0x052F, | |
| [0x0531] = 0x0561, | |
| [0x0532] = 0x0562, | |
| [0x0533] = 0x0563, | |
| [0x0534] = 0x0564, | |
| [0x0535] = 0x0565, | |
| [0x0536] = 0x0566, | |
| [0x0537] = 0x0567, | |
| [0x0538] = 0x0568, | |
| [0x0539] = 0x0569, | |
| [0x053A] = 0x056A, | |
| [0x053B] = 0x056B, | |
| [0x053C] = 0x056C, | |
| [0x053D] = 0x056D, | |
| [0x053E] = 0x056E, | |
| [0x053F] = 0x056F, | |
| [0x0540] = 0x0570, | |
| [0x0541] = 0x0571, | |
| [0x0542] = 0x0572, | |
| [0x0543] = 0x0573, | |
| [0x0544] = 0x0574, | |
| [0x0545] = 0x0575, | |
| [0x0546] = 0x0576, | |
| [0x0547] = 0x0577, | |
| [0x0548] = 0x0578, | |
| [0x0549] = 0x0579, | |
| [0x054A] = 0x057A, | |
| [0x054B] = 0x057B, | |
| [0x054C] = 0x057C, | |
| [0x054D] = 0x057D, | |
| [0x054E] = 0x057E, | |
| [0x054F] = 0x057F, | |
| [0x0550] = 0x0580, | |
| [0x0551] = 0x0581, | |
| [0x0552] = 0x0582, | |
| [0x0553] = 0x0583, | |
| [0x0554] = 0x0584, | |
| [0x0555] = 0x0585, | |
| [0x0556] = 0x0586, | |
| [0x0587] = {0x0565, 0x0582}, | |
| [0x10A0] = 0x2D00, | |
| [0x10A1] = 0x2D01, | |
| [0x10A2] = 0x2D02, | |
| [0x10A3] = 0x2D03, | |
| [0x10A4] = 0x2D04, | |
| [0x10A5] = 0x2D05, | |
| [0x10A6] = 0x2D06, | |
| [0x10A7] = 0x2D07, | |
| [0x10A8] = 0x2D08, | |
| [0x10A9] = 0x2D09, | |
| [0x10AA] = 0x2D0A, | |
| [0x10AB] = 0x2D0B, | |
| [0x10AC] = 0x2D0C, | |
| [0x10AD] = 0x2D0D, | |
| [0x10AE] = 0x2D0E, | |
| [0x10AF] = 0x2D0F, | |
| [0x10B0] = 0x2D10, | |
| [0x10B1] = 0x2D11, | |
| [0x10B2] = 0x2D12, | |
| [0x10B3] = 0x2D13, | |
| [0x10B4] = 0x2D14, | |
| [0x10B5] = 0x2D15, | |
| [0x10B6] = 0x2D16, | |
| [0x10B7] = 0x2D17, | |
| [0x10B8] = 0x2D18, | |
| [0x10B9] = 0x2D19, | |
| [0x10BA] = 0x2D1A, | |
| [0x10BB] = 0x2D1B, | |
| [0x10BC] = 0x2D1C, | |
| [0x10BD] = 0x2D1D, | |
| [0x10BE] = 0x2D1E, | |
| [0x10BF] = 0x2D1F, | |
| [0x10C0] = 0x2D20, | |
| [0x10C1] = 0x2D21, | |
| [0x10C2] = 0x2D22, | |
| [0x10C3] = 0x2D23, | |
| [0x10C4] = 0x2D24, | |
| [0x10C5] = 0x2D25, | |
| [0x10C7] = 0x2D27, | |
| [0x10CD] = 0x2D2D, | |
| [0x13F8] = 0x13F0, | |
| [0x13F9] = 0x13F1, | |
| [0x13FA] = 0x13F2, | |
| [0x13FB] = 0x13F3, | |
| [0x13FC] = 0x13F4, | |
| [0x13FD] = 0x13F5, | |
| [0x1C80] = 0x0432, | |
| [0x1C81] = 0x0434, | |
| [0x1C82] = 0x043E, | |
| [0x1C83] = 0x0441, | |
| [0x1C84] = 0x0442, | |
| [0x1C85] = 0x0442, | |
| [0x1C86] = 0x044A, | |
| [0x1C87] = 0x0463, | |
| [0x1C88] = 0xA64B, | |
| [0x1C90] = 0x10D0, | |
| [0x1C91] = 0x10D1, | |
| [0x1C92] = 0x10D2, | |
| [0x1C93] = 0x10D3, | |
| [0x1C94] = 0x10D4, | |
| [0x1C95] = 0x10D5, | |
| [0x1C96] = 0x10D6, | |
| [0x1C97] = 0x10D7, | |
| [0x1C98] = 0x10D8, | |
| [0x1C99] = 0x10D9, | |
| [0x1C9A] = 0x10DA, | |
| [0x1C9B] = 0x10DB, | |
| [0x1C9C] = 0x10DC, | |
| [0x1C9D] = 0x10DD, | |
| [0x1C9E] = 0x10DE, | |
| [0x1C9F] = 0x10DF, | |
| [0x1CA0] = 0x10E0, | |
| [0x1CA1] = 0x10E1, | |
| [0x1CA2] = 0x10E2, | |
| [0x1CA3] = 0x10E3, | |
| [0x1CA4] = 0x10E4, | |
| [0x1CA5] = 0x10E5, | |
| [0x1CA6] = 0x10E6, | |
| [0x1CA7] = 0x10E7, | |
| [0x1CA8] = 0x10E8, | |
| [0x1CA9] = 0x10E9, | |
| [0x1CAA] = 0x10EA, | |
| [0x1CAB] = 0x10EB, | |
| [0x1CAC] = 0x10EC, | |
| [0x1CAD] = 0x10ED, | |
| [0x1CAE] = 0x10EE, | |
| [0x1CAF] = 0x10EF, | |
| [0x1CB0] = 0x10F0, | |
| [0x1CB1] = 0x10F1, | |
| [0x1CB2] = 0x10F2, | |
| [0x1CB3] = 0x10F3, | |
| [0x1CB4] = 0x10F4, | |
| [0x1CB5] = 0x10F5, | |
| [0x1CB6] = 0x10F6, | |
| [0x1CB7] = 0x10F7, | |
| [0x1CB8] = 0x10F8, | |
| [0x1CB9] = 0x10F9, | |
| [0x1CBA] = 0x10FA, | |
| [0x1CBD] = 0x10FD, | |
| [0x1CBE] = 0x10FE, | |
| [0x1CBF] = 0x10FF, | |
| [0x1E00] = 0x1E01, | |
| [0x1E02] = 0x1E03, | |
| [0x1E04] = 0x1E05, | |
| [0x1E06] = 0x1E07, | |
| [0x1E08] = 0x1E09, | |
| [0x1E0A] = 0x1E0B, | |
| [0x1E0C] = 0x1E0D, | |
| [0x1E0E] = 0x1E0F, | |
| [0x1E10] = 0x1E11, | |
| [0x1E12] = 0x1E13, | |
| [0x1E14] = 0x1E15, | |
| [0x1E16] = 0x1E17, | |
| [0x1E18] = 0x1E19, | |
| [0x1E1A] = 0x1E1B, | |
| [0x1E1C] = 0x1E1D, | |
| [0x1E1E] = 0x1E1F, | |
| [0x1E20] = 0x1E21, | |
| [0x1E22] = 0x1E23, | |
| [0x1E24] = 0x1E25, | |
| [0x1E26] = 0x1E27, | |
| [0x1E28] = 0x1E29, | |
| [0x1E2A] = 0x1E2B, | |
| [0x1E2C] = 0x1E2D, | |
| [0x1E2E] = 0x1E2F, | |
| [0x1E30] = 0x1E31, | |
| [0x1E32] = 0x1E33, | |
| [0x1E34] = 0x1E35, | |
| [0x1E36] = 0x1E37, | |
| [0x1E38] = 0x1E39, | |
| [0x1E3A] = 0x1E3B, | |
| [0x1E3C] = 0x1E3D, | |
| [0x1E3E] = 0x1E3F, | |
| [0x1E40] = 0x1E41, | |
| [0x1E42] = 0x1E43, | |
| [0x1E44] = 0x1E45, | |
| [0x1E46] = 0x1E47, | |
| [0x1E48] = 0x1E49, | |
| [0x1E4A] = 0x1E4B, | |
| [0x1E4C] = 0x1E4D, | |
| [0x1E4E] = 0x1E4F, | |
| [0x1E50] = 0x1E51, | |
| [0x1E52] = 0x1E53, | |
| [0x1E54] = 0x1E55, | |
| [0x1E56] = 0x1E57, | |
| [0x1E58] = 0x1E59, | |
| [0x1E5A] = 0x1E5B, | |
| [0x1E5C] = 0x1E5D, | |
| [0x1E5E] = 0x1E5F, | |
| [0x1E60] = 0x1E61, | |
| [0x1E62] = 0x1E63, | |
| [0x1E64] = 0x1E65, | |
| [0x1E66] = 0x1E67, | |
| [0x1E68] = 0x1E69, | |
| [0x1E6A] = 0x1E6B, | |
| [0x1E6C] = 0x1E6D, | |
| [0x1E6E] = 0x1E6F, | |
| [0x1E70] = 0x1E71, | |
| [0x1E72] = 0x1E73, | |
| [0x1E74] = 0x1E75, | |
| [0x1E76] = 0x1E77, | |
| [0x1E78] = 0x1E79, | |
| [0x1E7A] = 0x1E7B, | |
| [0x1E7C] = 0x1E7D, | |
| [0x1E7E] = 0x1E7F, | |
| [0x1E80] = 0x1E81, | |
| [0x1E82] = 0x1E83, | |
| [0x1E84] = 0x1E85, | |
| [0x1E86] = 0x1E87, | |
| [0x1E88] = 0x1E89, | |
| [0x1E8A] = 0x1E8B, | |
| [0x1E8C] = 0x1E8D, | |
| [0x1E8E] = 0x1E8F, | |
| [0x1E90] = 0x1E91, | |
| [0x1E92] = 0x1E93, | |
| [0x1E94] = 0x1E95, | |
| [0x1E96] = {0x0068, 0x0331}, | |
| [0x1E97] = {0x0074, 0x0308}, | |
| [0x1E98] = {0x0077, 0x030A}, | |
| [0x1E99] = {0x0079, 0x030A}, | |
| [0x1E9A] = {0x0061, 0x02BE}, | |
| [0x1E9B] = 0x1E61, | |
| [0x1E9E] = {0x0073, 0x0073}, | |
| --1E9E; S;0x00DF, ; # LATIN CAPITAL LETTER SHARP S | |
| [0x1EA0] = 0x1EA1, | |
| [0x1EA2] = 0x1EA3, | |
| [0x1EA4] = 0x1EA5, | |
| [0x1EA6] = 0x1EA7, | |
| [0x1EA8] = 0x1EA9, | |
| [0x1EAA] = 0x1EAB, | |
| [0x1EAC] = 0x1EAD, | |
| [0x1EAE] = 0x1EAF, | |
| [0x1EB0] = 0x1EB1, | |
| [0x1EB2] = 0x1EB3, | |
| [0x1EB4] = 0x1EB5, | |
| [0x1EB6] = 0x1EB7, | |
| [0x1EB8] = 0x1EB9, | |
| [0x1EBA] = 0x1EBB, | |
| [0x1EBC] = 0x1EBD, | |
| [0x1EBE] = 0x1EBF, | |
| [0x1EC0] = 0x1EC1, | |
| [0x1EC2] = 0x1EC3, | |
| [0x1EC4] = 0x1EC5, | |
| [0x1EC6] = 0x1EC7, | |
| [0x1EC8] = 0x1EC9, | |
| [0x1ECA] = 0x1ECB, | |
| [0x1ECC] = 0x1ECD, | |
| [0x1ECE] = 0x1ECF, | |
| [0x1ED0] = 0x1ED1, | |
| [0x1ED2] = 0x1ED3, | |
| [0x1ED4] = 0x1ED5, | |
| [0x1ED6] = 0x1ED7, | |
| [0x1ED8] = 0x1ED9, | |
| [0x1EDA] = 0x1EDB, | |
| [0x1EDC] = 0x1EDD, | |
| [0x1EDE] = 0x1EDF, | |
| [0x1EE0] = 0x1EE1, | |
| [0x1EE2] = 0x1EE3, | |
| [0x1EE4] = 0x1EE5, | |
| [0x1EE6] = 0x1EE7, | |
| [0x1EE8] = 0x1EE9, | |
| [0x1EEA] = 0x1EEB, | |
| [0x1EEC] = 0x1EED, | |
| [0x1EEE] = 0x1EEF, | |
| [0x1EF0] = 0x1EF1, | |
| [0x1EF2] = 0x1EF3, | |
| [0x1EF4] = 0x1EF5, | |
| [0x1EF6] = 0x1EF7, | |
| [0x1EF8] = 0x1EF9, | |
| [0x1EFA] = 0x1EFB, | |
| [0x1EFC] = 0x1EFD, | |
| [0x1EFE] = 0x1EFF, | |
| [0x1F08] = 0x1F00, | |
| [0x1F09] = 0x1F01, | |
| [0x1F0A] = 0x1F02, | |
| [0x1F0B] = 0x1F03, | |
| [0x1F0C] = 0x1F04, | |
| [0x1F0D] = 0x1F05, | |
| [0x1F0E] = 0x1F06, | |
| [0x1F0F] = 0x1F07, | |
| [0x1F18] = 0x1F10, | |
| [0x1F19] = 0x1F11, | |
| [0x1F1A] = 0x1F12, | |
| [0x1F1B] = 0x1F13, | |
| [0x1F1C] = 0x1F14, | |
| [0x1F1D] = 0x1F15, | |
| [0x1F28] = 0x1F20, | |
| [0x1F29] = 0x1F21, | |
| [0x1F2A] = 0x1F22, | |
| [0x1F2B] = 0x1F23, | |
| [0x1F2C] = 0x1F24, | |
| [0x1F2D] = 0x1F25, | |
| [0x1F2E] = 0x1F26, | |
| [0x1F2F] = 0x1F27, | |
| [0x1F38] = 0x1F30, | |
| [0x1F39] = 0x1F31, | |
| [0x1F3A] = 0x1F32, | |
| [0x1F3B] = 0x1F33, | |
| [0x1F3C] = 0x1F34, | |
| [0x1F3D] = 0x1F35, | |
| [0x1F3E] = 0x1F36, | |
| [0x1F3F] = 0x1F37, | |
| [0x1F48] = 0x1F40, | |
| [0x1F49] = 0x1F41, | |
| [0x1F4A] = 0x1F42, | |
| [0x1F4B] = 0x1F43, | |
| [0x1F4C] = 0x1F44, | |
| [0x1F4D] = 0x1F45, | |
| [0x1F50] = {0x03C5, 0x0313}, | |
| [0x1F52] = {0x03C5, 0x0313, 0x0300}, | |
| [0x1F54] = {0x03C5, 0x0313, 0x0301}, | |
| [0x1F56] = {0x03C5, 0x0313, 0x0342}, | |
| [0x1F59] = 0x1F51, | |
| [0x1F5B] = 0x1F53, | |
| [0x1F5D] = 0x1F55, | |
| [0x1F5F] = 0x1F57, | |
| [0x1F68] = 0x1F60, | |
| [0x1F69] = 0x1F61, | |
| [0x1F6A] = 0x1F62, | |
| [0x1F6B] = 0x1F63, | |
| [0x1F6C] = 0x1F64, | |
| [0x1F6D] = 0x1F65, | |
| [0x1F6E] = 0x1F66, | |
| [0x1F6F] = 0x1F67, | |
| [0x1F80] = {0x1F00, 0x03B9}, | |
| [0x1F81] = {0x1F01, 0x03B9}, | |
| [0x1F82] = {0x1F02, 0x03B9}, | |
| [0x1F83] = {0x1F03, 0x03B9}, | |
| [0x1F84] = {0x1F04, 0x03B9}, | |
| [0x1F85] = {0x1F05, 0x03B9}, | |
| [0x1F86] = {0x1F06, 0x03B9}, | |
| [0x1F87] = {0x1F07, 0x03B9}, | |
| [0x1F88] = {0x1F00, 0x03B9}, | |
| --1F88; S;0x1F80, ; # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI | |
| [0x1F89] = {0x1F01, 0x03B9}, | |
| --1F89; S;0x1F81, ; # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI | |
| [0x1F8A] = {0x1F02, 0x03B9}, | |
| --1F8A; S;0x1F82, ; # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI | |
| [0x1F8B] = {0x1F03, 0x03B9}, | |
| --1F8B; S;0x1F83, ; # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI | |
| [0x1F8C] = {0x1F04, 0x03B9}, | |
| --1F8C; S;0x1F84, ; # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI | |
| [0x1F8D] = {0x1F05, 0x03B9}, | |
| --1F8D; S;0x1F85, ; # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI | |
| [0x1F8E] = {0x1F06, 0x03B9}, | |
| --1F8E; S;0x1F86, ; # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI | |
| [0x1F8F] = {0x1F07, 0x03B9}, | |
| --1F8F; S;0x1F87, ; # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI | |
| [0x1F90] = {0x1F20, 0x03B9}, | |
| [0x1F91] = {0x1F21, 0x03B9}, | |
| [0x1F92] = {0x1F22, 0x03B9}, | |
| [0x1F93] = {0x1F23, 0x03B9}, | |
| [0x1F94] = {0x1F24, 0x03B9}, | |
| [0x1F95] = {0x1F25, 0x03B9}, | |
| [0x1F96] = {0x1F26, 0x03B9}, | |
| [0x1F97] = {0x1F27, 0x03B9}, | |
| [0x1F98] = {0x1F20, 0x03B9}, | |
| --1F98; S;0x1F90, ; # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI | |
| [0x1F99] = {0x1F21, 0x03B9}, | |
| --1F99; S;0x1F91, ; # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI | |
| [0x1F9A] = {0x1F22, 0x03B9}, | |
| --1F9A; S;0x1F92, ; # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI | |
| [0x1F9B] = {0x1F23, 0x03B9}, | |
| --1F9B; S;0x1F93, ; # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI | |
| [0x1F9C] = {0x1F24, 0x03B9}, | |
| --1F9C; S;0x1F94, ; # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI | |
| [0x1F9D] = {0x1F25, 0x03B9}, | |
| --1F9D; S;0x1F95, ; # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI | |
| [0x1F9E] = {0x1F26, 0x03B9}, | |
| --1F9E; S;0x1F96, ; # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI | |
| [0x1F9F] = {0x1F27, 0x03B9}, | |
| --1F9F; S;0x1F97, ; # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI | |
| [0x1FA0] = {0x1F60, 0x03B9}, | |
| [0x1FA1] = {0x1F61, 0x03B9}, | |
| [0x1FA2] = {0x1F62, 0x03B9}, | |
| [0x1FA3] = {0x1F63, 0x03B9}, | |
| [0x1FA4] = {0x1F64, 0x03B9}, | |
| [0x1FA5] = {0x1F65, 0x03B9}, | |
| [0x1FA6] = {0x1F66, 0x03B9}, | |
| [0x1FA7] = {0x1F67, 0x03B9}, | |
| [0x1FA8] = {0x1F60, 0x03B9}, | |
| --1FA8; S;0x1FA0, ; # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI | |
| [0x1FA9] = {0x1F61, 0x03B9}, | |
| --1FA9; S;0x1FA1, ; # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI | |
| [0x1FAA] = {0x1F62, 0x03B9}, | |
| --1FAA; S;0x1FA2, ; # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI | |
| [0x1FAB] = {0x1F63, 0x03B9}, | |
| --1FAB; S;0x1FA3, ; # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI | |
| [0x1FAC] = {0x1F64, 0x03B9}, | |
| --1FAC; S;0x1FA4, ; # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI | |
| [0x1FAD] = {0x1F65, 0x03B9}, | |
| --1FAD; S;0x1FA5, ; # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI | |
| [0x1FAE] = {0x1F66, 0x03B9}, | |
| --1FAE; S;0x1FA6, ; # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI | |
| [0x1FAF] = {0x1F67, 0x03B9}, | |
| --1FAF; S;0x1FA7, ; # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI | |
| [0x1FB2] = {0x1F70, 0x03B9}, | |
| [0x1FB3] = {0x03B1, 0x03B9}, | |
| [0x1FB4] = {0x03AC, 0x03B9}, | |
| [0x1FB6] = {0x03B1, 0x0342}, | |
| [0x1FB7] = {0x03B1, 0x0342, 0x03B9}, | |
| [0x1FB8] = 0x1FB0, | |
| [0x1FB9] = 0x1FB1, | |
| [0x1FBA] = 0x1F70, | |
| [0x1FBB] = 0x1F71, | |
| [0x1FBC] = {0x03B1, 0x03B9}, | |
| --1FBC; S;0x1FB3, ; # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI | |
| [0x1FBE] = 0x03B9, | |
| [0x1FC2] = {0x1F74, 0x03B9}, | |
| [0x1FC3] = {0x03B7, 0x03B9}, | |
| [0x1FC4] = {0x03AE, 0x03B9}, | |
| [0x1FC6] = {0x03B7, 0x0342}, | |
| [0x1FC7] = {0x03B7, 0x0342, 0x03B9}, | |
| [0x1FC8] = 0x1F72, | |
| [0x1FC9] = 0x1F73, | |
| [0x1FCA] = 0x1F74, | |
| [0x1FCB] = 0x1F75, | |
| [0x1FCC] = {0x03B7, 0x03B9}, | |
| --1FCC; S;0x1FC3, ; # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI | |
| [0x1FD2] = {0x03B9, 0x0308, 0x0300}, | |
| [0x1FD3] = {0x03B9, 0x0308, 0x0301}, | |
| [0x1FD6] = {0x03B9, 0x0342}, | |
| [0x1FD7] = {0x03B9, 0x0308, 0x0342}, | |
| [0x1FD8] = 0x1FD0, | |
| [0x1FD9] = 0x1FD1, | |
| [0x1FDA] = 0x1F76, | |
| [0x1FDB] = 0x1F77, | |
| [0x1FE2] = {0x03C5, 0x0308, 0x0300}, | |
| [0x1FE3] = {0x03C5, 0x0308, 0x0301}, | |
| [0x1FE4] = {0x03C1, 0x0313}, | |
| [0x1FE6] = {0x03C5, 0x0342}, | |
| [0x1FE7] = {0x03C5, 0x0308, 0x0342}, | |
| [0x1FE8] = 0x1FE0, | |
| [0x1FE9] = 0x1FE1, | |
| [0x1FEA] = 0x1F7A, | |
| [0x1FEB] = 0x1F7B, | |
| [0x1FEC] = 0x1FE5, | |
| [0x1FF2] = {0x1F7C, 0x03B9}, | |
| [0x1FF3] = {0x03C9, 0x03B9}, | |
| [0x1FF4] = {0x03CE, 0x03B9}, | |
| [0x1FF6] = {0x03C9, 0x0342}, | |
| [0x1FF7] = {0x03C9, 0x0342, 0x03B9}, | |
| [0x1FF8] = 0x1F78, | |
| [0x1FF9] = 0x1F79, | |
| [0x1FFA] = 0x1F7C, | |
| [0x1FFB] = 0x1F7D, | |
| [0x1FFC] = {0x03C9, 0x03B9}, | |
| --1FFC; S;0x1FF3, ; # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI | |
| [0x2126] = 0x03C9, | |
| [0x212A] = 0x006B, | |
| [0x212B] = 0x00E5, | |
| [0x2132] = 0x214E, | |
| [0x2160] = 0x2170, | |
| [0x2161] = 0x2171, | |
| [0x2162] = 0x2172, | |
| [0x2163] = 0x2173, | |
| [0x2164] = 0x2174, | |
| [0x2165] = 0x2175, | |
| [0x2166] = 0x2176, | |
| [0x2167] = 0x2177, | |
| [0x2168] = 0x2178, | |
| [0x2169] = 0x2179, | |
| [0x216A] = 0x217A, | |
| [0x216B] = 0x217B, | |
| [0x216C] = 0x217C, | |
| [0x216D] = 0x217D, | |
| [0x216E] = 0x217E, | |
| [0x216F] = 0x217F, | |
| [0x2183] = 0x2184, | |
| [0x24B6] = 0x24D0, | |
| [0x24B7] = 0x24D1, | |
| [0x24B8] = 0x24D2, | |
| [0x24B9] = 0x24D3, | |
| [0x24BA] = 0x24D4, | |
| [0x24BB] = 0x24D5, | |
| [0x24BC] = 0x24D6, | |
| [0x24BD] = 0x24D7, | |
| [0x24BE] = 0x24D8, | |
| [0x24BF] = 0x24D9, | |
| [0x24C0] = 0x24DA, | |
| [0x24C1] = 0x24DB, | |
| [0x24C2] = 0x24DC, | |
| [0x24C3] = 0x24DD, | |
| [0x24C4] = 0x24DE, | |
| [0x24C5] = 0x24DF, | |
| [0x24C6] = 0x24E0, | |
| [0x24C7] = 0x24E1, | |
| [0x24C8] = 0x24E2, | |
| [0x24C9] = 0x24E3, | |
| [0x24CA] = 0x24E4, | |
| [0x24CB] = 0x24E5, | |
| [0x24CC] = 0x24E6, | |
| [0x24CD] = 0x24E7, | |
| [0x24CE] = 0x24E8, | |
| [0x24CF] = 0x24E9, | |
| [0x2C00] = 0x2C30, | |
| [0x2C01] = 0x2C31, | |
| [0x2C02] = 0x2C32, | |
| [0x2C03] = 0x2C33, | |
| [0x2C04] = 0x2C34, | |
| [0x2C05] = 0x2C35, | |
| [0x2C06] = 0x2C36, | |
| [0x2C07] = 0x2C37, | |
| [0x2C08] = 0x2C38, | |
| [0x2C09] = 0x2C39, | |
| [0x2C0A] = 0x2C3A, | |
| [0x2C0B] = 0x2C3B, | |
| [0x2C0C] = 0x2C3C, | |
| [0x2C0D] = 0x2C3D, | |
| [0x2C0E] = 0x2C3E, | |
| [0x2C0F] = 0x2C3F, | |
| [0x2C10] = 0x2C40, | |
| [0x2C11] = 0x2C41, | |
| [0x2C12] = 0x2C42, | |
| [0x2C13] = 0x2C43, | |
| [0x2C14] = 0x2C44, | |
| [0x2C15] = 0x2C45, | |
| [0x2C16] = 0x2C46, | |
| [0x2C17] = 0x2C47, | |
| [0x2C18] = 0x2C48, | |
| [0x2C19] = 0x2C49, | |
| [0x2C1A] = 0x2C4A, | |
| [0x2C1B] = 0x2C4B, | |
| [0x2C1C] = 0x2C4C, | |
| [0x2C1D] = 0x2C4D, | |
| [0x2C1E] = 0x2C4E, | |
| [0x2C1F] = 0x2C4F, | |
| [0x2C20] = 0x2C50, | |
| [0x2C21] = 0x2C51, | |
| [0x2C22] = 0x2C52, | |
| [0x2C23] = 0x2C53, | |
| [0x2C24] = 0x2C54, | |
| [0x2C25] = 0x2C55, | |
| [0x2C26] = 0x2C56, | |
| [0x2C27] = 0x2C57, | |
| [0x2C28] = 0x2C58, | |
| [0x2C29] = 0x2C59, | |
| [0x2C2A] = 0x2C5A, | |
| [0x2C2B] = 0x2C5B, | |
| [0x2C2C] = 0x2C5C, | |
| [0x2C2D] = 0x2C5D, | |
| [0x2C2E] = 0x2C5E, | |
| [0x2C60] = 0x2C61, | |
| [0x2C62] = 0x026B, | |
| [0x2C63] = 0x1D7D, | |
| [0x2C64] = 0x027D, | |
| [0x2C67] = 0x2C68, | |
| [0x2C69] = 0x2C6A, | |
| [0x2C6B] = 0x2C6C, | |
| [0x2C6D] = 0x0251, | |
| [0x2C6E] = 0x0271, | |
| [0x2C6F] = 0x0250, | |
| [0x2C70] = 0x0252, | |
| [0x2C72] = 0x2C73, | |
| [0x2C75] = 0x2C76, | |
| [0x2C7E] = 0x023F, | |
| [0x2C7F] = 0x0240, | |
| [0x2C80] = 0x2C81, | |
| [0x2C82] = 0x2C83, | |
| [0x2C84] = 0x2C85, | |
| [0x2C86] = 0x2C87, | |
| [0x2C88] = 0x2C89, | |
| [0x2C8A] = 0x2C8B, | |
| [0x2C8C] = 0x2C8D, | |
| [0x2C8E] = 0x2C8F, | |
| [0x2C90] = 0x2C91, | |
| [0x2C92] = 0x2C93, | |
| [0x2C94] = 0x2C95, | |
| [0x2C96] = 0x2C97, | |
| [0x2C98] = 0x2C99, | |
| [0x2C9A] = 0x2C9B, | |
| [0x2C9C] = 0x2C9D, | |
| [0x2C9E] = 0x2C9F, | |
| [0x2CA0] = 0x2CA1, | |
| [0x2CA2] = 0x2CA3, | |
| [0x2CA4] = 0x2CA5, | |
| [0x2CA6] = 0x2CA7, | |
| [0x2CA8] = 0x2CA9, | |
| [0x2CAA] = 0x2CAB, | |
| [0x2CAC] = 0x2CAD, | |
| [0x2CAE] = 0x2CAF, | |
| [0x2CB0] = 0x2CB1, | |
| [0x2CB2] = 0x2CB3, | |
| [0x2CB4] = 0x2CB5, | |
| [0x2CB6] = 0x2CB7, | |
| [0x2CB8] = 0x2CB9, | |
| [0x2CBA] = 0x2CBB, | |
| [0x2CBC] = 0x2CBD, | |
| [0x2CBE] = 0x2CBF, | |
| [0x2CC0] = 0x2CC1, | |
| [0x2CC2] = 0x2CC3, | |
| [0x2CC4] = 0x2CC5, | |
| [0x2CC6] = 0x2CC7, | |
| [0x2CC8] = 0x2CC9, | |
| [0x2CCA] = 0x2CCB, | |
| [0x2CCC] = 0x2CCD, | |
| [0x2CCE] = 0x2CCF, | |
| [0x2CD0] = 0x2CD1, | |
| [0x2CD2] = 0x2CD3, | |
| [0x2CD4] = 0x2CD5, | |
| [0x2CD6] = 0x2CD7, | |
| [0x2CD8] = 0x2CD9, | |
| [0x2CDA] = 0x2CDB, | |
| [0x2CDC] = 0x2CDD, | |
| [0x2CDE] = 0x2CDF, | |
| [0x2CE0] = 0x2CE1, | |
| [0x2CE2] = 0x2CE3, | |
| [0x2CEB] = 0x2CEC, | |
| [0x2CED] = 0x2CEE, | |
| [0x2CF2] = 0x2CF3, | |
| [0xA640] = 0xA641, | |
| [0xA642] = 0xA643, | |
| [0xA644] = 0xA645, | |
| [0xA646] = 0xA647, | |
| [0xA648] = 0xA649, | |
| [0xA64A] = 0xA64B, | |
| [0xA64C] = 0xA64D, | |
| [0xA64E] = 0xA64F, | |
| [0xA650] = 0xA651, | |
| [0xA652] = 0xA653, | |
| [0xA654] = 0xA655, | |
| [0xA656] = 0xA657, | |
| [0xA658] = 0xA659, | |
| [0xA65A] = 0xA65B, | |
| [0xA65C] = 0xA65D, | |
| [0xA65E] = 0xA65F, | |
| [0xA660] = 0xA661, | |
| [0xA662] = 0xA663, | |
| [0xA664] = 0xA665, | |
| [0xA666] = 0xA667, | |
| [0xA668] = 0xA669, | |
| [0xA66A] = 0xA66B, | |
| [0xA66C] = 0xA66D, | |
| [0xA680] = 0xA681, | |
| [0xA682] = 0xA683, | |
| [0xA684] = 0xA685, | |
| [0xA686] = 0xA687, | |
| [0xA688] = 0xA689, | |
| [0xA68A] = 0xA68B, | |
| [0xA68C] = 0xA68D, | |
| [0xA68E] = 0xA68F, | |
| [0xA690] = 0xA691, | |
| [0xA692] = 0xA693, | |
| [0xA694] = 0xA695, | |
| [0xA696] = 0xA697, | |
| [0xA698] = 0xA699, | |
| [0xA69A] = 0xA69B, | |
| [0xA722] = 0xA723, | |
| [0xA724] = 0xA725, | |
| [0xA726] = 0xA727, | |
| [0xA728] = 0xA729, | |
| [0xA72A] = 0xA72B, | |
| [0xA72C] = 0xA72D, | |
| [0xA72E] = 0xA72F, | |
| [0xA732] = 0xA733, | |
| [0xA734] = 0xA735, | |
| [0xA736] = 0xA737, | |
| [0xA738] = 0xA739, | |
| [0xA73A] = 0xA73B, | |
| [0xA73C] = 0xA73D, | |
| [0xA73E] = 0xA73F, | |
| [0xA740] = 0xA741, | |
| [0xA742] = 0xA743, | |
| [0xA744] = 0xA745, | |
| [0xA746] = 0xA747, | |
| [0xA748] = 0xA749, | |
| [0xA74A] = 0xA74B, | |
| [0xA74C] = 0xA74D, | |
| [0xA74E] = 0xA74F, | |
| [0xA750] = 0xA751, | |
| [0xA752] = 0xA753, | |
| [0xA754] = 0xA755, | |
| [0xA756] = 0xA757, | |
| [0xA758] = 0xA759, | |
| [0xA75A] = 0xA75B, | |
| [0xA75C] = 0xA75D, | |
| [0xA75E] = 0xA75F, | |
| [0xA760] = 0xA761, | |
| [0xA762] = 0xA763, | |
| [0xA764] = 0xA765, | |
| [0xA766] = 0xA767, | |
| [0xA768] = 0xA769, | |
| [0xA76A] = 0xA76B, | |
| [0xA76C] = 0xA76D, | |
| [0xA76E] = 0xA76F, | |
| [0xA779] = 0xA77A, | |
| [0xA77B] = 0xA77C, | |
| [0xA77D] = 0x1D79, | |
| [0xA77E] = 0xA77F, | |
| [0xA780] = 0xA781, | |
| [0xA782] = 0xA783, | |
| [0xA784] = 0xA785, | |
| [0xA786] = 0xA787, | |
| [0xA78B] = 0xA78C, | |
| [0xA78D] = 0x0265, | |
| [0xA790] = 0xA791, | |
| [0xA792] = 0xA793, | |
| [0xA796] = 0xA797, | |
| [0xA798] = 0xA799, | |
| [0xA79A] = 0xA79B, | |
| [0xA79C] = 0xA79D, | |
| [0xA79E] = 0xA79F, | |
| [0xA7A0] = 0xA7A1, | |
| [0xA7A2] = 0xA7A3, | |
| [0xA7A4] = 0xA7A5, | |
| [0xA7A6] = 0xA7A7, | |
| [0xA7A8] = 0xA7A9, | |
| [0xA7AA] = 0x0266, | |
| [0xA7AB] = 0x025C, | |
| [0xA7AC] = 0x0261, | |
| [0xA7AD] = 0x026C, | |
| [0xA7AE] = 0x026A, | |
| [0xA7B0] = 0x029E, | |
| [0xA7B1] = 0x0287, | |
| [0xA7B2] = 0x029D, | |
| [0xA7B3] = 0xAB53, | |
| [0xA7B4] = 0xA7B5, | |
| [0xA7B6] = 0xA7B7, | |
| [0xA7B8] = 0xA7B9, | |
| [0xA7BA] = 0xA7BB, | |
| [0xA7BC] = 0xA7BD, | |
| [0xA7BE] = 0xA7BF, | |
| [0xA7C2] = 0xA7C3, | |
| [0xA7C4] = 0xA794, | |
| [0xA7C5] = 0x0282, | |
| [0xA7C6] = 0x1D8E, | |
| [0xA7C7] = 0xA7C8, | |
| [0xA7C9] = 0xA7CA, | |
| [0xA7F5] = 0xA7F6, | |
| [0xAB70] = 0x13A0, | |
| [0xAB71] = 0x13A1, | |
| [0xAB72] = 0x13A2, | |
| [0xAB73] = 0x13A3, | |
| [0xAB74] = 0x13A4, | |
| [0xAB75] = 0x13A5, | |
| [0xAB76] = 0x13A6, | |
| [0xAB77] = 0x13A7, | |
| [0xAB78] = 0x13A8, | |
| [0xAB79] = 0x13A9, | |
| [0xAB7A] = 0x13AA, | |
| [0xAB7B] = 0x13AB, | |
| [0xAB7C] = 0x13AC, | |
| [0xAB7D] = 0x13AD, | |
| [0xAB7E] = 0x13AE, | |
| [0xAB7F] = 0x13AF, | |
| [0xAB80] = 0x13B0, | |
| [0xAB81] = 0x13B1, | |
| [0xAB82] = 0x13B2, | |
| [0xAB83] = 0x13B3, | |
| [0xAB84] = 0x13B4, | |
| [0xAB85] = 0x13B5, | |
| [0xAB86] = 0x13B6, | |
| [0xAB87] = 0x13B7, | |
| [0xAB88] = 0x13B8, | |
| [0xAB89] = 0x13B9, | |
| [0xAB8A] = 0x13BA, | |
| [0xAB8B] = 0x13BB, | |
| [0xAB8C] = 0x13BC, | |
| [0xAB8D] = 0x13BD, | |
| [0xAB8E] = 0x13BE, | |
| [0xAB8F] = 0x13BF, | |
| [0xAB90] = 0x13C0, | |
| [0xAB91] = 0x13C1, | |
| [0xAB92] = 0x13C2, | |
| [0xAB93] = 0x13C3, | |
| [0xAB94] = 0x13C4, | |
| [0xAB95] = 0x13C5, | |
| [0xAB96] = 0x13C6, | |
| [0xAB97] = 0x13C7, | |
| [0xAB98] = 0x13C8, | |
| [0xAB99] = 0x13C9, | |
| [0xAB9A] = 0x13CA, | |
| [0xAB9B] = 0x13CB, | |
| [0xAB9C] = 0x13CC, | |
| [0xAB9D] = 0x13CD, | |
| [0xAB9E] = 0x13CE, | |
| [0xAB9F] = 0x13CF, | |
| [0xABA0] = 0x13D0, | |
| [0xABA1] = 0x13D1, | |
| [0xABA2] = 0x13D2, | |
| [0xABA3] = 0x13D3, | |
| [0xABA4] = 0x13D4, | |
| [0xABA5] = 0x13D5, | |
| [0xABA6] = 0x13D6, | |
| [0xABA7] = 0x13D7, | |
| [0xABA8] = 0x13D8, | |
| [0xABA9] = 0x13D9, | |
| [0xABAA] = 0x13DA, | |
| [0xABAB] = 0x13DB, | |
| [0xABAC] = 0x13DC, | |
| [0xABAD] = 0x13DD, | |
| [0xABAE] = 0x13DE, | |
| [0xABAF] = 0x13DF, | |
| [0xABB0] = 0x13E0, | |
| [0xABB1] = 0x13E1, | |
| [0xABB2] = 0x13E2, | |
| [0xABB3] = 0x13E3, | |
| [0xABB4] = 0x13E4, | |
| [0xABB5] = 0x13E5, | |
| [0xABB6] = 0x13E6, | |
| [0xABB7] = 0x13E7, | |
| [0xABB8] = 0x13E8, | |
| [0xABB9] = 0x13E9, | |
| [0xABBA] = 0x13EA, | |
| [0xABBB] = 0x13EB, | |
| [0xABBC] = 0x13EC, | |
| [0xABBD] = 0x13ED, | |
| [0xABBE] = 0x13EE, | |
| [0xABBF] = 0x13EF, | |
| [0xFB00] = {0x0066, 0x0066}, | |
| [0xFB01] = {0x0066, 0x0069}, | |
| [0xFB02] = {0x0066, 0x006C}, | |
| [0xFB03] = {0x0066, 0x0066, 0x0069}, | |
| [0xFB04] = {0x0066, 0x0066, 0x006C}, | |
| [0xFB05] = {0x0073, 0x0074}, | |
| [0xFB06] = {0x0073, 0x0074}, | |
| [0xFB13] = {0x0574, 0x0576}, | |
| [0xFB14] = {0x0574, 0x0565}, | |
| [0xFB15] = {0x0574, 0x056B}, | |
| [0xFB16] = {0x057E, 0x0576}, | |
| [0xFB17] = {0x0574, 0x056D}, | |
| [0xFF21] = 0xFF41, | |
| [0xFF22] = 0xFF42, | |
| [0xFF23] = 0xFF43, | |
| [0xFF24] = 0xFF44, | |
| [0xFF25] = 0xFF45, | |
| [0xFF26] = 0xFF46, | |
| [0xFF27] = 0xFF47, | |
| [0xFF28] = 0xFF48, | |
| [0xFF29] = 0xFF49, | |
| [0xFF2A] = 0xFF4A, | |
| [0xFF2B] = 0xFF4B, | |
| [0xFF2C] = 0xFF4C, | |
| [0xFF2D] = 0xFF4D, | |
| [0xFF2E] = 0xFF4E, | |
| [0xFF2F] = 0xFF4F, | |
| [0xFF30] = 0xFF50, | |
| [0xFF31] = 0xFF51, | |
| [0xFF32] = 0xFF52, | |
| [0xFF33] = 0xFF53, | |
| [0xFF34] = 0xFF54, | |
| [0xFF35] = 0xFF55, | |
| [0xFF36] = 0xFF56, | |
| [0xFF37] = 0xFF57, | |
| [0xFF38] = 0xFF58, | |
| [0xFF39] = 0xFF59, | |
| [0xFF3A] = 0xFF5A, | |
| [0x10400] = 0x10428, | |
| [0x10401] = 0x10429, | |
| [0x10402] = 0x1042A, | |
| [0x10403] = 0x1042B, | |
| [0x10404] = 0x1042C, | |
| [0x10405] = 0x1042D, | |
| [0x10406] = 0x1042E, | |
| [0x10407] = 0x1042F, | |
| [0x10408] = 0x10430, | |
| [0x10409] = 0x10431, | |
| [0x1040A] = 0x10432, | |
| [0x1040B] = 0x10433, | |
| [0x1040C] = 0x10434, | |
| [0x1040D] = 0x10435, | |
| [0x1040E] = 0x10436, | |
| [0x1040F] = 0x10437, | |
| [0x10410] = 0x10438, | |
| [0x10411] = 0x10439, | |
| [0x10412] = 0x1043A, | |
| [0x10413] = 0x1043B, | |
| [0x10414] = 0x1043C, | |
| [0x10415] = 0x1043D, | |
| [0x10416] = 0x1043E, | |
| [0x10417] = 0x1043F, | |
| [0x10418] = 0x10440, | |
| [0x10419] = 0x10441, | |
| [0x1041A] = 0x10442, | |
| [0x1041B] = 0x10443, | |
| [0x1041C] = 0x10444, | |
| [0x1041D] = 0x10445, | |
| [0x1041E] = 0x10446, | |
| [0x1041F] = 0x10447, | |
| [0x10420] = 0x10448, | |
| [0x10421] = 0x10449, | |
| [0x10422] = 0x1044A, | |
| [0x10423] = 0x1044B, | |
| [0x10424] = 0x1044C, | |
| [0x10425] = 0x1044D, | |
| [0x10426] = 0x1044E, | |
| [0x10427] = 0x1044F, | |
| [0x104B0] = 0x104D8, | |
| [0x104B1] = 0x104D9, | |
| [0x104B2] = 0x104DA, | |
| [0x104B3] = 0x104DB, | |
| [0x104B4] = 0x104DC, | |
| [0x104B5] = 0x104DD, | |
| [0x104B6] = 0x104DE, | |
| [0x104B7] = 0x104DF, | |
| [0x104B8] = 0x104E0, | |
| [0x104B9] = 0x104E1, | |
| [0x104BA] = 0x104E2, | |
| [0x104BB] = 0x104E3, | |
| [0x104BC] = 0x104E4, | |
| [0x104BD] = 0x104E5, | |
| [0x104BE] = 0x104E6, | |
| [0x104BF] = 0x104E7, | |
| [0x104C0] = 0x104E8, | |
| [0x104C1] = 0x104E9, | |
| [0x104C2] = 0x104EA, | |
| [0x104C3] = 0x104EB, | |
| [0x104C4] = 0x104EC, | |
| [0x104C5] = 0x104ED, | |
| [0x104C6] = 0x104EE, | |
| [0x104C7] = 0x104EF, | |
| [0x104C8] = 0x104F0, | |
| [0x104C9] = 0x104F1, | |
| [0x104CA] = 0x104F2, | |
| [0x104CB] = 0x104F3, | |
| [0x104CC] = 0x104F4, | |
| [0x104CD] = 0x104F5, | |
| [0x104CE] = 0x104F6, | |
| [0x104CF] = 0x104F7, | |
| [0x104D0] = 0x104F8, | |
| [0x104D1] = 0x104F9, | |
| [0x104D2] = 0x104FA, | |
| [0x104D3] = 0x104FB, | |
| [0x10C80] = 0x10CC0, | |
| [0x10C81] = 0x10CC1, | |
| [0x10C82] = 0x10CC2, | |
| [0x10C83] = 0x10CC3, | |
| [0x10C84] = 0x10CC4, | |
| [0x10C85] = 0x10CC5, | |
| [0x10C86] = 0x10CC6, | |
| [0x10C87] = 0x10CC7, | |
| [0x10C88] = 0x10CC8, | |
| [0x10C89] = 0x10CC9, | |
| [0x10C8A] = 0x10CCA, | |
| [0x10C8B] = 0x10CCB, | |
| [0x10C8C] = 0x10CCC, | |
| [0x10C8D] = 0x10CCD, | |
| [0x10C8E] = 0x10CCE, | |
| [0x10C8F] = 0x10CCF, | |
| [0x10C90] = 0x10CD0, | |
| [0x10C91] = 0x10CD1, | |
| [0x10C92] = 0x10CD2, | |
| [0x10C93] = 0x10CD3, | |
| [0x10C94] = 0x10CD4, | |
| [0x10C95] = 0x10CD5, | |
| [0x10C96] = 0x10CD6, | |
| [0x10C97] = 0x10CD7, | |
| [0x10C98] = 0x10CD8, | |
| [0x10C99] = 0x10CD9, | |
| [0x10C9A] = 0x10CDA, | |
| [0x10C9B] = 0x10CDB, | |
| [0x10C9C] = 0x10CDC, | |
| [0x10C9D] = 0x10CDD, | |
| [0x10C9E] = 0x10CDE, | |
| [0x10C9F] = 0x10CDF, | |
| [0x10CA0] = 0x10CE0, | |
| [0x10CA1] = 0x10CE1, | |
| [0x10CA2] = 0x10CE2, | |
| [0x10CA3] = 0x10CE3, | |
| [0x10CA4] = 0x10CE4, | |
| [0x10CA5] = 0x10CE5, | |
| [0x10CA6] = 0x10CE6, | |
| [0x10CA7] = 0x10CE7, | |
| [0x10CA8] = 0x10CE8, | |
| [0x10CA9] = 0x10CE9, | |
| [0x10CAA] = 0x10CEA, | |
| [0x10CAB] = 0x10CEB, | |
| [0x10CAC] = 0x10CEC, | |
| [0x10CAD] = 0x10CED, | |
| [0x10CAE] = 0x10CEE, | |
| [0x10CAF] = 0x10CEF, | |
| [0x10CB0] = 0x10CF0, | |
| [0x10CB1] = 0x10CF1, | |
| [0x10CB2] = 0x10CF2, | |
| [0x118A0] = 0x118C0, | |
| [0x118A1] = 0x118C1, | |
| [0x118A2] = 0x118C2, | |
| [0x118A3] = 0x118C3, | |
| [0x118A4] = 0x118C4, | |
| [0x118A5] = 0x118C5, | |
| [0x118A6] = 0x118C6, | |
| [0x118A7] = 0x118C7, | |
| [0x118A8] = 0x118C8, | |
| [0x118A9] = 0x118C9, | |
| [0x118AA] = 0x118CA, | |
| [0x118AB] = 0x118CB, | |
| [0x118AC] = 0x118CC, | |
| [0x118AD] = 0x118CD, | |
| [0x118AE] = 0x118CE, | |
| [0x118AF] = 0x118CF, | |
| [0x118B0] = 0x118D0, | |
| [0x118B1] = 0x118D1, | |
| [0x118B2] = 0x118D2, | |
| [0x118B3] = 0x118D3, | |
| [0x118B4] = 0x118D4, | |
| [0x118B5] = 0x118D5, | |
| [0x118B6] = 0x118D6, | |
| [0x118B7] = 0x118D7, | |
| [0x118B8] = 0x118D8, | |
| [0x118B9] = 0x118D9, | |
| [0x118BA] = 0x118DA, | |
| [0x118BB] = 0x118DB, | |
| [0x118BC] = 0x118DC, | |
| [0x118BD] = 0x118DD, | |
| [0x118BE] = 0x118DE, | |
| [0x118BF] = 0x118DF, | |
| [0x16E40] = 0x16E60, | |
| [0x16E41] = 0x16E61, | |
| [0x16E42] = 0x16E62, | |
| [0x16E43] = 0x16E63, | |
| [0x16E44] = 0x16E64, | |
| [0x16E45] = 0x16E65, | |
| [0x16E46] = 0x16E66, | |
| [0x16E47] = 0x16E67, | |
| [0x16E48] = 0x16E68, | |
| [0x16E49] = 0x16E69, | |
| [0x16E4A] = 0x16E6A, | |
| [0x16E4B] = 0x16E6B, | |
| [0x16E4C] = 0x16E6C, | |
| [0x16E4D] = 0x16E6D, | |
| [0x16E4E] = 0x16E6E, | |
| [0x16E4F] = 0x16E6F, | |
| [0x16E50] = 0x16E70, | |
| [0x16E51] = 0x16E71, | |
| [0x16E52] = 0x16E72, | |
| [0x16E53] = 0x16E73, | |
| [0x16E54] = 0x16E74, | |
| [0x16E55] = 0x16E75, | |
| [0x16E56] = 0x16E76, | |
| [0x16E57] = 0x16E77, | |
| [0x16E58] = 0x16E78, | |
| [0x16E59] = 0x16E79, | |
| [0x16E5A] = 0x16E7A, | |
| [0x16E5B] = 0x16E7B, | |
| [0x16E5C] = 0x16E7C, | |
| [0x16E5D] = 0x16E7D, | |
| [0x16E5E] = 0x16E7E, | |
| [0x16E5F] = 0x16E7F, | |
| [0x1E900] = 0x1E922, | |
| [0x1E901] = 0x1E923, | |
| [0x1E902] = 0x1E924, | |
| [0x1E903] = 0x1E925, | |
| [0x1E904] = 0x1E926, | |
| [0x1E905] = 0x1E927, | |
| [0x1E906] = 0x1E928, | |
| [0x1E907] = 0x1E929, | |
| [0x1E908] = 0x1E92A, | |
| [0x1E909] = 0x1E92B, | |
| [0x1E90A] = 0x1E92C, | |
| [0x1E90B] = 0x1E92D, | |
| [0x1E90C] = 0x1E92E, | |
| [0x1E90D] = 0x1E92F, | |
| [0x1E90E] = 0x1E930, | |
| [0x1E90F] = 0x1E931, | |
| [0x1E910] = 0x1E932, | |
| [0x1E911] = 0x1E933, | |
| [0x1E912] = 0x1E934, | |
| [0x1E913] = 0x1E935, | |
| [0x1E914] = 0x1E936, | |
| [0x1E915] = 0x1E937, | |
| [0x1E916] = 0x1E938, | |
| [0x1E917] = 0x1E939, | |
| [0x1E918] = 0x1E93A, | |
| [0x1E919] = 0x1E93B, | |
| [0x1E91A] = 0x1E93C, | |
| [0x1E91B] = 0x1E93D, | |
| [0x1E91C] = 0x1E93E, | |
| [0x1E91D] = 0x1E93F, | |
| [0x1E91E] = 0x1E940, | |
| [0x1E91F] = 0x1E941, | |
| [0x1E920] = 0x1E942, | |
| [0x1E921] = 0x1E943, | |
| } | |
| for k,v in pairs(utf8_case_conv_utl) do utf8_case_conv_ltu[v] = k end | |
| return UTFString |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment