diff --git a/plugins/luamacro/_globalinfo.lua b/plugins/luamacro/_globalinfo.lua index 47d2797e28..43aed5acdc 100644 --- a/plugins/luamacro/_globalinfo.lua +++ b/plugins/luamacro/_globalinfo.lua @@ -1,6 +1,6 @@ function export.GetGlobalInfo() return { - Version = { 3, 0, 0, 760 }, + Version = { 3, 0, 0, 761 }, MinFarVersion = { 3, 0, 0, 5171 }, Guid = win.Uuid("4EBBEFC8-2084-4B7F-94C0-692CE136894D"), Title = "LuaMacro", diff --git a/plugins/luamacro/changelog b/plugins/luamacro/changelog index e098550a24..046bd64142 100644 --- a/plugins/luamacro/changelog +++ b/plugins/luamacro/changelog @@ -1,3 +1,7 @@ +johnd0e 15.01.2021 10:12:00 +0200 - build 761 + +1. LuaFAR: update luautf8 library to 0.1.3-2-g5627e17. + shmuel 09.09.2020 21:29:21 +0300 - build 760 1. LuaFAR: continued 751 (minor changes). diff --git a/plugins/luamacro/luafar/lutf8lib.c b/plugins/luamacro/luafar/lutf8lib.c index fee050df86..bbded71c02 100644 --- a/plugins/luamacro/luafar/lutf8lib.c +++ b/plugins/luamacro/luafar/lutf8lib.c @@ -1,4 +1,4 @@ -/* vim: set ft=c nu et sw=2 fdc=2 fdm=syntax : */ +/* vim: set ft=c nu et sw=2 fdc=2 fdm=syntax : */ #define LUA_LIB #include #include @@ -8,15 +8,14 @@ #include #include +#include "unidata.h" /* UTF-8 string operations */ -typedef unsigned int utfint; - -#define UTF8_BUFFSZ 8 -#define UTF8_MAX 0x7FFFFFFFu -#define UTF8_MAXCP 0x10FFFFu -#define iscont(p) ((*(p) & 0xC0) == 0x80) +#define UTF8_BUFFSZ 8 +#define UTF8_MAX 0x7FFFFFFFu +#define UTF8_MAXCP 0x10FFFFu +#define iscont(p) ((*(p) & 0xC0) == 0x80) #define CAST(tp,expr) ((tp)(expr)) #ifndef LUA_QL @@ -43,7 +42,7 @@ static size_t utf8_encode (char *buff, utfint x) { return n; } -static const char *utf8_decode (const char *s, utfint *val) { +static const char *utf8_decode (const char *s, utfint *val, int strict) { static const utfint limits[] = {~0u, 0x80u, 0x800u, 0x10000u, 0x200000u, 0x4000000u}; unsigned int c = (unsigned char)s[0]; @@ -63,6 +62,11 @@ static const char *utf8_decode (const char *s, utfint *val) { return NULL; /* invalid byte sequence */ s += count; /* skip continuation bytes read */ } + if (strict) { + /* check for invalid code points; too large or surrogates */ + if (res > UTF8_MAXCP || (0xD800u <= res && res <= 0xDFFFu)) + return NULL; + } if (val) *val = res; return s + 1; /* +1 to include first byte */ } @@ -114,8 +118,6 @@ static int utf8_range(const char *s, const char *e, lua_Integer *i, lua_Integer /* Unicode character categories */ -#include "unidata.h" - #define table_size(t) (sizeof(t)/sizeof((t)[0])) #define utf8_categories(X) \ @@ -235,7 +237,7 @@ static const char *to_utf8 (lua_State *L, int idx, const char **end) { } static const char *utf8_safe_decode (lua_State *L, const char *p, utfint *pval) { - p = utf8_decode(p, pval); + p = utf8_decode(p, pval, 0); if (p == NULL) luaL_error(L, "invalid UTF-8 code"); return p; } @@ -263,13 +265,11 @@ static int Lutf8_len (lua_State *L) { luaL_argcheck(L, --pose < (lua_Integer)len, 3, "final position out of string"); for (n = 0, p=s+posi, e=s+pose+1; p < e; ++n) { - if ((*p & 0xFF) < 0xC0) - ++p; - else if (lax) + if (lax) p = utf8_next(p, e); else { utfint ch; - const char *np = utf8_decode(p, &ch); + const char *np = utf8_decode(p, &ch, !lax); if (np == NULL || utf8_invalid(ch)) { lua_pushnil(L); lua_pushinteger(L, p - s + 1); @@ -305,8 +305,8 @@ static int Lutf8_reverse (lua_State *L) { luaL_addlstring(&b, prev, e-prev); } } else { - utfint code = 0; for (prev = e; s < prev; prev = pprev) { + utfint code = 0; ends = utf8_safe_decode(L, pprev = utf8_prev(s, prev), &code); assert(ends == prev); if (utf8_invalid(code)) @@ -327,8 +327,8 @@ static int Lutf8_byte (lua_State *L) { lua_Integer posi = luaL_optinteger(L, 2, 1); lua_Integer pose = luaL_optinteger(L, 3, posi); if (utf8_range(s, e, &posi, &pose)) { - utfint ch = 0; for (e = s + pose, s = s + posi; s < e; ++n) { + utfint ch = 0; s = utf8_safe_decode(L, s, &ch); lua_pushinteger(L, ch); } @@ -344,7 +344,6 @@ static int Lutf8_codepoint (lua_State *L) { int lax = lua_toboolean(L, 4); int n; const char *se; - utfint code = 0; luaL_argcheck(L, posi >= 1, 2, "out of range"); luaL_argcheck(L, pose <= (lua_Integer)len, 3, "out of range"); if (posi > pose) return 0; /* empty interval; return no values */ @@ -355,6 +354,7 @@ static int Lutf8_codepoint (lua_State *L) { n = 0; /* count the number of returns */ se = s + pose; /* string end */ for (n = 0, s += posi - 1; s < se;) { + utfint code = 0; s = utf8_safe_decode(L, s, &code); if (!lax && utf8_invalid(code)) return luaL_error(L, "invalid UTF-8 code"); @@ -383,11 +383,11 @@ static int Lutf8_##name (lua_State *L) { \ if (t == LUA_TNUMBER) \ lua_pushinteger(L, utf8_to##name(CAST(utfint, lua_tointeger(L, 1)))); \ else if (t == LUA_TSTRING) { \ - utfint ch = 0; \ luaL_Buffer b; \ const char *e, *s = to_utf8(L, 1, &e); \ luaL_buffinit(L, &b); \ while (s < e) { \ + utfint ch = 0; \ s = utf8_safe_decode(L, s, &ch); \ add_utf8char(&b, utf8_to##name(ch)); \ } \ @@ -423,10 +423,10 @@ static const char *parse_escape (lua_State *L, const char *s, const char *e, int static int Lutf8_escape (lua_State *L) { const char *e, *s = check_utf8(L, 1, &e); - utfint ch = 0; luaL_Buffer b; luaL_buffinit(L, &b); while (s < e) { + utfint ch = 0; s = utf8_safe_decode(L, s, &ch); if (ch == '%') { int hex = 0; @@ -435,9 +435,9 @@ static int Lutf8_escape (lua_State *L) { case '4': case '5': case '6': case '7': case '8': case '9': case '{': break; - case 'x': case 'X': hex = 1; /* FALLTHOUGH */ + case 'x': case 'X': hex = 1; /* fall through */ case 'u': case 'U': if (s+1 < e) { ++s; break; } - /* FALLTHOUGH */ + /* fall through */ default: s = utf8_safe_decode(L, s, &ch); goto next; @@ -475,7 +475,7 @@ static int Lutf8_insert (lua_State *L) { static int Lutf8_remove (lua_State *L) { const char *e, *s = check_utf8(L, 1, &e); - lua_Integer posi = luaL_checkinteger(L, 2); + lua_Integer posi = luaL_optinteger(L, 2, -1); lua_Integer pose = luaL_optinteger(L, 3, -1); if (!utf8_range(s, e, &posi, &pose)) lua_settop(L, 1); @@ -497,7 +497,7 @@ static int push_offset (lua_State *L, const char *s, const char *e, lua_Integer else if (p = s+offset-1, iscont(p)) p = utf8_prev(s, p); if (p == NULL || p == e) return 0; - utf8_decode(p, &ch); + utf8_decode(p, &ch, 0); lua_pushinteger(L, p-s+1); lua_pushinteger(L, ch); return 2; @@ -603,8 +603,8 @@ static int Lutf8_width (lua_State *L) { else { const char *e, *s = to_utf8(L, 1, &e); int width = 0; - utfint ch = 0; while (s < e) { + utfint ch = 0; int chwidth; s = utf8_safe_decode(L, s, &ch); chwidth = utf8_width(ch, ambi_is_single); @@ -621,8 +621,8 @@ static int Lutf8_widthindex (lua_State *L) { int ambi_is_single = !lua_toboolean(L, 3); int default_width = CAST(int, luaL_optinteger(L, 4, 0)); size_t idx = 1; - utfint ch = 0; while (s < e) { + utfint ch = 0; size_t chwidth; s = utf8_safe_decode(L, s, &ch); chwidth = utf8_width(ch, ambi_is_single); @@ -693,11 +693,11 @@ static const char *match (MatchState *ms, const char *s, const char *p); /* maximum recursion depth for 'match' */ #if !defined(MAXCCALLS) -#define MAXCCALLS 200 +#define MAXCCALLS 200 #endif -#define L_ESC '%' -#define SPECIALS "^$*+?.([%-" +#define L_ESC '%' +#define SPECIALS "^$*+?.([%-" static int check_capture (MatchState *ms, int l) { l -= '1'; @@ -754,20 +754,20 @@ static int match_class (utfint c, utfint cl) { static int matchbracketclass (MatchState *ms, utfint c, const char *p, const char *ec) { int sig = 1; - utfint ch = 0; - utfint next = 0; assert(*p == '['); if (*++p == '^') { sig = 0; p++; /* skip the `^' */ } while (p < ec) { + utfint ch = 0; p = utf8_safe_decode(ms->L, p, &ch); if (ch == L_ESC) { p = utf8_safe_decode(ms->L, p, &ch); if (match_class(c, ch)) return sig; } else { + utfint next = 0; const char *np = utf8_safe_decode(ms->L, p, &next); if (next == '-' && np < ec) { p = utf8_safe_decode(ms->L, np, &next); @@ -919,9 +919,9 @@ static const char *match (MatchState *ms, const char *s, const char *p) { LUA_QL("%%f") " in pattern"); ep = classend(ms, p); /* points to what is next */ if (s != ms->src_init) - utf8_decode(utf8_prev(ms->src_init, s), &previous); + utf8_decode(utf8_prev(ms->src_init, s), &previous, 0); if (s != ms->src_end) - utf8_decode(s, ¤t); + utf8_decode(s, ¤t, 0); if (!matchbracketclass(ms, previous, p, ep - 1) && matchbracketclass(ms, current, p, ep - 1)) { p = ep; goto init; /* return match(ms, s, ep); */ @@ -963,7 +963,7 @@ static const char *match (MatchState *ms, const char *s, const char *p) { } case '+': /* 1 or more repetitions */ s = next_s; /* 1 match already done */ - /* go through */ + /* fall through */ case '*': /* 0 or more repetitions */ s = max_expand(ms, s, p, ep); break; @@ -1053,6 +1053,7 @@ static int find_aux (lua_State *L, int find) { const char *ep, *p = check_utf8(L, 2, &ep); lua_Integer idx = luaL_optinteger(L, 3, 1); const char *init; + if (!idx) idx = 1; init = utf8_relat(s, es, CAST(int, idx)); if (init == NULL) { if (idx > 0) { @@ -1145,8 +1146,8 @@ static int Lutf8_gmatch (lua_State *L) { static void add_s (MatchState *ms, luaL_Buffer *b, const char *s, const char *e) { const char *new_end, *news = to_utf8(ms->L, 3, &new_end); - utfint ch = 0; while (news < new_end) { + utfint ch = 0; news = utf8_safe_decode(ms->L, news, &ch); if (ch != L_ESC) add_utf8char(b, ch); @@ -1204,7 +1205,6 @@ static int Lutf8_gsub (lua_State *L) { lua_Integer n = 0; MatchState ms; luaL_Buffer b; - utfint ch = 0; luaL_argcheck(L, tr == LUA_TNUMBER || tr == LUA_TSTRING || tr == LUA_TFUNCTION || tr == LUA_TTABLE, 3, "string/function/table expected"); @@ -1227,6 +1227,7 @@ static int Lutf8_gsub (lua_State *L) { if (e && e > s) /* non empty match? */ s = e; /* skip it */ else if (s < es) { + utfint ch = 0; s = utf8_safe_decode(L, s, &ch); add_utf8char(&b, ch); } else break; @@ -1292,7 +1293,7 @@ LUALIB_API int luaopen_utf8 (lua_State *L) { } /* win32cc: flags+='-Wall -Wextra -s -O2 -mdll -DLUA_BUILD_AS_DLL' - * win32cc: libs+='-llua53.dll' output='lua-utf8.dll' + * win32cc: libs+='-llua54.dll' output='lua-utf8.dll' * win32cc: run='lua.exe test.lua' * maccc: run='lua -- test_compat.lua' * maccc: flags+='-g --coverage -bundle -undefined dynamic_lookup' output='lua-utf8.so' */ diff --git a/plugins/luamacro/luafar/unidata.h b/plugins/luamacro/luafar/unidata.h index 689e2dd693..428ef2cdce 100644 --- a/plugins/luamacro/luafar/unidata.h +++ b/plugins/luamacro/luafar/unidata.h @@ -1,4 +1,4 @@ -/* +/* * unidata.h - generated by parseucd.lua */ #ifndef unidata_h @@ -72,7 +72,7 @@ static struct range_table alpha_table[] = { { 0x840, 0x858, 1 }, { 0x860, 0x86A, 1 }, { 0x8A0, 0x8B4, 1 }, - { 0x8B6, 0x8BD, 1 }, + { 0x8B6, 0x8C7, 1 }, { 0x8D4, 0x8DF, 1 }, { 0x8E3, 0x8E9, 1 }, { 0x8F0, 0x93B, 1 }, @@ -174,8 +174,7 @@ static struct range_table alpha_table[] = { { 0xCDE, 0xCE0, 2 }, { 0xCE1, 0xCE3, 1 }, { 0xCF1, 0xCF2, 1 }, - { 0xD00, 0xD03, 1 }, - { 0xD05, 0xD0C, 1 }, + { 0xD00, 0xD0C, 1 }, { 0xD0E, 0xD10, 1 }, { 0xD12, 0xD3A, 1 }, { 0xD3D, 0xD44, 1 }, @@ -185,7 +184,7 @@ static struct range_table alpha_table[] = { { 0xD55, 0xD57, 1 }, { 0xD5F, 0xD63, 1 }, { 0xD7A, 0xD7F, 1 }, - { 0xD82, 0xD83, 1 }, + { 0xD81, 0xD83, 1 }, { 0xD85, 0xD96, 1 }, { 0xD9A, 0xDB1, 1 }, { 0xDB3, 0xDBB, 1 }, @@ -268,7 +267,8 @@ static struct range_table alpha_table[] = { { 0x1A00, 0x1A1B, 1 }, { 0x1A20, 0x1A5E, 1 }, { 0x1A61, 0x1A74, 1 }, - { 0x1AA7, 0x1B00, 89 }, + { 0x1AA7, 0x1ABF, 24 }, + { 0x1AC0, 0x1B00, 64 }, { 0x1B01, 0x1B33, 1 }, { 0x1B35, 0x1B43, 1 }, { 0x1B45, 0x1B4B, 1 }, @@ -349,10 +349,10 @@ static struct range_table alpha_table[] = { { 0x30FC, 0x30FF, 1 }, { 0x3105, 0x312F, 1 }, { 0x3131, 0x318E, 1 }, - { 0x31A0, 0x31BA, 1 }, + { 0x31A0, 0x31BF, 1 }, { 0x31F0, 0x31FF, 1 }, - { 0x3400, 0x4DB5, 1 }, - { 0x4E00, 0x9FEF, 1 }, + { 0x3400, 0x4DBF, 1 }, + { 0x4E00, 0x9FFC, 1 }, { 0xA000, 0xA48C, 1 }, { 0xA4D0, 0xA4FD, 1 }, { 0xA500, 0xA60C, 1 }, @@ -364,8 +364,8 @@ static struct range_table alpha_table[] = { { 0xA717, 0xA71F, 1 }, { 0xA722, 0xA788, 1 }, { 0xA78B, 0xA7BF, 1 }, - { 0xA7C2, 0xA7C6, 1 }, - { 0xA7F7, 0xA805, 1 }, + { 0xA7C2, 0xA7CA, 1 }, + { 0xA7F5, 0xA805, 1 }, { 0xA807, 0xA827, 1 }, { 0xA840, 0xA873, 1 }, { 0xA880, 0xA8C3, 1 }, @@ -395,7 +395,7 @@ static struct range_table alpha_table[] = { { 0xAB20, 0xAB26, 1 }, { 0xAB28, 0xAB2E, 1 }, { 0xAB30, 0xAB5A, 1 }, - { 0xAB5C, 0xAB67, 1 }, + { 0xAB5C, 0xAB69, 1 }, { 0xAB70, 0xABEA, 1 }, { 0xAC00, 0xD7A3, 1 }, { 0xD7B0, 0xD7C6, 1 }, @@ -480,19 +480,24 @@ static struct range_table alpha_table[] = { { 0x10C80, 0x10CB2, 1 }, { 0x10CC0, 0x10CF2, 1 }, { 0x10D00, 0x10D27, 1 }, + { 0x10E80, 0x10EA9, 1 }, + { 0x10EAB, 0x10EAC, 1 }, + { 0x10EB0, 0x10EB1, 1 }, { 0x10F00, 0x10F1C, 1 }, { 0x10F27, 0x10F30, 9 }, { 0x10F31, 0x10F45, 1 }, + { 0x10FB0, 0x10FC4, 1 }, { 0x10FE0, 0x10FF6, 1 }, { 0x11000, 0x11045, 1 }, { 0x11082, 0x110B8, 1 }, { 0x110D0, 0x110E8, 1 }, { 0x11100, 0x11132, 1 }, - { 0x11144, 0x11146, 1 }, + { 0x11144, 0x11147, 1 }, { 0x11150, 0x11172, 1 }, { 0x11176, 0x11180, 10 }, { 0x11181, 0x111BF, 1 }, { 0x111C1, 0x111C4, 1 }, + { 0x111CE, 0x111CF, 1 }, { 0x111DA, 0x111DC, 2 }, { 0x11200, 0x11211, 1 }, { 0x11213, 0x11234, 1 }, @@ -518,8 +523,8 @@ static struct range_table alpha_table[] = { { 0x11400, 0x11441, 1 }, { 0x11443, 0x11445, 1 }, { 0x11447, 0x1144A, 1 }, - { 0x1145F, 0x11480, 33 }, - { 0x11481, 0x114C1, 1 }, + { 0x1145F, 0x11461, 1 }, + { 0x11480, 0x114C1, 1 }, { 0x114C4, 0x114C5, 1 }, { 0x114C7, 0x11580, 185 }, { 0x11581, 0x115B5, 1 }, @@ -533,8 +538,15 @@ static struct range_table alpha_table[] = { { 0x1171D, 0x1172A, 1 }, { 0x11800, 0x11838, 1 }, { 0x118A0, 0x118DF, 1 }, - { 0x118FF, 0x119A0, 161 }, - { 0x119A1, 0x119A7, 1 }, + { 0x118FF, 0x11906, 1 }, + { 0x11909, 0x1190C, 3 }, + { 0x1190D, 0x11913, 1 }, + { 0x11915, 0x11916, 1 }, + { 0x11918, 0x11935, 1 }, + { 0x11937, 0x11938, 1 }, + { 0x1193B, 0x1193C, 1 }, + { 0x1193F, 0x11942, 1 }, + { 0x119A0, 0x119A7, 1 }, { 0x119AA, 0x119D7, 1 }, { 0x119DA, 0x119DF, 1 }, { 0x119E1, 0x119E3, 2 }, @@ -566,7 +578,8 @@ static struct range_table alpha_table[] = { { 0x11D93, 0x11D96, 1 }, { 0x11D98, 0x11EE0, 328 }, { 0x11EE1, 0x11EF6, 1 }, - { 0x12000, 0x12399, 1 }, + { 0x11FB0, 0x12000, 80 }, + { 0x12001, 0x12399, 1 }, { 0x12400, 0x1246E, 1 }, { 0x12480, 0x12543, 1 }, { 0x13000, 0x1342E, 1 }, @@ -583,9 +596,11 @@ static struct range_table alpha_table[] = { { 0x16F4F, 0x16F87, 1 }, { 0x16F8F, 0x16F9F, 1 }, { 0x16FE0, 0x16FE1, 1 }, - { 0x16FE3, 0x17000, 29 }, + { 0x16FE3, 0x16FF0, 13 }, + { 0x16FF1, 0x17000, 15 }, { 0x17001, 0x187F7, 1 }, - { 0x18800, 0x18AF2, 1 }, + { 0x18800, 0x18CD5, 1 }, + { 0x18D00, 0x18D08, 1 }, { 0x1B000, 0x1B11E, 1 }, { 0x1B150, 0x1B152, 1 }, { 0x1B164, 0x1B167, 1 }, @@ -664,12 +679,13 @@ static struct range_table alpha_table[] = { { 0x1F130, 0x1F149, 1 }, { 0x1F150, 0x1F169, 1 }, { 0x1F170, 0x1F189, 1 }, - { 0x20000, 0x2A6D6, 1 }, + { 0x20000, 0x2A6DD, 1 }, { 0x2A700, 0x2B734, 1 }, { 0x2B740, 0x2B81D, 1 }, { 0x2B820, 0x2CEA1, 1 }, { 0x2CEB0, 0x2EBE0, 1 }, { 0x2F800, 0x2FA1D, 1 }, + { 0x30000, 0x3134A, 1 }, }; static struct range_table lower_table[] = { @@ -793,10 +809,11 @@ static struct range_table lower_table[] = { { 0xA797, 0xA7A9, 2 }, { 0xA7AF, 0xA7B5, 6 }, { 0xA7B7, 0xA7BF, 2 }, - { 0xA7C3, 0xA7F8, 53 }, - { 0xA7F9, 0xA7FA, 1 }, + { 0xA7C3, 0xA7C8, 5 }, + { 0xA7CA, 0xA7F6, 44 }, + { 0xA7F8, 0xA7FA, 1 }, { 0xAB30, 0xAB5A, 1 }, - { 0xAB5C, 0xAB67, 1 }, + { 0xAB5C, 0xAB68, 1 }, { 0xAB70, 0xABBF, 1 }, { 0xFB00, 0xFB06, 1 }, { 0xFB13, 0xFB17, 1 }, @@ -946,7 +963,8 @@ static struct range_table upper_table[] = { { 0xA7B0, 0xA7B4, 1 }, { 0xA7B6, 0xA7BE, 2 }, { 0xA7C2, 0xA7C4, 2 }, - { 0xA7C5, 0xA7C6, 1 }, + { 0xA7C5, 0xA7C7, 1 }, + { 0xA7C9, 0xA7F5, 44 }, { 0xFF21, 0xFF3A, 1 }, { 0x10400, 0x10427, 1 }, { 0x104B0, 0x104D3, 1 }, @@ -1066,7 +1084,7 @@ static struct range_table graph_table[] = { { 0x85E, 0x860, 2 }, { 0x861, 0x86A, 1 }, { 0x8A0, 0x8B4, 1 }, - { 0x8B6, 0x8BD, 1 }, + { 0x8B6, 0x8C7, 1 }, { 0x903, 0x939, 1 }, { 0x93B, 0x93D, 2 }, { 0x93E, 0x940, 1 }, @@ -1168,8 +1186,7 @@ static struct range_table graph_table[] = { { 0xCE1, 0xCE6, 5 }, { 0xCE7, 0xCEF, 1 }, { 0xCF1, 0xCF2, 1 }, - { 0xD02, 0xD03, 1 }, - { 0xD05, 0xD0C, 1 }, + { 0xD02, 0xD0C, 1 }, { 0xD0E, 0xD10, 1 }, { 0xD12, 0xD3A, 1 }, { 0xD3D, 0xD3F, 2 }, @@ -1343,7 +1360,7 @@ static struct range_table graph_table[] = { { 0x2440, 0x244A, 1 }, { 0x2460, 0x2B73, 1 }, { 0x2B76, 0x2B95, 1 }, - { 0x2B98, 0x2C2E, 1 }, + { 0x2B97, 0x2C2E, 1 }, { 0x2C30, 0x2C5E, 1 }, { 0x2C60, 0x2CEE, 1 }, { 0x2CF2, 0x2CF3, 1 }, @@ -1360,7 +1377,7 @@ static struct range_table graph_table[] = { { 0x2DC8, 0x2DCE, 1 }, { 0x2DD0, 0x2DD6, 1 }, { 0x2DD8, 0x2DDE, 1 }, - { 0x2E00, 0x2E4F, 1 }, + { 0x2E00, 0x2E52, 1 }, { 0x2E80, 0x2E99, 1 }, { 0x2E9B, 0x2EF3, 1 }, { 0x2F00, 0x2FD5, 1 }, @@ -1371,11 +1388,9 @@ static struct range_table graph_table[] = { { 0x309B, 0x30FF, 1 }, { 0x3105, 0x312F, 1 }, { 0x3131, 0x318E, 1 }, - { 0x3190, 0x31BA, 1 }, - { 0x31C0, 0x31E3, 1 }, + { 0x3190, 0x31E3, 1 }, { 0x31F0, 0x321E, 1 }, - { 0x3220, 0x4DB5, 1 }, - { 0x4DC0, 0x9FEF, 1 }, + { 0x3220, 0x9FFC, 1 }, { 0xA000, 0xA48C, 1 }, { 0xA490, 0xA4C6, 1 }, { 0xA4D0, 0xA62B, 1 }, @@ -1385,8 +1400,8 @@ static struct range_table graph_table[] = { { 0xA6A0, 0xA6EF, 1 }, { 0xA6F2, 0xA6F7, 1 }, { 0xA700, 0xA7BF, 1 }, - { 0xA7C2, 0xA7C6, 1 }, - { 0xA7F7, 0xA801, 1 }, + { 0xA7C2, 0xA7CA, 1 }, + { 0xA7F5, 0xA801, 1 }, { 0xA803, 0xA805, 1 }, { 0xA807, 0xA80A, 1 }, { 0xA80C, 0xA824, 1 }, @@ -1427,7 +1442,7 @@ static struct range_table graph_table[] = { { 0xAB11, 0xAB16, 1 }, { 0xAB20, 0xAB26, 1 }, { 0xAB28, 0xAB2E, 1 }, - { 0xAB30, 0xAB67, 1 }, + { 0xAB30, 0xAB6B, 1 }, { 0xAB70, 0xABE4, 1 }, { 0xABE6, 0xABE7, 1 }, { 0xABE9, 0xABEC, 1 }, @@ -1475,7 +1490,7 @@ static struct range_table graph_table[] = { { 0x10100, 0x10102, 1 }, { 0x10107, 0x10133, 1 }, { 0x10137, 0x1018E, 1 }, - { 0x10190, 0x1019B, 1 }, + { 0x10190, 0x1019C, 1 }, { 0x101A0, 0x101D0, 48 }, { 0x101D1, 0x101FC, 1 }, { 0x10280, 0x1029C, 1 }, @@ -1533,9 +1548,13 @@ static struct range_table graph_table[] = { { 0x10CFA, 0x10D23, 1 }, { 0x10D30, 0x10D39, 1 }, { 0x10E60, 0x10E7E, 1 }, - { 0x10F00, 0x10F27, 1 }, + { 0x10E80, 0x10EA9, 1 }, + { 0x10EAD, 0x10EB0, 3 }, + { 0x10EB1, 0x10F00, 79 }, + { 0x10F01, 0x10F27, 1 }, { 0x10F30, 0x10F45, 1 }, { 0x10F51, 0x10F59, 1 }, + { 0x10FB0, 0x10FCB, 1 }, { 0x10FE0, 0x10FF6, 1 }, { 0x11000, 0x11002, 2 }, { 0x11003, 0x11037, 1 }, @@ -1549,13 +1568,13 @@ static struct range_table graph_table[] = { { 0x110F0, 0x110F9, 1 }, { 0x11103, 0x11126, 1 }, { 0x1112C, 0x11136, 10 }, - { 0x11137, 0x11146, 1 }, + { 0x11137, 0x11147, 1 }, { 0x11150, 0x11172, 1 }, { 0x11174, 0x11176, 1 }, { 0x11182, 0x111B5, 1 }, { 0x111BF, 0x111C8, 1 }, - { 0x111CD, 0x111D0, 3 }, - { 0x111D1, 0x111DF, 1 }, + { 0x111CD, 0x111CE, 1 }, + { 0x111D0, 0x111DF, 1 }, { 0x111E1, 0x111F4, 1 }, { 0x11200, 0x11211, 1 }, { 0x11213, 0x1122E, 1 }, @@ -1586,8 +1605,9 @@ static struct range_table graph_table[] = { { 0x11400, 0x11437, 1 }, { 0x11440, 0x11441, 1 }, { 0x11445, 0x11447, 2 }, - { 0x11448, 0x11459, 1 }, - { 0x1145B, 0x1145F, 2 }, + { 0x11448, 0x1145B, 1 }, + { 0x1145D, 0x1145F, 2 }, + { 0x11460, 0x11461, 1 }, { 0x11480, 0x114AF, 1 }, { 0x114B1, 0x114B2, 1 }, { 0x114B9, 0x114BB, 2 }, @@ -1618,8 +1638,18 @@ static struct range_table graph_table[] = { { 0x11800, 0x1182E, 1 }, { 0x11838, 0x1183B, 3 }, { 0x118A0, 0x118F2, 1 }, - { 0x118FF, 0x119A0, 161 }, - { 0x119A1, 0x119A7, 1 }, + { 0x118FF, 0x11906, 1 }, + { 0x11909, 0x1190C, 3 }, + { 0x1190D, 0x11913, 1 }, + { 0x11915, 0x11916, 1 }, + { 0x11918, 0x1192F, 1 }, + { 0x11931, 0x11935, 1 }, + { 0x11937, 0x11938, 1 }, + { 0x1193D, 0x1193F, 2 }, + { 0x11940, 0x11942, 1 }, + { 0x11944, 0x11946, 1 }, + { 0x11950, 0x11959, 1 }, + { 0x119A0, 0x119A7, 1 }, { 0x119AA, 0x119D3, 1 }, { 0x119DC, 0x119DF, 1 }, { 0x119E1, 0x119E4, 1 }, @@ -1654,7 +1684,8 @@ static struct range_table graph_table[] = { { 0x11DA0, 0x11DA9, 1 }, { 0x11EE0, 0x11EF2, 1 }, { 0x11EF5, 0x11EF8, 1 }, - { 0x11FC0, 0x11FF1, 1 }, + { 0x11FB0, 0x11FC0, 16 }, + { 0x11FC1, 0x11FF1, 1 }, { 0x11FFF, 0x12399, 1 }, { 0x12400, 0x1246E, 1 }, { 0x12470, 0x12474, 1 }, @@ -1678,8 +1709,10 @@ static struct range_table graph_table[] = { { 0x16F50, 0x16F87, 1 }, { 0x16F93, 0x16F9F, 1 }, { 0x16FE0, 0x16FE3, 1 }, + { 0x16FF0, 0x16FF1, 1 }, { 0x17000, 0x187F7, 1 }, - { 0x18800, 0x18AF2, 1 }, + { 0x18800, 0x18CD5, 1 }, + { 0x18D00, 0x18D08, 1 }, { 0x1B000, 0x1B11E, 1 }, { 0x1B150, 0x1B152, 1 }, { 0x1B164, 0x1B167, 1 }, @@ -1773,17 +1806,15 @@ static struct range_table graph_table[] = { { 0x1F0B1, 0x1F0BF, 1 }, { 0x1F0C1, 0x1F0CF, 1 }, { 0x1F0D1, 0x1F0F5, 1 }, - { 0x1F100, 0x1F10C, 1 }, - { 0x1F110, 0x1F16C, 1 }, - { 0x1F170, 0x1F1AC, 1 }, + { 0x1F100, 0x1F1AD, 1 }, { 0x1F1E6, 0x1F202, 1 }, { 0x1F210, 0x1F23B, 1 }, { 0x1F240, 0x1F248, 1 }, { 0x1F250, 0x1F251, 1 }, { 0x1F260, 0x1F265, 1 }, - { 0x1F300, 0x1F6D5, 1 }, + { 0x1F300, 0x1F6D7, 1 }, { 0x1F6E0, 0x1F6EC, 1 }, - { 0x1F6F0, 0x1F6FA, 1 }, + { 0x1F6F0, 0x1F6FC, 1 }, { 0x1F700, 0x1F773, 1 }, { 0x1F780, 0x1F7D8, 1 }, { 0x1F7E0, 0x1F7EB, 1 }, @@ -1792,24 +1823,28 @@ static struct range_table graph_table[] = { { 0x1F850, 0x1F859, 1 }, { 0x1F860, 0x1F887, 1 }, { 0x1F890, 0x1F8AD, 1 }, - { 0x1F900, 0x1F90B, 1 }, - { 0x1F90D, 0x1F971, 1 }, - { 0x1F973, 0x1F976, 1 }, - { 0x1F97A, 0x1F9A2, 1 }, - { 0x1F9A5, 0x1F9AA, 1 }, - { 0x1F9AE, 0x1F9CA, 1 }, + { 0x1F8B0, 0x1F8B1, 1 }, + { 0x1F900, 0x1F978, 1 }, + { 0x1F97A, 0x1F9CB, 1 }, { 0x1F9CD, 0x1FA53, 1 }, { 0x1FA60, 0x1FA6D, 1 }, - { 0x1FA70, 0x1FA73, 1 }, + { 0x1FA70, 0x1FA74, 1 }, { 0x1FA78, 0x1FA7A, 1 }, - { 0x1FA80, 0x1FA82, 1 }, - { 0x1FA90, 0x1FA95, 1 }, - { 0x20000, 0x2A6D6, 1 }, + { 0x1FA80, 0x1FA86, 1 }, + { 0x1FA90, 0x1FAA8, 1 }, + { 0x1FAB0, 0x1FAB6, 1 }, + { 0x1FAC0, 0x1FAC2, 1 }, + { 0x1FAD0, 0x1FAD6, 1 }, + { 0x1FB00, 0x1FB92, 1 }, + { 0x1FB94, 0x1FBCA, 1 }, + { 0x1FBF0, 0x1FBF9, 1 }, + { 0x20000, 0x2A6DD, 1 }, { 0x2A700, 0x2B734, 1 }, { 0x2B740, 0x2B81D, 1 }, { 0x2B820, 0x2CEA1, 1 }, { 0x2CEB0, 0x2EBE0, 1 }, { 0x2F800, 0x2FA1D, 1 }, + { 0x30000, 0x3134A, 1 }, }; static struct range_table compose_table[] = { @@ -1865,13 +1900,14 @@ static struct range_table compose_table[] = { { 0xB01, 0xB3C, 59 }, { 0xB3E, 0xB3F, 1 }, { 0xB41, 0xB44, 1 }, - { 0xB4D, 0xB56, 9 }, - { 0xB57, 0xB62, 11 }, - { 0xB63, 0xB82, 31 }, - { 0xBBE, 0xBC0, 2 }, - { 0xBCD, 0xBD7, 10 }, - { 0xC00, 0xC04, 4 }, - { 0xC3E, 0xC40, 1 }, + { 0xB4D, 0xB55, 8 }, + { 0xB56, 0xB57, 1 }, + { 0xB62, 0xB63, 1 }, + { 0xB82, 0xBBE, 60 }, + { 0xBC0, 0xBCD, 13 }, + { 0xBD7, 0xC00, 41 }, + { 0xC04, 0xC3E, 58 }, + { 0xC3F, 0xC40, 1 }, { 0xC46, 0xC48, 1 }, { 0xC4A, 0xC4D, 1 }, { 0xC55, 0xC56, 1 }, @@ -1887,8 +1923,9 @@ static struct range_table compose_table[] = { { 0xD41, 0xD44, 1 }, { 0xD4D, 0xD57, 10 }, { 0xD62, 0xD63, 1 }, - { 0xDCA, 0xDCF, 5 }, - { 0xDD2, 0xDD4, 1 }, + { 0xD81, 0xDCA, 73 }, + { 0xDCF, 0xDD2, 3 }, + { 0xDD3, 0xDD4, 1 }, { 0xDD6, 0xDDF, 9 }, { 0xE31, 0xE34, 3 }, { 0xE35, 0xE3A, 1 }, @@ -1938,7 +1975,7 @@ static struct range_table compose_table[] = { { 0x1A65, 0x1A6C, 1 }, { 0x1A73, 0x1A7C, 1 }, { 0x1A7F, 0x1AB0, 49 }, - { 0x1AB1, 0x1ABE, 1 }, + { 0x1AB1, 0x1AC0, 1 }, { 0x1B00, 0x1B03, 1 }, { 0x1B34, 0x1B3A, 1 }, { 0x1B3C, 0x1B42, 6 }, @@ -1972,9 +2009,9 @@ static struct range_table compose_table[] = { { 0xA6F0, 0xA6F1, 1 }, { 0xA802, 0xA806, 4 }, { 0xA80B, 0xA825, 26 }, - { 0xA826, 0xA8C4, 158 }, - { 0xA8C5, 0xA8E0, 27 }, - { 0xA8E1, 0xA8F1, 1 }, + { 0xA826, 0xA82C, 6 }, + { 0xA8C4, 0xA8C5, 1 }, + { 0xA8E0, 0xA8F1, 1 }, { 0xA8FF, 0xA926, 39 }, { 0xA927, 0xA92D, 1 }, { 0xA947, 0xA951, 1 }, @@ -2007,6 +2044,7 @@ static struct range_table compose_table[] = { { 0x10A3F, 0x10AE5, 166 }, { 0x10AE6, 0x10D24, 574 }, { 0x10D25, 0x10D27, 1 }, + { 0x10EAB, 0x10EAC, 1 }, { 0x10F46, 0x10F50, 1 }, { 0x11001, 0x11038, 55 }, { 0x11039, 0x11046, 1 }, @@ -2020,7 +2058,8 @@ static struct range_table compose_table[] = { { 0x11181, 0x111B6, 53 }, { 0x111B7, 0x111BE, 1 }, { 0x111C9, 0x111CC, 1 }, - { 0x1122F, 0x11231, 1 }, + { 0x111CF, 0x1122F, 96 }, + { 0x11230, 0x11231, 1 }, { 0x11234, 0x11236, 2 }, { 0x11237, 0x1123E, 7 }, { 0x112DF, 0x112E3, 4 }, @@ -2055,7 +2094,10 @@ static struct range_table compose_table[] = { { 0x11727, 0x1172B, 1 }, { 0x1182F, 0x11837, 1 }, { 0x11839, 0x1183A, 1 }, - { 0x119D4, 0x119D7, 1 }, + { 0x11930, 0x1193B, 11 }, + { 0x1193C, 0x1193E, 2 }, + { 0x11943, 0x119D4, 145 }, + { 0x119D5, 0x119D7, 1 }, { 0x119DA, 0x119DB, 1 }, { 0x119E0, 0x11A01, 33 }, { 0x11A02, 0x11A0A, 1 }, @@ -2085,9 +2127,9 @@ static struct range_table compose_table[] = { { 0x16B30, 0x16B36, 1 }, { 0x16F4F, 0x16F8F, 64 }, { 0x16F90, 0x16F92, 1 }, - { 0x1BC9D, 0x1BC9E, 1 }, - { 0x1D165, 0x1D167, 2 }, - { 0x1D168, 0x1D169, 1 }, + { 0x16FE4, 0x1BC9D, 19641 }, + { 0x1BC9E, 0x1D165, 5319 }, + { 0x1D167, 0x1D169, 1 }, { 0x1D16E, 0x1D172, 1 }, { 0x1D17B, 0x1D182, 1 }, { 0x1D185, 0x1D18B, 1 }, @@ -2190,6 +2232,7 @@ static struct range_table digit_table[] = { { 0x116C0, 0x116C9, 1 }, { 0x11730, 0x11739, 1 }, { 0x118E0, 0x118E9, 1 }, + { 0x11950, 0x11959, 1 }, { 0x11C50, 0x11C59, 1 }, { 0x11D50, 0x11D59, 1 }, { 0x11DA0, 0x11DA9, 1 }, @@ -2199,6 +2242,7 @@ static struct range_table digit_table[] = { { 0x1E140, 0x1E149, 1 }, { 0x1E2F0, 0x1E2F9, 1 }, { 0x1E950, 0x1E959, 1 }, + { 0x1FBF0, 0x1FBF9, 1 }, }; static struct range_table alnum_extend_table[] = { @@ -2296,6 +2340,7 @@ static struct range_table alnum_extend_table[] = { { 0x10E60, 0x10E7E, 1 }, { 0x10F1D, 0x10F26, 1 }, { 0x10F51, 0x10F54, 1 }, + { 0x10FC5, 0x10FCB, 1 }, { 0x11052, 0x1106F, 1 }, { 0x110F0, 0x110F9, 1 }, { 0x11136, 0x1113F, 1 }, @@ -2308,6 +2353,7 @@ static struct range_table alnum_extend_table[] = { { 0x116C0, 0x116C9, 1 }, { 0x11730, 0x1173B, 1 }, { 0x118E0, 0x118F2, 1 }, + { 0x11950, 0x11959, 1 }, { 0x11C50, 0x11C6C, 1 }, { 0x11D50, 0x11D59, 1 }, { 0x11DA0, 0x11DA9, 1 }, @@ -2330,6 +2376,7 @@ static struct range_table alnum_extend_table[] = { { 0x1ED01, 0x1ED2D, 1 }, { 0x1ED2F, 0x1ED3D, 1 }, { 0x1F100, 0x1F10C, 1 }, + { 0x1FBF0, 0x1FBF9, 1 }, }; static struct range_table punct_table[] = { @@ -2442,7 +2489,8 @@ static struct range_table punct_table[] = { { 0x2D70, 0x2E00, 144 }, { 0x2E01, 0x2E2E, 1 }, { 0x2E30, 0x2E4F, 1 }, - { 0x3001, 0x3003, 1 }, + { 0x2E52, 0x3001, 431 }, + { 0x3002, 0x3003, 1 }, { 0x3008, 0x3011, 1 }, { 0x3014, 0x301F, 1 }, { 0x3030, 0x303D, 13 }, @@ -2466,7 +2514,8 @@ static struct range_table punct_table[] = { { 0xAA5C, 0xAA5F, 1 }, { 0xAADE, 0xAADF, 1 }, { 0xAAF0, 0xAAF1, 1 }, - { 0xAB5B, 0xABEB, 144 }, + { 0xAB5B, 0xAB6A, 15 }, + { 0xAB6B, 0xABEB, 128 }, { 0xFB29, 0xFBB2, 137 }, { 0xFBB3, 0xFBC1, 1 }, { 0xFD3E, 0xFD3F, 1 }, @@ -2491,7 +2540,8 @@ static struct range_table punct_table[] = { { 0x10AF1, 0x10AF6, 1 }, { 0x10B39, 0x10B3F, 1 }, { 0x10B99, 0x10B9C, 1 }, - { 0x10F55, 0x10F59, 1 }, + { 0x10EAD, 0x10F55, 168 }, + { 0x10F56, 0x10F59, 1 }, { 0x11047, 0x1104D, 1 }, { 0x110BB, 0x110BC, 1 }, { 0x110BE, 0x110C1, 1 }, @@ -2503,14 +2553,16 @@ static struct range_table punct_table[] = { { 0x11238, 0x1123D, 1 }, { 0x112A9, 0x1144B, 418 }, { 0x1144C, 0x1144F, 1 }, - { 0x1145B, 0x1145D, 2 }, - { 0x114C6, 0x115C1, 251 }, - { 0x115C2, 0x115D7, 1 }, + { 0x1145A, 0x1145B, 1 }, + { 0x1145D, 0x114C6, 105 }, + { 0x115C1, 0x115D7, 1 }, { 0x11641, 0x11643, 1 }, { 0x11660, 0x1166C, 1 }, { 0x1173C, 0x1173E, 1 }, - { 0x1183B, 0x119E2, 423 }, - { 0x11A3F, 0x11A46, 1 }, + { 0x1183B, 0x11944, 265 }, + { 0x11945, 0x11946, 1 }, + { 0x119E2, 0x11A3F, 93 }, + { 0x11A40, 0x11A46, 1 }, { 0x11A9A, 0x11A9C, 1 }, { 0x11A9E, 0x11AA2, 1 }, { 0x11C41, 0x11C45, 1 }, @@ -2703,6 +2755,8 @@ static struct conv_table tolower_table[] = { { 0xA7C4, 0xA7C4, 1, -48 }, { 0xA7C5, 0xA7C5, 1, -42307 }, { 0xA7C6, 0xA7C6, 1, -35384 }, + { 0xA7C7, 0xA7C9, 2, 1 }, + { 0xA7F5, 0xA7F5, 1, 1 }, { 0xFF21, 0xFF3A, 1, 32 }, { 0x10400, 0x10427, 1, 40 }, { 0x104B0, 0x104D3, 1, 40 }, @@ -2890,7 +2944,8 @@ static struct conv_table toupper_table[] = { { 0xA794, 0xA794, 1, 48 }, { 0xA797, 0xA7A9, 2, -1 }, { 0xA7B5, 0xA7BF, 2, -1 }, - { 0xA7C3, 0xA7C3, 1, -1 }, + { 0xA7C3, 0xA7C8, 5, -1 }, + { 0xA7CA, 0xA7F6, 44, -1 }, { 0xAB53, 0xAB53, 1, -928 }, { 0xAB70, 0xABBF, 1, -38864 }, { 0xFF41, 0xFF5A, 1, -32 }, @@ -3082,7 +3137,8 @@ static struct conv_table totitle_table[] = { { 0xA794, 0xA794, 1, 48 }, { 0xA797, 0xA7A9, 2, -1 }, { 0xA7B5, 0xA7BF, 2, -1 }, - { 0xA7C3, 0xA7C3, 1, -1 }, + { 0xA7C3, 0xA7C8, 5, -1 }, + { 0xA7CA, 0xA7F6, 44, -1 }, { 0xAB53, 0xAB53, 1, -928 }, { 0xAB70, 0xABBF, 1, -38864 }, { 0xFF41, 0xFF5A, 1, -32 }, @@ -3279,6 +3335,8 @@ static struct conv_table tofold_table[] = { { 0xA7C4, 0xA7C4, 1, -48 }, { 0xA7C5, 0xA7C5, 1, -42307 }, { 0xA7C6, 0xA7C6, 1, -35384 }, + { 0xA7C7, 0xA7C9, 2, 1 }, + { 0xA7F5, 0xA7F5, 1, 1 }, { 0xAB70, 0xABBF, 1, -38864 }, { 0xFF21, 0xFF3A, 1, 32 }, { 0x10400, 0x10427, 1, 40 }, @@ -3325,8 +3383,7 @@ static struct range_table doublewidth_table[] = { { 0x3099, 0x30FF, 1 }, { 0x3105, 0x312F, 1 }, { 0x3131, 0x318E, 1 }, - { 0x3190, 0x31BA, 1 }, - { 0x31C0, 0x31E3, 1 }, + { 0x3190, 0x31E3, 1 }, { 0x31F0, 0x321E, 1 }, { 0x3220, 0x3247, 1 }, { 0x3250, 0x4DBF, 1 }, @@ -3341,9 +3398,11 @@ static struct range_table doublewidth_table[] = { { 0xFE68, 0xFE6B, 1 }, { 0xFF01, 0xFF60, 1 }, { 0xFFE0, 0xFFE6, 1 }, - { 0x16FE0, 0x16FE3, 1 }, + { 0x16FE0, 0x16FE4, 1 }, + { 0x16FF0, 0x16FF1, 1 }, { 0x17000, 0x187F7, 1 }, - { 0x18800, 0x18AF2, 1 }, + { 0x18800, 0x18CD5, 1 }, + { 0x18D00, 0x18D08, 1 }, { 0x1B000, 0x1B11E, 1 }, { 0x1B150, 0x1B152, 1 }, { 0x1B164, 0x1B167, 1 }, @@ -3376,20 +3435,22 @@ static struct range_table doublewidth_table[] = { { 0x1F680, 0x1F6C5, 1 }, { 0x1F6CC, 0x1F6D0, 4 }, { 0x1F6D1, 0x1F6D2, 1 }, - { 0x1F6D5, 0x1F6EB, 22 }, - { 0x1F6EC, 0x1F6F4, 8 }, - { 0x1F6F5, 0x1F6FA, 1 }, + { 0x1F6D5, 0x1F6D7, 1 }, + { 0x1F6EB, 0x1F6EC, 1 }, + { 0x1F6F4, 0x1F6FC, 1 }, { 0x1F7E0, 0x1F7EB, 1 }, - { 0x1F90D, 0x1F971, 1 }, - { 0x1F973, 0x1F976, 1 }, - { 0x1F97A, 0x1F9A2, 1 }, - { 0x1F9A5, 0x1F9AA, 1 }, - { 0x1F9AE, 0x1F9CA, 1 }, + { 0x1F90C, 0x1F93A, 1 }, + { 0x1F93C, 0x1F945, 1 }, + { 0x1F947, 0x1F978, 1 }, + { 0x1F97A, 0x1F9CB, 1 }, { 0x1F9CD, 0x1F9FF, 1 }, - { 0x1FA70, 0x1FA73, 1 }, + { 0x1FA70, 0x1FA74, 1 }, { 0x1FA78, 0x1FA7A, 1 }, - { 0x1FA80, 0x1FA82, 1 }, - { 0x1FA90, 0x1FA95, 1 }, + { 0x1FA80, 0x1FA86, 1 }, + { 0x1FA90, 0x1FAA8, 1 }, + { 0x1FAB0, 0x1FAB6, 1 }, + { 0x1FAC0, 0x1FAC2, 1 }, + { 0x1FAD0, 0x1FAD6, 1 }, { 0x20000, 0x2FFFD, 1 }, { 0x30000, 0x3FFFD, 1 }, }; diff --git a/plugins/luamacro/luafar/version.h b/plugins/luamacro/luafar/version.h index 0ca8d0a846..937f4236b6 100644 --- a/plugins/luamacro/luafar/version.h +++ b/plugins/luamacro/luafar/version.h @@ -1,3 +1,3 @@ #include -#define PLUGIN_BUILD 760 +#define PLUGIN_BUILD 761