From 555e72a38890f9878ff29cd3758c230b3fa7c07d Mon Sep 17 00:00:00 2001 From: ManogyaDahal Date: Mon, 28 Apr 2025 14:18:12 +0545 Subject: [PATCH 01/12] Updae: Added dwm in Readme --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index 1ee879a..ec3b649 100644 --- a/readme.md +++ b/readme.md @@ -244,7 +244,9 @@ On Arch Linux, the example .xinitrc (/etc/X11/xinit/xinitrc) starts like this: - bspwm - budgie - cinnamon + - dwm - enlightenment + - gnome - kde - leftwm - lxde From f74c4e92a946a73384e6e2a26402849f8216ef04 Mon Sep 17 00:00:00 2001 From: Bluudek Date: Wed, 7 May 2025 23:31:31 +0200 Subject: [PATCH 02/12] Update Polish missing messages --- res/lang/pl.ini | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/res/lang/pl.ini b/res/lang/pl.ini index 93ec5ba..7271c00 100644 --- a/res/lang/pl.ini +++ b/res/lang/pl.ini @@ -1,21 +1,21 @@ - - - +authenticating = uwierzytelnianie... +brightness_down = zmniejsz jasność +brightness_up = zwiększ jasność capslock = capslock err_alloc = nieudana alokacja pamięci err_bounds = indeks poza granicami - +err_brightness_change = nie udało się zmienić jasności err_chdir = nie udało się otworzyć folderu domowego - +err_config = nie można przetworzyć pliku konfiguracyjnego err_console_dev = nie udało się uzyskać dostępu do konsoli err_dgn_oob = wiadomość loga err_domain = niepoprawna domena - - +err_empty_password = puste hasło jest niedozwolone +err_envlist = nie udało się pobrać listy zmiennych środowiskowych err_hostname = nie udało się uzyskać nazwy hosta err_mlock = nie udało się zablokować pamięci haseł err_null = wskaźnik zerowy - +err_numlock = nie udało się ustawić numlock err_pam = transakcja pam nieudana err_pam_abort = transakcja pam przerwana err_pam_acct_expired = konto wygasło @@ -37,28 +37,28 @@ err_perm_dir = nie udało się zmienić obecnego katalogu err_perm_group = nie udało się obniżyć uprawnień grupy err_perm_user = nie udało się obniżyć uprawnień użytkownika err_pwnam = nie udało się uzyskać informacji o użytkowniku - - - +err_sleep = nie udało się wykonać polecenia sleep +err_tty_ctrl = nie udało się przekazać kontroli tty +err_unknown = wystąpił nieznany błąd err_user_gid = nie udało się ustawić GID użytkownika err_user_init = nie udało się zainicjalizować użytkownika err_user_uid = nie udało się ustawić UID użytkownika - - +err_xauth = polecenie xauth nie powiodło się +err_xcb_conn = połączenie xcb nie powiodło się err_xsessions_dir = nie udało się znaleźć folderu sesji err_xsessions_open = nie udało się otworzyć folderu sesji - +insert = wstaw login = login logout = wylogowano - - +no_x11_support = wsparcie X11 wyłączone podczas kompilacji +normal = normalny numlock = numlock - +other = inny password = hasło restart = uruchom ponownie shell = powłoka shutdown = wyłącz - +sleep = uśpij wayland = wayland - +x11 = x11 xinitrc = xinitrc From 71a06e13a6033649d52a8f15c798e85df7829370 Mon Sep 17 00:00:00 2001 From: Bluudek Date: Thu, 8 May 2025 00:12:50 +0200 Subject: [PATCH 03/12] Update Polish phrases --- res/lang/pl.ini | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/res/lang/pl.ini b/res/lang/pl.ini index 7271c00..3f0d4e8 100644 --- a/res/lang/pl.ini +++ b/res/lang/pl.ini @@ -3,7 +3,7 @@ brightness_down = zmniejsz jasność brightness_up = zwiększ jasność capslock = capslock err_alloc = nieudana alokacja pamięci -err_bounds = indeks poza granicami +err_bounds = indeks poza zakresem err_brightness_change = nie udało się zmienić jasności err_chdir = nie udało się otworzyć folderu domowego err_config = nie można przetworzyć pliku konfiguracyjnego @@ -14,12 +14,12 @@ err_empty_password = puste hasło jest niedozwolone err_envlist = nie udało się pobrać listy zmiennych środowiskowych err_hostname = nie udało się uzyskać nazwy hosta err_mlock = nie udało się zablokować pamięci haseł -err_null = wskaźnik zerowy +err_null = pusty wskaźnik err_numlock = nie udało się ustawić numlock err_pam = transakcja pam nieudana err_pam_abort = transakcja pam przerwana err_pam_acct_expired = konto wygasło -err_pam_auth = błąd autentyfikacji +err_pam_auth = błąd uwierzytelniania err_pam_authinfo_unavail = nie udało się zdobyć informacji o użytkowniku err_pam_authok_reqd = token wygasł err_pam_buf = błąd bufora pamięci @@ -28,7 +28,7 @@ err_pam_cred_expired = uwierzytelnienie wygasło err_pam_cred_insufficient = niewystarczające uwierzytelnienie err_pam_cred_unavail = nie udało się uzyskać uwierzytelnienia err_pam_maxtries = osiągnięto limit prób -err_pam_perm_denied = brak uprawnień +err_pam_perm_denied = odmowa dostępu err_pam_session = błąd sesji err_pam_sys = błąd systemu err_pam_user_unknown = nieznany użytkownik From 732888fd940955d4de5e7538ebf592785faaf282 Mon Sep 17 00:00:00 2001 From: Bluudek Date: Thu, 8 May 2025 00:16:14 +0200 Subject: [PATCH 04/12] Remove invisible Unicode characters --- res/lang/pl.ini | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/res/lang/pl.ini b/res/lang/pl.ini index 3f0d4e8..abef3a8 100644 --- a/res/lang/pl.ini +++ b/res/lang/pl.ini @@ -7,7 +7,7 @@ err_bounds = indeks poza zakresem err_brightness_change = nie udało się zmienić jasności err_chdir = nie udało się otworzyć folderu domowego err_config = nie można przetworzyć pliku konfiguracyjnego -err_console_dev = nie udało się uzyskać dostępu do konsoli +err_console_dev = nie udało się uzyskać dostępu do konsoli err_dgn_oob = wiadomość loga err_domain = niepoprawna domena err_empty_password = puste hasło jest niedozwolone @@ -23,30 +23,30 @@ err_pam_auth = błąd uwierzytelniania err_pam_authinfo_unavail = nie udało się zdobyć informacji o użytkowniku err_pam_authok_reqd = token wygasł err_pam_buf = błąd bufora pamięci -err_pam_cred_err = nie udało się ustawić uwierzytelnienia +err_pam_cred_err = nie udało się ustawić uwierzytelnienia err_pam_cred_expired = uwierzytelnienie wygasło err_pam_cred_insufficient = niewystarczające uwierzytelnienie -err_pam_cred_unavail = nie udało się uzyskać uwierzytelnienia +err_pam_cred_unavail = nie udało się uzyskać uwierzytelnienia err_pam_maxtries = osiągnięto limit prób err_pam_perm_denied = odmowa dostępu err_pam_session = błąd sesji err_pam_sys = błąd systemu err_pam_user_unknown = nieznany użytkownik -err_path = nie udało się ustawić ścieżki -err_perm_dir = nie udało się zmienić obecnego katalogu -err_perm_group = nie udało się obniżyć uprawnień grupy -err_perm_user = nie udało się obniżyć uprawnień użytkownika -err_pwnam = nie udało się uzyskać informacji o użytkowniku +err_path = nie udało się ustawić ścieżki +err_perm_dir = nie udało się zmienić obecnego katalogu +err_perm_group = nie udało się obniżyć uprawnień grupy +err_perm_user = nie udało się obniżyć uprawnień użytkownika +err_pwnam = nie udało się uzyskać informacji o użytkowniku err_sleep = nie udało się wykonać polecenia sleep err_tty_ctrl = nie udało się przekazać kontroli tty err_unknown = wystąpił nieznany błąd err_user_gid = nie udało się ustawić GID użytkownika -err_user_init = nie udało się zainicjalizować użytkownika +err_user_init = nie udało się zainicjalizować użytkownika err_user_uid = nie udało się ustawić UID użytkownika err_xauth = polecenie xauth nie powiodło się err_xcb_conn = połączenie xcb nie powiodło się -err_xsessions_dir = nie udało się znaleźć folderu sesji -err_xsessions_open = nie udało się otworzyć folderu sesji +err_xsessions_dir = nie udało się znaleźć folderu sesji +err_xsessions_open = nie udało się otworzyć folderu sesji insert = wstaw login = login logout = wylogowano From e90cf40e5b9b6d00523dd3c39c01763d7db7a45e Mon Sep 17 00:00:00 2001 From: AnErrupTion Date: Thu, 29 May 2025 23:52:58 +0200 Subject: [PATCH 05/12] Update termbox2 Signed-off-by: AnErrupTion --- include/termbox2.h | 1050 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 913 insertions(+), 137 deletions(-) diff --git a/include/termbox2.h b/include/termbox2.h index 297d0be..831b824 100644 --- a/include/termbox2.h +++ b/include/termbox2.h @@ -2,7 +2,7 @@ MIT License Copyright (c) 2010-2020 nsf - 2015-2024 Adam Saponara + 2015-2025 Adam Saponara Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -52,7 +52,6 @@ SOFTWARE. #include #include #include -#include #ifdef PATH_MAX #define TB_PATH_MAX PATH_MAX @@ -66,28 +65,33 @@ extern "C" { // __ffi_start -#define TB_VERSION_STR "2.5.0" +#define TB_VERSION_STR "2.6.0-dev" /* The following compile-time options are supported: * - * TB_OPT_ATTR_W: Integer width of fg and bg attributes. Valid values + * TB_OPT_ATTR_W: Integer width of `fg` and `bg` attributes. Valid values * (assuming system support) are 16, 32, and 64. (See - * uintattr_t). 32 or 64 enables output mode - * TB_OUTPUT_TRUECOLOR. 64 enables additional style - * attributes. (See tb_set_output_mode.) Larger values + * `uintattr_t`). 32 or 64 enables output mode + * `TB_OUTPUT_TRUECOLOR`. 64 enables additional style + * attributes. (See `tb_set_output_mode`.) Larger values * consume more memory in exchange for more features. * Defaults to 16. * * TB_OPT_EGC: If set, enable extended grapheme cluster support - * (tb_extend_cell, tb_set_cell_ex). Consumes more memory. - * Defaults off. + * (`tb_extend_cell`, `tb_set_cell_ex`). Consumes more + * memory. Defaults off. * * TB_OPT_PRINTF_BUF: Write buffer size for printf operations. Represents the - * largest string that can be sent in one call to tb_print* - * and tb_send* functions. Defaults to 4096. + * largest string that can be sent in one call to + * `tb_print*` and `tb_send*` functions. Defaults to 4096. * * TB_OPT_READ_BUF: Read buffer size for tty reads. Defaults to 64. * + * TB_OPT_LIBC_WCHAR: If set, use libc's `wcwidth(3)`, `iswprint(3)`, etc + * instead of the built-in Unicode-aware versions. Note, + * libc's are locale-dependent and the caller must + * `setlocale(3)` `LC_CTYPE` to UTF-8. Defaults to built-in. + * * TB_OPT_TRUECOLOR: Deprecated. Sets TB_OPT_ATTR_W to 32 if not already set. */ @@ -97,6 +101,7 @@ extern "C" { #undef TB_OPT_EGC #undef TB_OPT_PRINTF_BUF #undef TB_OPT_READ_BUF +#undef TB_OPT_LIBC_WCHAR #define TB_OPT_ATTR_W 64 #define TB_OPT_EGC #endif @@ -481,7 +486,8 @@ int tb_present(void); /* Clear the internal front buffer effectively forcing a complete re-render of * the back buffer to the tty. It is not necessary to call this under normal - * circumstances. */ + * circumstances. + */ int tb_invalidate(void); /* Set the position of the cursor. Upper-left cell is (0, 0). */ @@ -651,7 +657,8 @@ int tb_poll_event(struct tb_event *event); /* Internal termbox fds that can be used with `poll(2)`, `select(2)`, etc. * externally. Callers must invoke `tb_poll_event` or `tb_peek_event` if - * fds become readable. */ + * fds become readable. + */ int tb_get_fds(int *ttyfd, int *resizefd); /* Print and printf functions. Specify param `out_w` to determine width of @@ -722,6 +729,8 @@ int tb_has_truecolor(void); int tb_has_egc(void); int tb_attr_width(void); const char *tb_version(void); +int tb_iswprint(uint32_t ch); +int tb_wcwidth(uint32_t ch); /* Deprecation notice! * @@ -732,7 +741,7 @@ const char *tb_version(void); * TB_TRUECOLOR_BOLD (use TB_BOLD) * TB_TRUECOLOR_UNDERLINE (use TB_UNDERLINE) * TB_TRUECOLOR_REVERSE (use TB_REVERSE) - * TB_TRUECOLOR_ITALIC (use TB_ITALICe) + * TB_TRUECOLOR_ITALIC (use TB_ITALIC) * TB_TRUECOLOR_BLINK (use TB_BLINK) * TB_TRUECOLOR_BLACK (use TB_HI_BLACK) * tb_cell_buffer @@ -1149,7 +1158,7 @@ static struct { const uint16_t key; const uint8_t mod; } builtin_mod_caps[] = { - // xterm arrows + // xterm arrows {"\x1b[1;2A", TB_KEY_ARROW_UP, TB_MOD_SHIFT }, {"\x1b[1;3A", TB_KEY_ARROW_UP, TB_MOD_ALT }, {"\x1b[1;4A", TB_KEY_ARROW_UP, TB_MOD_ALT | TB_MOD_SHIFT }, @@ -1182,7 +1191,7 @@ static struct { {"\x1b[1;7D", TB_KEY_ARROW_LEFT, TB_MOD_CTRL | TB_MOD_ALT }, {"\x1b[1;8D", TB_KEY_ARROW_LEFT, TB_MOD_CTRL | TB_MOD_ALT | TB_MOD_SHIFT}, - // xterm keys + // xterm keys {"\x1b[1;2H", TB_KEY_HOME, TB_MOD_SHIFT }, {"\x1b[1;3H", TB_KEY_HOME, TB_MOD_ALT }, {"\x1b[1;4H", TB_KEY_HOME, TB_MOD_ALT | TB_MOD_SHIFT }, @@ -1327,7 +1336,7 @@ static struct { {"\x1b[24;7~", TB_KEY_F12, TB_MOD_CTRL | TB_MOD_ALT }, {"\x1b[24;8~", TB_KEY_F12, TB_MOD_CTRL | TB_MOD_ALT | TB_MOD_SHIFT}, - // rxvt arrows + // rxvt arrows {"\x1b[a", TB_KEY_ARROW_UP, TB_MOD_SHIFT }, {"\x1b\x1b[A", TB_KEY_ARROW_UP, TB_MOD_ALT }, {"\x1b\x1b[a", TB_KEY_ARROW_UP, TB_MOD_ALT | TB_MOD_SHIFT }, @@ -1352,7 +1361,7 @@ static struct { {"\x1bOd", TB_KEY_ARROW_LEFT, TB_MOD_CTRL }, {"\x1b\x1bOd", TB_KEY_ARROW_LEFT, TB_MOD_CTRL | TB_MOD_ALT }, - // rxvt keys + // rxvt keys {"\x1b[7$", TB_KEY_HOME, TB_MOD_SHIFT }, {"\x1b\x1b[7~", TB_KEY_HOME, TB_MOD_ALT }, {"\x1b\x1b[7$", TB_KEY_HOME, TB_MOD_ALT | TB_MOD_SHIFT }, @@ -1497,13 +1506,13 @@ static struct { {"\x1b[24@", TB_KEY_F12, TB_MOD_CTRL | TB_MOD_SHIFT }, {"\x1b[24$", TB_KEY_F12, TB_MOD_SHIFT }, - // linux console/putty arrows + // linux console/putty arrows {"\x1b[A", TB_KEY_ARROW_UP, TB_MOD_SHIFT }, {"\x1b[B", TB_KEY_ARROW_DOWN, TB_MOD_SHIFT }, {"\x1b[C", TB_KEY_ARROW_RIGHT, TB_MOD_SHIFT }, {"\x1b[D", TB_KEY_ARROW_LEFT, TB_MOD_SHIFT }, - // more putty arrows + // more putty arrows {"\x1bOA", TB_KEY_ARROW_UP, TB_MOD_CTRL }, {"\x1b\x1bOA", TB_KEY_ARROW_UP, TB_MOD_CTRL | TB_MOD_ALT }, {"\x1bOB", TB_KEY_ARROW_DOWN, TB_MOD_CTRL }, @@ -1530,6 +1539,733 @@ static const unsigned char utf8_length[256] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, static const unsigned char utf8_mask[6] = {0x7f, 0x1f, 0x0f, 0x07, 0x03, 0x01}; +#ifndef TB_OPT_LIBC_WCHAR +static struct { + uint32_t range_start; + uint32_t range_end; + int width; // -1 means iswprint==0, otherwise wcwidth value (0, 1, or 2) +} wcwidth_table[] = { + // clang-format off + {0x000001, 0x00001f, -1}, {0x000020, 0x00007e, 1}, {0x00007f, 0x00009f, -1}, + {0x0000a0, 0x0002ff, 1}, {0x000300, 0x00036f, 0}, {0x000370, 0x000377, 1}, + {0x000378, 0x000379, -1}, {0x00037a, 0x00037f, 1}, {0x000380, 0x000383, -1}, + {0x000384, 0x00038a, 1}, {0x00038b, 0x00038b, -1}, {0x00038c, 0x00038c, 1}, + {0x00038d, 0x00038d, -1}, {0x00038e, 0x0003a1, 1}, {0x0003a2, 0x0003a2, -1}, + {0x0003a3, 0x000482, 1}, {0x000483, 0x000489, 0}, {0x00048a, 0x00052f, 1}, + {0x000530, 0x000530, -1}, {0x000531, 0x000556, 1}, {0x000557, 0x000558, -1}, + {0x000559, 0x00058a, 1}, {0x00058b, 0x00058c, -1}, {0x00058d, 0x00058f, 1}, + {0x000590, 0x000590, -1}, {0x000591, 0x0005bd, 0}, {0x0005be, 0x0005be, 1}, + {0x0005bf, 0x0005bf, 0}, {0x0005c0, 0x0005c0, 1}, {0x0005c1, 0x0005c2, 0}, + {0x0005c3, 0x0005c3, 1}, {0x0005c4, 0x0005c5, 0}, {0x0005c6, 0x0005c6, 1}, + {0x0005c7, 0x0005c7, 0}, {0x0005c8, 0x0005cf, -1}, {0x0005d0, 0x0005ea, 1}, + {0x0005eb, 0x0005ee, -1}, {0x0005ef, 0x0005f4, 1}, {0x0005f5, 0x0005ff, -1}, + {0x000600, 0x00060f, 1}, {0x000610, 0x00061a, 0}, {0x00061b, 0x00061b, 1}, + {0x00061c, 0x00061c, 0}, {0x00061d, 0x00064a, 1}, {0x00064b, 0x00065f, 0}, + {0x000660, 0x00066f, 1}, {0x000670, 0x000670, 0}, {0x000671, 0x0006d5, 1}, + {0x0006d6, 0x0006dc, 0}, {0x0006dd, 0x0006de, 1}, {0x0006df, 0x0006e4, 0}, + {0x0006e5, 0x0006e6, 1}, {0x0006e7, 0x0006e8, 0}, {0x0006e9, 0x0006e9, 1}, + {0x0006ea, 0x0006ed, 0}, {0x0006ee, 0x00070d, 1}, {0x00070e, 0x00070e, -1}, + {0x00070f, 0x000710, 1}, {0x000711, 0x000711, 0}, {0x000712, 0x00072f, 1}, + {0x000730, 0x00074a, 0}, {0x00074b, 0x00074c, -1}, {0x00074d, 0x0007a5, 1}, + {0x0007a6, 0x0007b0, 0}, {0x0007b1, 0x0007b1, 1}, {0x0007b2, 0x0007bf, -1}, + {0x0007c0, 0x0007ea, 1}, {0x0007eb, 0x0007f3, 0}, {0x0007f4, 0x0007fa, 1}, + {0x0007fb, 0x0007fc, -1}, {0x0007fd, 0x0007fd, 0}, {0x0007fe, 0x000815, 1}, + {0x000816, 0x000819, 0}, {0x00081a, 0x00081a, 1}, {0x00081b, 0x000823, 0}, + {0x000824, 0x000824, 1}, {0x000825, 0x000827, 0}, {0x000828, 0x000828, 1}, + {0x000829, 0x00082d, 0}, {0x00082e, 0x00082f, -1}, {0x000830, 0x00083e, 1}, + {0x00083f, 0x00083f, -1}, {0x000840, 0x000858, 1}, {0x000859, 0x00085b, 0}, + {0x00085c, 0x00085d, -1}, {0x00085e, 0x00085e, 1}, {0x00085f, 0x00085f, -1}, + {0x000860, 0x00086a, 1}, {0x00086b, 0x00086f, -1}, {0x000870, 0x00088e, 1}, + {0x00088f, 0x00088f, -1}, {0x000890, 0x000891, 1}, {0x000892, 0x000896, -1}, + {0x000897, 0x00089f, 0}, {0x0008a0, 0x0008c9, 1}, {0x0008ca, 0x0008e1, 0}, + {0x0008e2, 0x0008e2, 1}, {0x0008e3, 0x000902, 0}, {0x000903, 0x000939, 1}, + {0x00093a, 0x00093a, 0}, {0x00093b, 0x00093b, 1}, {0x00093c, 0x00093c, 0}, + {0x00093d, 0x000940, 1}, {0x000941, 0x000948, 0}, {0x000949, 0x00094c, 1}, + {0x00094d, 0x00094d, 0}, {0x00094e, 0x000950, 1}, {0x000951, 0x000957, 0}, + {0x000958, 0x000961, 1}, {0x000962, 0x000963, 0}, {0x000964, 0x000980, 1}, + {0x000981, 0x000981, 0}, {0x000982, 0x000983, 1}, {0x000984, 0x000984, -1}, + {0x000985, 0x00098c, 1}, {0x00098d, 0x00098e, -1}, {0x00098f, 0x000990, 1}, + {0x000991, 0x000992, -1}, {0x000993, 0x0009a8, 1}, {0x0009a9, 0x0009a9, -1}, + {0x0009aa, 0x0009b0, 1}, {0x0009b1, 0x0009b1, -1}, {0x0009b2, 0x0009b2, 1}, + {0x0009b3, 0x0009b5, -1}, {0x0009b6, 0x0009b9, 1}, {0x0009ba, 0x0009bb, -1}, + {0x0009bc, 0x0009bc, 0}, {0x0009bd, 0x0009c0, 1}, {0x0009c1, 0x0009c4, 0}, + {0x0009c5, 0x0009c6, -1}, {0x0009c7, 0x0009c8, 1}, {0x0009c9, 0x0009ca, -1}, + {0x0009cb, 0x0009cc, 1}, {0x0009cd, 0x0009cd, 0}, {0x0009ce, 0x0009ce, 1}, + {0x0009cf, 0x0009d6, -1}, {0x0009d7, 0x0009d7, 1}, {0x0009d8, 0x0009db, -1}, + {0x0009dc, 0x0009dd, 1}, {0x0009de, 0x0009de, -1}, {0x0009df, 0x0009e1, 1}, + {0x0009e2, 0x0009e3, 0}, {0x0009e4, 0x0009e5, -1}, {0x0009e6, 0x0009fd, 1}, + {0x0009fe, 0x0009fe, 0}, {0x0009ff, 0x000a00, -1}, {0x000a01, 0x000a02, 0}, + {0x000a03, 0x000a03, 1}, {0x000a04, 0x000a04, -1}, {0x000a05, 0x000a0a, 1}, + {0x000a0b, 0x000a0e, -1}, {0x000a0f, 0x000a10, 1}, {0x000a11, 0x000a12, -1}, + {0x000a13, 0x000a28, 1}, {0x000a29, 0x000a29, -1}, {0x000a2a, 0x000a30, 1}, + {0x000a31, 0x000a31, -1}, {0x000a32, 0x000a33, 1}, {0x000a34, 0x000a34, -1}, + {0x000a35, 0x000a36, 1}, {0x000a37, 0x000a37, -1}, {0x000a38, 0x000a39, 1}, + {0x000a3a, 0x000a3b, -1}, {0x000a3c, 0x000a3c, 0}, {0x000a3d, 0x000a3d, -1}, + {0x000a3e, 0x000a40, 1}, {0x000a41, 0x000a42, 0}, {0x000a43, 0x000a46, -1}, + {0x000a47, 0x000a48, 0}, {0x000a49, 0x000a4a, -1}, {0x000a4b, 0x000a4d, 0}, + {0x000a4e, 0x000a50, -1}, {0x000a51, 0x000a51, 0}, {0x000a52, 0x000a58, -1}, + {0x000a59, 0x000a5c, 1}, {0x000a5d, 0x000a5d, -1}, {0x000a5e, 0x000a5e, 1}, + {0x000a5f, 0x000a65, -1}, {0x000a66, 0x000a6f, 1}, {0x000a70, 0x000a71, 0}, + {0x000a72, 0x000a74, 1}, {0x000a75, 0x000a75, 0}, {0x000a76, 0x000a76, 1}, + {0x000a77, 0x000a80, -1}, {0x000a81, 0x000a82, 0}, {0x000a83, 0x000a83, 1}, + {0x000a84, 0x000a84, -1}, {0x000a85, 0x000a8d, 1}, {0x000a8e, 0x000a8e, -1}, + {0x000a8f, 0x000a91, 1}, {0x000a92, 0x000a92, -1}, {0x000a93, 0x000aa8, 1}, + {0x000aa9, 0x000aa9, -1}, {0x000aaa, 0x000ab0, 1}, {0x000ab1, 0x000ab1, -1}, + {0x000ab2, 0x000ab3, 1}, {0x000ab4, 0x000ab4, -1}, {0x000ab5, 0x000ab9, 1}, + {0x000aba, 0x000abb, -1}, {0x000abc, 0x000abc, 0}, {0x000abd, 0x000ac0, 1}, + {0x000ac1, 0x000ac5, 0}, {0x000ac6, 0x000ac6, -1}, {0x000ac7, 0x000ac8, 0}, + {0x000ac9, 0x000ac9, 1}, {0x000aca, 0x000aca, -1}, {0x000acb, 0x000acc, 1}, + {0x000acd, 0x000acd, 0}, {0x000ace, 0x000acf, -1}, {0x000ad0, 0x000ad0, 1}, + {0x000ad1, 0x000adf, -1}, {0x000ae0, 0x000ae1, 1}, {0x000ae2, 0x000ae3, 0}, + {0x000ae4, 0x000ae5, -1}, {0x000ae6, 0x000af1, 1}, {0x000af2, 0x000af8, -1}, + {0x000af9, 0x000af9, 1}, {0x000afa, 0x000aff, 0}, {0x000b00, 0x000b00, -1}, + {0x000b01, 0x000b01, 0}, {0x000b02, 0x000b03, 1}, {0x000b04, 0x000b04, -1}, + {0x000b05, 0x000b0c, 1}, {0x000b0d, 0x000b0e, -1}, {0x000b0f, 0x000b10, 1}, + {0x000b11, 0x000b12, -1}, {0x000b13, 0x000b28, 1}, {0x000b29, 0x000b29, -1}, + {0x000b2a, 0x000b30, 1}, {0x000b31, 0x000b31, -1}, {0x000b32, 0x000b33, 1}, + {0x000b34, 0x000b34, -1}, {0x000b35, 0x000b39, 1}, {0x000b3a, 0x000b3b, -1}, + {0x000b3c, 0x000b3c, 0}, {0x000b3d, 0x000b3e, 1}, {0x000b3f, 0x000b3f, 0}, + {0x000b40, 0x000b40, 1}, {0x000b41, 0x000b44, 0}, {0x000b45, 0x000b46, -1}, + {0x000b47, 0x000b48, 1}, {0x000b49, 0x000b4a, -1}, {0x000b4b, 0x000b4c, 1}, + {0x000b4d, 0x000b4d, 0}, {0x000b4e, 0x000b54, -1}, {0x000b55, 0x000b56, 0}, + {0x000b57, 0x000b57, 1}, {0x000b58, 0x000b5b, -1}, {0x000b5c, 0x000b5d, 1}, + {0x000b5e, 0x000b5e, -1}, {0x000b5f, 0x000b61, 1}, {0x000b62, 0x000b63, 0}, + {0x000b64, 0x000b65, -1}, {0x000b66, 0x000b77, 1}, {0x000b78, 0x000b81, -1}, + {0x000b82, 0x000b82, 0}, {0x000b83, 0x000b83, 1}, {0x000b84, 0x000b84, -1}, + {0x000b85, 0x000b8a, 1}, {0x000b8b, 0x000b8d, -1}, {0x000b8e, 0x000b90, 1}, + {0x000b91, 0x000b91, -1}, {0x000b92, 0x000b95, 1}, {0x000b96, 0x000b98, -1}, + {0x000b99, 0x000b9a, 1}, {0x000b9b, 0x000b9b, -1}, {0x000b9c, 0x000b9c, 1}, + {0x000b9d, 0x000b9d, -1}, {0x000b9e, 0x000b9f, 1}, {0x000ba0, 0x000ba2, -1}, + {0x000ba3, 0x000ba4, 1}, {0x000ba5, 0x000ba7, -1}, {0x000ba8, 0x000baa, 1}, + {0x000bab, 0x000bad, -1}, {0x000bae, 0x000bb9, 1}, {0x000bba, 0x000bbd, -1}, + {0x000bbe, 0x000bbf, 1}, {0x000bc0, 0x000bc0, 0}, {0x000bc1, 0x000bc2, 1}, + {0x000bc3, 0x000bc5, -1}, {0x000bc6, 0x000bc8, 1}, {0x000bc9, 0x000bc9, -1}, + {0x000bca, 0x000bcc, 1}, {0x000bcd, 0x000bcd, 0}, {0x000bce, 0x000bcf, -1}, + {0x000bd0, 0x000bd0, 1}, {0x000bd1, 0x000bd6, -1}, {0x000bd7, 0x000bd7, 1}, + {0x000bd8, 0x000be5, -1}, {0x000be6, 0x000bfa, 1}, {0x000bfb, 0x000bff, -1}, + {0x000c00, 0x000c00, 0}, {0x000c01, 0x000c03, 1}, {0x000c04, 0x000c04, 0}, + {0x000c05, 0x000c0c, 1}, {0x000c0d, 0x000c0d, -1}, {0x000c0e, 0x000c10, 1}, + {0x000c11, 0x000c11, -1}, {0x000c12, 0x000c28, 1}, {0x000c29, 0x000c29, -1}, + {0x000c2a, 0x000c39, 1}, {0x000c3a, 0x000c3b, -1}, {0x000c3c, 0x000c3c, 0}, + {0x000c3d, 0x000c3d, 1}, {0x000c3e, 0x000c40, 0}, {0x000c41, 0x000c44, 1}, + {0x000c45, 0x000c45, -1}, {0x000c46, 0x000c48, 0}, {0x000c49, 0x000c49, -1}, + {0x000c4a, 0x000c4d, 0}, {0x000c4e, 0x000c54, -1}, {0x000c55, 0x000c56, 0}, + {0x000c57, 0x000c57, -1}, {0x000c58, 0x000c5a, 1}, {0x000c5b, 0x000c5c, -1}, + {0x000c5d, 0x000c5d, 1}, {0x000c5e, 0x000c5f, -1}, {0x000c60, 0x000c61, 1}, + {0x000c62, 0x000c63, 0}, {0x000c64, 0x000c65, -1}, {0x000c66, 0x000c6f, 1}, + {0x000c70, 0x000c76, -1}, {0x000c77, 0x000c80, 1}, {0x000c81, 0x000c81, 0}, + {0x000c82, 0x000c8c, 1}, {0x000c8d, 0x000c8d, -1}, {0x000c8e, 0x000c90, 1}, + {0x000c91, 0x000c91, -1}, {0x000c92, 0x000ca8, 1}, {0x000ca9, 0x000ca9, -1}, + {0x000caa, 0x000cb3, 1}, {0x000cb4, 0x000cb4, -1}, {0x000cb5, 0x000cb9, 1}, + {0x000cba, 0x000cbb, -1}, {0x000cbc, 0x000cbc, 0}, {0x000cbd, 0x000cbe, 1}, + {0x000cbf, 0x000cbf, 0}, {0x000cc0, 0x000cc4, 1}, {0x000cc5, 0x000cc5, -1}, + {0x000cc6, 0x000cc6, 0}, {0x000cc7, 0x000cc8, 1}, {0x000cc9, 0x000cc9, -1}, + {0x000cca, 0x000ccb, 1}, {0x000ccc, 0x000ccd, 0}, {0x000cce, 0x000cd4, -1}, + {0x000cd5, 0x000cd6, 1}, {0x000cd7, 0x000cdc, -1}, {0x000cdd, 0x000cde, 1}, + {0x000cdf, 0x000cdf, -1}, {0x000ce0, 0x000ce1, 1}, {0x000ce2, 0x000ce3, 0}, + {0x000ce4, 0x000ce5, -1}, {0x000ce6, 0x000cef, 1}, {0x000cf0, 0x000cf0, -1}, + {0x000cf1, 0x000cf3, 1}, {0x000cf4, 0x000cff, -1}, {0x000d00, 0x000d01, 0}, + {0x000d02, 0x000d0c, 1}, {0x000d0d, 0x000d0d, -1}, {0x000d0e, 0x000d10, 1}, + {0x000d11, 0x000d11, -1}, {0x000d12, 0x000d3a, 1}, {0x000d3b, 0x000d3c, 0}, + {0x000d3d, 0x000d40, 1}, {0x000d41, 0x000d44, 0}, {0x000d45, 0x000d45, -1}, + {0x000d46, 0x000d48, 1}, {0x000d49, 0x000d49, -1}, {0x000d4a, 0x000d4c, 1}, + {0x000d4d, 0x000d4d, 0}, {0x000d4e, 0x000d4f, 1}, {0x000d50, 0x000d53, -1}, + {0x000d54, 0x000d61, 1}, {0x000d62, 0x000d63, 0}, {0x000d64, 0x000d65, -1}, + {0x000d66, 0x000d7f, 1}, {0x000d80, 0x000d80, -1}, {0x000d81, 0x000d81, 0}, + {0x000d82, 0x000d83, 1}, {0x000d84, 0x000d84, -1}, {0x000d85, 0x000d96, 1}, + {0x000d97, 0x000d99, -1}, {0x000d9a, 0x000db1, 1}, {0x000db2, 0x000db2, -1}, + {0x000db3, 0x000dbb, 1}, {0x000dbc, 0x000dbc, -1}, {0x000dbd, 0x000dbd, 1}, + {0x000dbe, 0x000dbf, -1}, {0x000dc0, 0x000dc6, 1}, {0x000dc7, 0x000dc9, -1}, + {0x000dca, 0x000dca, 0}, {0x000dcb, 0x000dce, -1}, {0x000dcf, 0x000dd1, 1}, + {0x000dd2, 0x000dd4, 0}, {0x000dd5, 0x000dd5, -1}, {0x000dd6, 0x000dd6, 0}, + {0x000dd7, 0x000dd7, -1}, {0x000dd8, 0x000ddf, 1}, {0x000de0, 0x000de5, -1}, + {0x000de6, 0x000def, 1}, {0x000df0, 0x000df1, -1}, {0x000df2, 0x000df4, 1}, + {0x000df5, 0x000e00, -1}, {0x000e01, 0x000e30, 1}, {0x000e31, 0x000e31, 0}, + {0x000e32, 0x000e33, 1}, {0x000e34, 0x000e3a, 0}, {0x000e3b, 0x000e3e, -1}, + {0x000e3f, 0x000e46, 1}, {0x000e47, 0x000e4e, 0}, {0x000e4f, 0x000e5b, 1}, + {0x000e5c, 0x000e80, -1}, {0x000e81, 0x000e82, 1}, {0x000e83, 0x000e83, -1}, + {0x000e84, 0x000e84, 1}, {0x000e85, 0x000e85, -1}, {0x000e86, 0x000e8a, 1}, + {0x000e8b, 0x000e8b, -1}, {0x000e8c, 0x000ea3, 1}, {0x000ea4, 0x000ea4, -1}, + {0x000ea5, 0x000ea5, 1}, {0x000ea6, 0x000ea6, -1}, {0x000ea7, 0x000eb0, 1}, + {0x000eb1, 0x000eb1, 0}, {0x000eb2, 0x000eb3, 1}, {0x000eb4, 0x000ebc, 0}, + {0x000ebd, 0x000ebd, 1}, {0x000ebe, 0x000ebf, -1}, {0x000ec0, 0x000ec4, 1}, + {0x000ec5, 0x000ec5, -1}, {0x000ec6, 0x000ec6, 1}, {0x000ec7, 0x000ec7, -1}, + {0x000ec8, 0x000ece, 0}, {0x000ecf, 0x000ecf, -1}, {0x000ed0, 0x000ed9, 1}, + {0x000eda, 0x000edb, -1}, {0x000edc, 0x000edf, 1}, {0x000ee0, 0x000eff, -1}, + {0x000f00, 0x000f17, 1}, {0x000f18, 0x000f19, 0}, {0x000f1a, 0x000f34, 1}, + {0x000f35, 0x000f35, 0}, {0x000f36, 0x000f36, 1}, {0x000f37, 0x000f37, 0}, + {0x000f38, 0x000f38, 1}, {0x000f39, 0x000f39, 0}, {0x000f3a, 0x000f47, 1}, + {0x000f48, 0x000f48, -1}, {0x000f49, 0x000f6c, 1}, {0x000f6d, 0x000f70, -1}, + {0x000f71, 0x000f7e, 0}, {0x000f7f, 0x000f7f, 1}, {0x000f80, 0x000f84, 0}, + {0x000f85, 0x000f85, 1}, {0x000f86, 0x000f87, 0}, {0x000f88, 0x000f8c, 1}, + {0x000f8d, 0x000f97, 0}, {0x000f98, 0x000f98, -1}, {0x000f99, 0x000fbc, 0}, + {0x000fbd, 0x000fbd, -1}, {0x000fbe, 0x000fc5, 1}, {0x000fc6, 0x000fc6, 0}, + {0x000fc7, 0x000fcc, 1}, {0x000fcd, 0x000fcd, -1}, {0x000fce, 0x000fda, 1}, + {0x000fdb, 0x000fff, -1}, {0x001000, 0x00102c, 1}, {0x00102d, 0x001030, 0}, + {0x001031, 0x001031, 1}, {0x001032, 0x001037, 0}, {0x001038, 0x001038, 1}, + {0x001039, 0x00103a, 0}, {0x00103b, 0x00103c, 1}, {0x00103d, 0x00103e, 0}, + {0x00103f, 0x001057, 1}, {0x001058, 0x001059, 0}, {0x00105a, 0x00105d, 1}, + {0x00105e, 0x001060, 0}, {0x001061, 0x001070, 1}, {0x001071, 0x001074, 0}, + {0x001075, 0x001081, 1}, {0x001082, 0x001082, 0}, {0x001083, 0x001084, 1}, + {0x001085, 0x001086, 0}, {0x001087, 0x00108c, 1}, {0x00108d, 0x00108d, 0}, + {0x00108e, 0x00109c, 1}, {0x00109d, 0x00109d, 0}, {0x00109e, 0x0010c5, 1}, + {0x0010c6, 0x0010c6, -1}, {0x0010c7, 0x0010c7, 1}, {0x0010c8, 0x0010cc, -1}, + {0x0010cd, 0x0010cd, 1}, {0x0010ce, 0x0010cf, -1}, {0x0010d0, 0x0010ff, 1}, + {0x001100, 0x00115f, 2}, {0x001160, 0x0011ff, 0}, {0x001200, 0x001248, 1}, + {0x001249, 0x001249, -1}, {0x00124a, 0x00124d, 1}, {0x00124e, 0x00124f, -1}, + {0x001250, 0x001256, 1}, {0x001257, 0x001257, -1}, {0x001258, 0x001258, 1}, + {0x001259, 0x001259, -1}, {0x00125a, 0x00125d, 1}, {0x00125e, 0x00125f, -1}, + {0x001260, 0x001288, 1}, {0x001289, 0x001289, -1}, {0x00128a, 0x00128d, 1}, + {0x00128e, 0x00128f, -1}, {0x001290, 0x0012b0, 1}, {0x0012b1, 0x0012b1, -1}, + {0x0012b2, 0x0012b5, 1}, {0x0012b6, 0x0012b7, -1}, {0x0012b8, 0x0012be, 1}, + {0x0012bf, 0x0012bf, -1}, {0x0012c0, 0x0012c0, 1}, {0x0012c1, 0x0012c1, -1}, + {0x0012c2, 0x0012c5, 1}, {0x0012c6, 0x0012c7, -1}, {0x0012c8, 0x0012d6, 1}, + {0x0012d7, 0x0012d7, -1}, {0x0012d8, 0x001310, 1}, {0x001311, 0x001311, -1}, + {0x001312, 0x001315, 1}, {0x001316, 0x001317, -1}, {0x001318, 0x00135a, 1}, + {0x00135b, 0x00135c, -1}, {0x00135d, 0x00135f, 0}, {0x001360, 0x00137c, 1}, + {0x00137d, 0x00137f, -1}, {0x001380, 0x001399, 1}, {0x00139a, 0x00139f, -1}, + {0x0013a0, 0x0013f5, 1}, {0x0013f6, 0x0013f7, -1}, {0x0013f8, 0x0013fd, 1}, + {0x0013fe, 0x0013ff, -1}, {0x001400, 0x00169c, 1}, {0x00169d, 0x00169f, -1}, + {0x0016a0, 0x0016f8, 1}, {0x0016f9, 0x0016ff, -1}, {0x001700, 0x001711, 1}, + {0x001712, 0x001714, 0}, {0x001715, 0x001715, 1}, {0x001716, 0x00171e, -1}, + {0x00171f, 0x001731, 1}, {0x001732, 0x001733, 0}, {0x001734, 0x001736, 1}, + {0x001737, 0x00173f, -1}, {0x001740, 0x001751, 1}, {0x001752, 0x001753, 0}, + {0x001754, 0x00175f, -1}, {0x001760, 0x00176c, 1}, {0x00176d, 0x00176d, -1}, + {0x00176e, 0x001770, 1}, {0x001771, 0x001771, -1}, {0x001772, 0x001773, 0}, + {0x001774, 0x00177f, -1}, {0x001780, 0x0017b3, 1}, {0x0017b4, 0x0017b5, 0}, + {0x0017b6, 0x0017b6, 1}, {0x0017b7, 0x0017bd, 0}, {0x0017be, 0x0017c5, 1}, + {0x0017c6, 0x0017c6, 0}, {0x0017c7, 0x0017c8, 1}, {0x0017c9, 0x0017d3, 0}, + {0x0017d4, 0x0017dc, 1}, {0x0017dd, 0x0017dd, 0}, {0x0017de, 0x0017df, -1}, + {0x0017e0, 0x0017e9, 1}, {0x0017ea, 0x0017ef, -1}, {0x0017f0, 0x0017f9, 1}, + {0x0017fa, 0x0017ff, -1}, {0x001800, 0x00180a, 1}, {0x00180b, 0x00180f, 0}, + {0x001810, 0x001819, 1}, {0x00181a, 0x00181f, -1}, {0x001820, 0x001878, 1}, + {0x001879, 0x00187f, -1}, {0x001880, 0x001884, 1}, {0x001885, 0x001886, 0}, + {0x001887, 0x0018a8, 1}, {0x0018a9, 0x0018a9, 0}, {0x0018aa, 0x0018aa, 1}, + {0x0018ab, 0x0018af, -1}, {0x0018b0, 0x0018f5, 1}, {0x0018f6, 0x0018ff, -1}, + {0x001900, 0x00191e, 1}, {0x00191f, 0x00191f, -1}, {0x001920, 0x001922, 0}, + {0x001923, 0x001926, 1}, {0x001927, 0x001928, 0}, {0x001929, 0x00192b, 1}, + {0x00192c, 0x00192f, -1}, {0x001930, 0x001931, 1}, {0x001932, 0x001932, 0}, + {0x001933, 0x001938, 1}, {0x001939, 0x00193b, 0}, {0x00193c, 0x00193f, -1}, + {0x001940, 0x001940, 1}, {0x001941, 0x001943, -1}, {0x001944, 0x00196d, 1}, + {0x00196e, 0x00196f, -1}, {0x001970, 0x001974, 1}, {0x001975, 0x00197f, -1}, + {0x001980, 0x0019ab, 1}, {0x0019ac, 0x0019af, -1}, {0x0019b0, 0x0019c9, 1}, + {0x0019ca, 0x0019cf, -1}, {0x0019d0, 0x0019da, 1}, {0x0019db, 0x0019dd, -1}, + {0x0019de, 0x001a16, 1}, {0x001a17, 0x001a18, 0}, {0x001a19, 0x001a1a, 1}, + {0x001a1b, 0x001a1b, 0}, {0x001a1c, 0x001a1d, -1}, {0x001a1e, 0x001a55, 1}, + {0x001a56, 0x001a56, 0}, {0x001a57, 0x001a57, 1}, {0x001a58, 0x001a5e, 0}, + {0x001a5f, 0x001a5f, -1}, {0x001a60, 0x001a60, 0}, {0x001a61, 0x001a61, 1}, + {0x001a62, 0x001a62, 0}, {0x001a63, 0x001a64, 1}, {0x001a65, 0x001a6c, 0}, + {0x001a6d, 0x001a72, 1}, {0x001a73, 0x001a7c, 0}, {0x001a7d, 0x001a7e, -1}, + {0x001a7f, 0x001a7f, 0}, {0x001a80, 0x001a89, 1}, {0x001a8a, 0x001a8f, -1}, + {0x001a90, 0x001a99, 1}, {0x001a9a, 0x001a9f, -1}, {0x001aa0, 0x001aad, 1}, + {0x001aae, 0x001aaf, -1}, {0x001ab0, 0x001ace, 0}, {0x001acf, 0x001aff, -1}, + {0x001b00, 0x001b03, 0}, {0x001b04, 0x001b33, 1}, {0x001b34, 0x001b34, 0}, + {0x001b35, 0x001b35, 1}, {0x001b36, 0x001b3a, 0}, {0x001b3b, 0x001b3b, 1}, + {0x001b3c, 0x001b3c, 0}, {0x001b3d, 0x001b41, 1}, {0x001b42, 0x001b42, 0}, + {0x001b43, 0x001b4c, 1}, {0x001b4d, 0x001b4d, -1}, {0x001b4e, 0x001b6a, 1}, + {0x001b6b, 0x001b73, 0}, {0x001b74, 0x001b7f, 1}, {0x001b80, 0x001b81, 0}, + {0x001b82, 0x001ba1, 1}, {0x001ba2, 0x001ba5, 0}, {0x001ba6, 0x001ba7, 1}, + {0x001ba8, 0x001ba9, 0}, {0x001baa, 0x001baa, 1}, {0x001bab, 0x001bad, 0}, + {0x001bae, 0x001be5, 1}, {0x001be6, 0x001be6, 0}, {0x001be7, 0x001be7, 1}, + {0x001be8, 0x001be9, 0}, {0x001bea, 0x001bec, 1}, {0x001bed, 0x001bed, 0}, + {0x001bee, 0x001bee, 1}, {0x001bef, 0x001bf1, 0}, {0x001bf2, 0x001bf3, 1}, + {0x001bf4, 0x001bfb, -1}, {0x001bfc, 0x001c2b, 1}, {0x001c2c, 0x001c33, 0}, + {0x001c34, 0x001c35, 1}, {0x001c36, 0x001c37, 0}, {0x001c38, 0x001c3a, -1}, + {0x001c3b, 0x001c49, 1}, {0x001c4a, 0x001c4c, -1}, {0x001c4d, 0x001c8a, 1}, + {0x001c8b, 0x001c8f, -1}, {0x001c90, 0x001cba, 1}, {0x001cbb, 0x001cbc, -1}, + {0x001cbd, 0x001cc7, 1}, {0x001cc8, 0x001ccf, -1}, {0x001cd0, 0x001cd2, 0}, + {0x001cd3, 0x001cd3, 1}, {0x001cd4, 0x001ce0, 0}, {0x001ce1, 0x001ce1, 1}, + {0x001ce2, 0x001ce8, 0}, {0x001ce9, 0x001cec, 1}, {0x001ced, 0x001ced, 0}, + {0x001cee, 0x001cf3, 1}, {0x001cf4, 0x001cf4, 0}, {0x001cf5, 0x001cf7, 1}, + {0x001cf8, 0x001cf9, 0}, {0x001cfa, 0x001cfa, 1}, {0x001cfb, 0x001cff, -1}, + {0x001d00, 0x001dbf, 1}, {0x001dc0, 0x001dff, 0}, {0x001e00, 0x001f15, 1}, + {0x001f16, 0x001f17, -1}, {0x001f18, 0x001f1d, 1}, {0x001f1e, 0x001f1f, -1}, + {0x001f20, 0x001f45, 1}, {0x001f46, 0x001f47, -1}, {0x001f48, 0x001f4d, 1}, + {0x001f4e, 0x001f4f, -1}, {0x001f50, 0x001f57, 1}, {0x001f58, 0x001f58, -1}, + {0x001f59, 0x001f59, 1}, {0x001f5a, 0x001f5a, -1}, {0x001f5b, 0x001f5b, 1}, + {0x001f5c, 0x001f5c, -1}, {0x001f5d, 0x001f5d, 1}, {0x001f5e, 0x001f5e, -1}, + {0x001f5f, 0x001f7d, 1}, {0x001f7e, 0x001f7f, -1}, {0x001f80, 0x001fb4, 1}, + {0x001fb5, 0x001fb5, -1}, {0x001fb6, 0x001fc4, 1}, {0x001fc5, 0x001fc5, -1}, + {0x001fc6, 0x001fd3, 1}, {0x001fd4, 0x001fd5, -1}, {0x001fd6, 0x001fdb, 1}, + {0x001fdc, 0x001fdc, -1}, {0x001fdd, 0x001fef, 1}, {0x001ff0, 0x001ff1, -1}, + {0x001ff2, 0x001ff4, 1}, {0x001ff5, 0x001ff5, -1}, {0x001ff6, 0x001ffe, 1}, + {0x001fff, 0x001fff, -1}, {0x002000, 0x00200a, 1}, {0x00200b, 0x00200f, 0}, + {0x002010, 0x002027, 1}, {0x002028, 0x002029, -1}, {0x00202a, 0x00202e, 0}, + {0x00202f, 0x00205f, 1}, {0x002060, 0x002064, 0}, {0x002065, 0x002065, -1}, + {0x002066, 0x00206f, 0}, {0x002070, 0x002071, 1}, {0x002072, 0x002073, -1}, + {0x002074, 0x00208e, 1}, {0x00208f, 0x00208f, -1}, {0x002090, 0x00209c, 1}, + {0x00209d, 0x00209f, -1}, {0x0020a0, 0x0020c0, 1}, {0x0020c1, 0x0020cf, -1}, + {0x0020d0, 0x0020f0, 0}, {0x0020f1, 0x0020ff, -1}, {0x002100, 0x00218b, 1}, + {0x00218c, 0x00218f, -1}, {0x002190, 0x002319, 1}, {0x00231a, 0x00231b, 2}, + {0x00231c, 0x002328, 1}, {0x002329, 0x00232a, 2}, {0x00232b, 0x0023e8, 1}, + {0x0023e9, 0x0023ec, 2}, {0x0023ed, 0x0023ef, 1}, {0x0023f0, 0x0023f0, 2}, + {0x0023f1, 0x0023f2, 1}, {0x0023f3, 0x0023f3, 2}, {0x0023f4, 0x002429, 1}, + {0x00242a, 0x00243f, -1}, {0x002440, 0x00244a, 1}, {0x00244b, 0x00245f, -1}, + {0x002460, 0x0025fc, 1}, {0x0025fd, 0x0025fe, 2}, {0x0025ff, 0x002613, 1}, + {0x002614, 0x002615, 2}, {0x002616, 0x00262f, 1}, {0x002630, 0x002637, 2}, + {0x002638, 0x002647, 1}, {0x002648, 0x002653, 2}, {0x002654, 0x00267e, 1}, + {0x00267f, 0x00267f, 2}, {0x002680, 0x002689, 1}, {0x00268a, 0x00268f, 2}, + {0x002690, 0x002692, 1}, {0x002693, 0x002693, 2}, {0x002694, 0x0026a0, 1}, + {0x0026a1, 0x0026a1, 2}, {0x0026a2, 0x0026a9, 1}, {0x0026aa, 0x0026ab, 2}, + {0x0026ac, 0x0026bc, 1}, {0x0026bd, 0x0026be, 2}, {0x0026bf, 0x0026c3, 1}, + {0x0026c4, 0x0026c5, 2}, {0x0026c6, 0x0026cd, 1}, {0x0026ce, 0x0026ce, 2}, + {0x0026cf, 0x0026d3, 1}, {0x0026d4, 0x0026d4, 2}, {0x0026d5, 0x0026e9, 1}, + {0x0026ea, 0x0026ea, 2}, {0x0026eb, 0x0026f1, 1}, {0x0026f2, 0x0026f3, 2}, + {0x0026f4, 0x0026f4, 1}, {0x0026f5, 0x0026f5, 2}, {0x0026f6, 0x0026f9, 1}, + {0x0026fa, 0x0026fa, 2}, {0x0026fb, 0x0026fc, 1}, {0x0026fd, 0x0026fd, 2}, + {0x0026fe, 0x002704, 1}, {0x002705, 0x002705, 2}, {0x002706, 0x002709, 1}, + {0x00270a, 0x00270b, 2}, {0x00270c, 0x002727, 1}, {0x002728, 0x002728, 2}, + {0x002729, 0x00274b, 1}, {0x00274c, 0x00274c, 2}, {0x00274d, 0x00274d, 1}, + {0x00274e, 0x00274e, 2}, {0x00274f, 0x002752, 1}, {0x002753, 0x002755, 2}, + {0x002756, 0x002756, 1}, {0x002757, 0x002757, 2}, {0x002758, 0x002794, 1}, + {0x002795, 0x002797, 2}, {0x002798, 0x0027af, 1}, {0x0027b0, 0x0027b0, 2}, + {0x0027b1, 0x0027be, 1}, {0x0027bf, 0x0027bf, 2}, {0x0027c0, 0x002b1a, 1}, + {0x002b1b, 0x002b1c, 2}, {0x002b1d, 0x002b4f, 1}, {0x002b50, 0x002b50, 2}, + {0x002b51, 0x002b54, 1}, {0x002b55, 0x002b55, 2}, {0x002b56, 0x002b73, 1}, + {0x002b74, 0x002b75, -1}, {0x002b76, 0x002b95, 1}, {0x002b96, 0x002b96, -1}, + {0x002b97, 0x002cee, 1}, {0x002cef, 0x002cf1, 0}, {0x002cf2, 0x002cf3, 1}, + {0x002cf4, 0x002cf8, -1}, {0x002cf9, 0x002d25, 1}, {0x002d26, 0x002d26, -1}, + {0x002d27, 0x002d27, 1}, {0x002d28, 0x002d2c, -1}, {0x002d2d, 0x002d2d, 1}, + {0x002d2e, 0x002d2f, -1}, {0x002d30, 0x002d67, 1}, {0x002d68, 0x002d6e, -1}, + {0x002d6f, 0x002d70, 1}, {0x002d71, 0x002d7e, -1}, {0x002d7f, 0x002d7f, 0}, + {0x002d80, 0x002d96, 1}, {0x002d97, 0x002d9f, -1}, {0x002da0, 0x002da6, 1}, + {0x002da7, 0x002da7, -1}, {0x002da8, 0x002dae, 1}, {0x002daf, 0x002daf, -1}, + {0x002db0, 0x002db6, 1}, {0x002db7, 0x002db7, -1}, {0x002db8, 0x002dbe, 1}, + {0x002dbf, 0x002dbf, -1}, {0x002dc0, 0x002dc6, 1}, {0x002dc7, 0x002dc7, -1}, + {0x002dc8, 0x002dce, 1}, {0x002dcf, 0x002dcf, -1}, {0x002dd0, 0x002dd6, 1}, + {0x002dd7, 0x002dd7, -1}, {0x002dd8, 0x002dde, 1}, {0x002ddf, 0x002ddf, -1}, + {0x002de0, 0x002dff, 0}, {0x002e00, 0x002e5d, 1}, {0x002e5e, 0x002e7f, -1}, + {0x002e80, 0x002e99, 2}, {0x002e9a, 0x002e9a, -1}, {0x002e9b, 0x002ef3, 2}, + {0x002ef4, 0x002eff, -1}, {0x002f00, 0x002fd5, 2}, {0x002fd6, 0x002fef, -1}, + {0x002ff0, 0x003029, 2}, {0x00302a, 0x00302d, 0}, {0x00302e, 0x00303e, 2}, + {0x00303f, 0x00303f, 1}, {0x003040, 0x003040, -1}, {0x003041, 0x003096, 2}, + {0x003097, 0x003098, -1}, {0x003099, 0x00309a, 0}, {0x00309b, 0x0030ff, 2}, + {0x003100, 0x003104, -1}, {0x003105, 0x00312f, 2}, {0x003130, 0x003130, -1}, + {0x003131, 0x003163, 2}, {0x003164, 0x003164, 0}, {0x003165, 0x00318e, 2}, + {0x00318f, 0x00318f, -1}, {0x003190, 0x0031e5, 2}, {0x0031e6, 0x0031ee, -1}, + {0x0031ef, 0x00321e, 2}, {0x00321f, 0x00321f, -1}, {0x003220, 0x00a48c, 2}, + {0x00a48d, 0x00a48f, -1}, {0x00a490, 0x00a4c6, 2}, {0x00a4c7, 0x00a4cf, -1}, + {0x00a4d0, 0x00a62b, 1}, {0x00a62c, 0x00a63f, -1}, {0x00a640, 0x00a66e, 1}, + {0x00a66f, 0x00a672, 0}, {0x00a673, 0x00a673, 1}, {0x00a674, 0x00a67d, 0}, + {0x00a67e, 0x00a69d, 1}, {0x00a69e, 0x00a69f, 0}, {0x00a6a0, 0x00a6ef, 1}, + {0x00a6f0, 0x00a6f1, 0}, {0x00a6f2, 0x00a6f7, 1}, {0x00a6f8, 0x00a6ff, -1}, + {0x00a700, 0x00a7cd, 1}, {0x00a7ce, 0x00a7cf, -1}, {0x00a7d0, 0x00a7d1, 1}, + {0x00a7d2, 0x00a7d2, -1}, {0x00a7d3, 0x00a7d3, 1}, {0x00a7d4, 0x00a7d4, -1}, + {0x00a7d5, 0x00a7dc, 1}, {0x00a7dd, 0x00a7f1, -1}, {0x00a7f2, 0x00a801, 1}, + {0x00a802, 0x00a802, 0}, {0x00a803, 0x00a805, 1}, {0x00a806, 0x00a806, 0}, + {0x00a807, 0x00a80a, 1}, {0x00a80b, 0x00a80b, 0}, {0x00a80c, 0x00a824, 1}, + {0x00a825, 0x00a826, 0}, {0x00a827, 0x00a82b, 1}, {0x00a82c, 0x00a82c, 0}, + {0x00a82d, 0x00a82f, -1}, {0x00a830, 0x00a839, 1}, {0x00a83a, 0x00a83f, -1}, + {0x00a840, 0x00a877, 1}, {0x00a878, 0x00a87f, -1}, {0x00a880, 0x00a8c3, 1}, + {0x00a8c4, 0x00a8c5, 0}, {0x00a8c6, 0x00a8cd, -1}, {0x00a8ce, 0x00a8d9, 1}, + {0x00a8da, 0x00a8df, -1}, {0x00a8e0, 0x00a8f1, 0}, {0x00a8f2, 0x00a8fe, 1}, + {0x00a8ff, 0x00a8ff, 0}, {0x00a900, 0x00a925, 1}, {0x00a926, 0x00a92d, 0}, + {0x00a92e, 0x00a946, 1}, {0x00a947, 0x00a951, 0}, {0x00a952, 0x00a953, 1}, + {0x00a954, 0x00a95e, -1}, {0x00a95f, 0x00a95f, 1}, {0x00a960, 0x00a97c, 2}, + {0x00a97d, 0x00a97f, -1}, {0x00a980, 0x00a982, 0}, {0x00a983, 0x00a9b2, 1}, + {0x00a9b3, 0x00a9b3, 0}, {0x00a9b4, 0x00a9b5, 1}, {0x00a9b6, 0x00a9b9, 0}, + {0x00a9ba, 0x00a9bb, 1}, {0x00a9bc, 0x00a9bd, 0}, {0x00a9be, 0x00a9cd, 1}, + {0x00a9ce, 0x00a9ce, -1}, {0x00a9cf, 0x00a9d9, 1}, {0x00a9da, 0x00a9dd, -1}, + {0x00a9de, 0x00a9e4, 1}, {0x00a9e5, 0x00a9e5, 0}, {0x00a9e6, 0x00a9fe, 1}, + {0x00a9ff, 0x00a9ff, -1}, {0x00aa00, 0x00aa28, 1}, {0x00aa29, 0x00aa2e, 0}, + {0x00aa2f, 0x00aa30, 1}, {0x00aa31, 0x00aa32, 0}, {0x00aa33, 0x00aa34, 1}, + {0x00aa35, 0x00aa36, 0}, {0x00aa37, 0x00aa3f, -1}, {0x00aa40, 0x00aa42, 1}, + {0x00aa43, 0x00aa43, 0}, {0x00aa44, 0x00aa4b, 1}, {0x00aa4c, 0x00aa4c, 0}, + {0x00aa4d, 0x00aa4d, 1}, {0x00aa4e, 0x00aa4f, -1}, {0x00aa50, 0x00aa59, 1}, + {0x00aa5a, 0x00aa5b, -1}, {0x00aa5c, 0x00aa7b, 1}, {0x00aa7c, 0x00aa7c, 0}, + {0x00aa7d, 0x00aaaf, 1}, {0x00aab0, 0x00aab0, 0}, {0x00aab1, 0x00aab1, 1}, + {0x00aab2, 0x00aab4, 0}, {0x00aab5, 0x00aab6, 1}, {0x00aab7, 0x00aab8, 0}, + {0x00aab9, 0x00aabd, 1}, {0x00aabe, 0x00aabf, 0}, {0x00aac0, 0x00aac0, 1}, + {0x00aac1, 0x00aac1, 0}, {0x00aac2, 0x00aac2, 1}, {0x00aac3, 0x00aada, -1}, + {0x00aadb, 0x00aaeb, 1}, {0x00aaec, 0x00aaed, 0}, {0x00aaee, 0x00aaf5, 1}, + {0x00aaf6, 0x00aaf6, 0}, {0x00aaf7, 0x00ab00, -1}, {0x00ab01, 0x00ab06, 1}, + {0x00ab07, 0x00ab08, -1}, {0x00ab09, 0x00ab0e, 1}, {0x00ab0f, 0x00ab10, -1}, + {0x00ab11, 0x00ab16, 1}, {0x00ab17, 0x00ab1f, -1}, {0x00ab20, 0x00ab26, 1}, + {0x00ab27, 0x00ab27, -1}, {0x00ab28, 0x00ab2e, 1}, {0x00ab2f, 0x00ab2f, -1}, + {0x00ab30, 0x00ab6b, 1}, {0x00ab6c, 0x00ab6f, -1}, {0x00ab70, 0x00abe4, 1}, + {0x00abe5, 0x00abe5, 0}, {0x00abe6, 0x00abe7, 1}, {0x00abe8, 0x00abe8, 0}, + {0x00abe9, 0x00abec, 1}, {0x00abed, 0x00abed, 0}, {0x00abee, 0x00abef, -1}, + {0x00abf0, 0x00abf9, 1}, {0x00abfa, 0x00abff, -1}, {0x00ac00, 0x00d7a3, 2}, + {0x00d7a4, 0x00d7af, -1}, {0x00d7b0, 0x00d7c6, 0}, {0x00d7c7, 0x00d7ca, -1}, + {0x00d7cb, 0x00d7fb, 0}, {0x00d7fc, 0x00dfff, -1}, {0x00e000, 0x00f8ff, 1}, + {0x00f900, 0x00fa6d, 2}, {0x00fa6e, 0x00fa6f, -1}, {0x00fa70, 0x00fad9, 2}, + {0x00fada, 0x00faff, -1}, {0x00fb00, 0x00fb06, 1}, {0x00fb07, 0x00fb12, -1}, + {0x00fb13, 0x00fb17, 1}, {0x00fb18, 0x00fb1c, -1}, {0x00fb1d, 0x00fb1d, 1}, + {0x00fb1e, 0x00fb1e, 0}, {0x00fb1f, 0x00fb36, 1}, {0x00fb37, 0x00fb37, -1}, + {0x00fb38, 0x00fb3c, 1}, {0x00fb3d, 0x00fb3d, -1}, {0x00fb3e, 0x00fb3e, 1}, + {0x00fb3f, 0x00fb3f, -1}, {0x00fb40, 0x00fb41, 1}, {0x00fb42, 0x00fb42, -1}, + {0x00fb43, 0x00fb44, 1}, {0x00fb45, 0x00fb45, -1}, {0x00fb46, 0x00fbc2, 1}, + {0x00fbc3, 0x00fbd2, -1}, {0x00fbd3, 0x00fd8f, 1}, {0x00fd90, 0x00fd91, -1}, + {0x00fd92, 0x00fdc7, 1}, {0x00fdc8, 0x00fdce, -1}, {0x00fdcf, 0x00fdcf, 1}, + {0x00fdd0, 0x00fdef, -1}, {0x00fdf0, 0x00fdff, 1}, {0x00fe00, 0x00fe0f, 0}, + {0x00fe10, 0x00fe19, 2}, {0x00fe1a, 0x00fe1f, -1}, {0x00fe20, 0x00fe2f, 0}, + {0x00fe30, 0x00fe52, 2}, {0x00fe53, 0x00fe53, -1}, {0x00fe54, 0x00fe66, 2}, + {0x00fe67, 0x00fe67, -1}, {0x00fe68, 0x00fe6b, 2}, {0x00fe6c, 0x00fe6f, -1}, + {0x00fe70, 0x00fe74, 1}, {0x00fe75, 0x00fe75, -1}, {0x00fe76, 0x00fefc, 1}, + {0x00fefd, 0x00fefe, -1}, {0x00feff, 0x00feff, 0}, {0x00ff00, 0x00ff00, -1}, + {0x00ff01, 0x00ff60, 2}, {0x00ff61, 0x00ff9f, 1}, {0x00ffa0, 0x00ffa0, 0}, + {0x00ffa1, 0x00ffbe, 1}, {0x00ffbf, 0x00ffc1, -1}, {0x00ffc2, 0x00ffc7, 1}, + {0x00ffc8, 0x00ffc9, -1}, {0x00ffca, 0x00ffcf, 1}, {0x00ffd0, 0x00ffd1, -1}, + {0x00ffd2, 0x00ffd7, 1}, {0x00ffd8, 0x00ffd9, -1}, {0x00ffda, 0x00ffdc, 1}, + {0x00ffdd, 0x00ffdf, -1}, {0x00ffe0, 0x00ffe6, 2}, {0x00ffe7, 0x00ffe7, -1}, + {0x00ffe8, 0x00ffee, 1}, {0x00ffef, 0x00fff8, -1}, {0x00fff9, 0x00fffd, 1}, + {0x00fffe, 0x00ffff, -1}, {0x010000, 0x01000b, 1}, {0x01000c, 0x01000c, -1}, + {0x01000d, 0x010026, 1}, {0x010027, 0x010027, -1}, {0x010028, 0x01003a, 1}, + {0x01003b, 0x01003b, -1}, {0x01003c, 0x01003d, 1}, {0x01003e, 0x01003e, -1}, + {0x01003f, 0x01004d, 1}, {0x01004e, 0x01004f, -1}, {0x010050, 0x01005d, 1}, + {0x01005e, 0x01007f, -1}, {0x010080, 0x0100fa, 1}, {0x0100fb, 0x0100ff, -1}, + {0x010100, 0x010102, 1}, {0x010103, 0x010106, -1}, {0x010107, 0x010133, 1}, + {0x010134, 0x010136, -1}, {0x010137, 0x01018e, 1}, {0x01018f, 0x01018f, -1}, + {0x010190, 0x01019c, 1}, {0x01019d, 0x01019f, -1}, {0x0101a0, 0x0101a0, 1}, + {0x0101a1, 0x0101cf, -1}, {0x0101d0, 0x0101fc, 1}, {0x0101fd, 0x0101fd, 0}, + {0x0101fe, 0x01027f, -1}, {0x010280, 0x01029c, 1}, {0x01029d, 0x01029f, -1}, + {0x0102a0, 0x0102d0, 1}, {0x0102d1, 0x0102df, -1}, {0x0102e0, 0x0102e0, 0}, + {0x0102e1, 0x0102fb, 1}, {0x0102fc, 0x0102ff, -1}, {0x010300, 0x010323, 1}, + {0x010324, 0x01032c, -1}, {0x01032d, 0x01034a, 1}, {0x01034b, 0x01034f, -1}, + {0x010350, 0x010375, 1}, {0x010376, 0x01037a, 0}, {0x01037b, 0x01037f, -1}, + {0x010380, 0x01039d, 1}, {0x01039e, 0x01039e, -1}, {0x01039f, 0x0103c3, 1}, + {0x0103c4, 0x0103c7, -1}, {0x0103c8, 0x0103d5, 1}, {0x0103d6, 0x0103ff, -1}, + {0x010400, 0x01049d, 1}, {0x01049e, 0x01049f, -1}, {0x0104a0, 0x0104a9, 1}, + {0x0104aa, 0x0104af, -1}, {0x0104b0, 0x0104d3, 1}, {0x0104d4, 0x0104d7, -1}, + {0x0104d8, 0x0104fb, 1}, {0x0104fc, 0x0104ff, -1}, {0x010500, 0x010527, 1}, + {0x010528, 0x01052f, -1}, {0x010530, 0x010563, 1}, {0x010564, 0x01056e, -1}, + {0x01056f, 0x01057a, 1}, {0x01057b, 0x01057b, -1}, {0x01057c, 0x01058a, 1}, + {0x01058b, 0x01058b, -1}, {0x01058c, 0x010592, 1}, {0x010593, 0x010593, -1}, + {0x010594, 0x010595, 1}, {0x010596, 0x010596, -1}, {0x010597, 0x0105a1, 1}, + {0x0105a2, 0x0105a2, -1}, {0x0105a3, 0x0105b1, 1}, {0x0105b2, 0x0105b2, -1}, + {0x0105b3, 0x0105b9, 1}, {0x0105ba, 0x0105ba, -1}, {0x0105bb, 0x0105bc, 1}, + {0x0105bd, 0x0105bf, -1}, {0x0105c0, 0x0105f3, 1}, {0x0105f4, 0x0105ff, -1}, + {0x010600, 0x010736, 1}, {0x010737, 0x01073f, -1}, {0x010740, 0x010755, 1}, + {0x010756, 0x01075f, -1}, {0x010760, 0x010767, 1}, {0x010768, 0x01077f, -1}, + {0x010780, 0x010785, 1}, {0x010786, 0x010786, -1}, {0x010787, 0x0107b0, 1}, + {0x0107b1, 0x0107b1, -1}, {0x0107b2, 0x0107ba, 1}, {0x0107bb, 0x0107ff, -1}, + {0x010800, 0x010805, 1}, {0x010806, 0x010807, -1}, {0x010808, 0x010808, 1}, + {0x010809, 0x010809, -1}, {0x01080a, 0x010835, 1}, {0x010836, 0x010836, -1}, + {0x010837, 0x010838, 1}, {0x010839, 0x01083b, -1}, {0x01083c, 0x01083c, 1}, + {0x01083d, 0x01083e, -1}, {0x01083f, 0x010855, 1}, {0x010856, 0x010856, -1}, + {0x010857, 0x01089e, 1}, {0x01089f, 0x0108a6, -1}, {0x0108a7, 0x0108af, 1}, + {0x0108b0, 0x0108df, -1}, {0x0108e0, 0x0108f2, 1}, {0x0108f3, 0x0108f3, -1}, + {0x0108f4, 0x0108f5, 1}, {0x0108f6, 0x0108fa, -1}, {0x0108fb, 0x01091b, 1}, + {0x01091c, 0x01091e, -1}, {0x01091f, 0x010939, 1}, {0x01093a, 0x01093e, -1}, + {0x01093f, 0x01093f, 1}, {0x010940, 0x01097f, -1}, {0x010980, 0x0109b7, 1}, + {0x0109b8, 0x0109bb, -1}, {0x0109bc, 0x0109cf, 1}, {0x0109d0, 0x0109d1, -1}, + {0x0109d2, 0x010a00, 1}, {0x010a01, 0x010a03, 0}, {0x010a04, 0x010a04, -1}, + {0x010a05, 0x010a06, 0}, {0x010a07, 0x010a0b, -1}, {0x010a0c, 0x010a0f, 0}, + {0x010a10, 0x010a13, 1}, {0x010a14, 0x010a14, -1}, {0x010a15, 0x010a17, 1}, + {0x010a18, 0x010a18, -1}, {0x010a19, 0x010a35, 1}, {0x010a36, 0x010a37, -1}, + {0x010a38, 0x010a3a, 0}, {0x010a3b, 0x010a3e, -1}, {0x010a3f, 0x010a3f, 0}, + {0x010a40, 0x010a48, 1}, {0x010a49, 0x010a4f, -1}, {0x010a50, 0x010a58, 1}, + {0x010a59, 0x010a5f, -1}, {0x010a60, 0x010a9f, 1}, {0x010aa0, 0x010abf, -1}, + {0x010ac0, 0x010ae4, 1}, {0x010ae5, 0x010ae6, 0}, {0x010ae7, 0x010aea, -1}, + {0x010aeb, 0x010af6, 1}, {0x010af7, 0x010aff, -1}, {0x010b00, 0x010b35, 1}, + {0x010b36, 0x010b38, -1}, {0x010b39, 0x010b55, 1}, {0x010b56, 0x010b57, -1}, + {0x010b58, 0x010b72, 1}, {0x010b73, 0x010b77, -1}, {0x010b78, 0x010b91, 1}, + {0x010b92, 0x010b98, -1}, {0x010b99, 0x010b9c, 1}, {0x010b9d, 0x010ba8, -1}, + {0x010ba9, 0x010baf, 1}, {0x010bb0, 0x010bff, -1}, {0x010c00, 0x010c48, 1}, + {0x010c49, 0x010c7f, -1}, {0x010c80, 0x010cb2, 1}, {0x010cb3, 0x010cbf, -1}, + {0x010cc0, 0x010cf2, 1}, {0x010cf3, 0x010cf9, -1}, {0x010cfa, 0x010d23, 1}, + {0x010d24, 0x010d27, 0}, {0x010d28, 0x010d2f, -1}, {0x010d30, 0x010d39, 1}, + {0x010d3a, 0x010d3f, -1}, {0x010d40, 0x010d65, 1}, {0x010d66, 0x010d68, -1}, + {0x010d69, 0x010d6d, 0}, {0x010d6e, 0x010d85, 1}, {0x010d86, 0x010d8d, -1}, + {0x010d8e, 0x010d8f, 1}, {0x010d90, 0x010e5f, -1}, {0x010e60, 0x010e7e, 1}, + {0x010e7f, 0x010e7f, -1}, {0x010e80, 0x010ea9, 1}, {0x010eaa, 0x010eaa, -1}, + {0x010eab, 0x010eac, 0}, {0x010ead, 0x010ead, 1}, {0x010eae, 0x010eaf, -1}, + {0x010eb0, 0x010eb1, 1}, {0x010eb2, 0x010ec1, -1}, {0x010ec2, 0x010ec4, 1}, + {0x010ec5, 0x010efb, -1}, {0x010efc, 0x010eff, 0}, {0x010f00, 0x010f27, 1}, + {0x010f28, 0x010f2f, -1}, {0x010f30, 0x010f45, 1}, {0x010f46, 0x010f50, 0}, + {0x010f51, 0x010f59, 1}, {0x010f5a, 0x010f6f, -1}, {0x010f70, 0x010f81, 1}, + {0x010f82, 0x010f85, 0}, {0x010f86, 0x010f89, 1}, {0x010f8a, 0x010faf, -1}, + {0x010fb0, 0x010fcb, 1}, {0x010fcc, 0x010fdf, -1}, {0x010fe0, 0x010ff6, 1}, + {0x010ff7, 0x010fff, -1}, {0x011000, 0x011000, 1}, {0x011001, 0x011001, 0}, + {0x011002, 0x011037, 1}, {0x011038, 0x011046, 0}, {0x011047, 0x01104d, 1}, + {0x01104e, 0x011051, -1}, {0x011052, 0x01106f, 1}, {0x011070, 0x011070, 0}, + {0x011071, 0x011072, 1}, {0x011073, 0x011074, 0}, {0x011075, 0x011075, 1}, + {0x011076, 0x01107e, -1}, {0x01107f, 0x011081, 0}, {0x011082, 0x0110b2, 1}, + {0x0110b3, 0x0110b6, 0}, {0x0110b7, 0x0110b8, 1}, {0x0110b9, 0x0110ba, 0}, + {0x0110bb, 0x0110c1, 1}, {0x0110c2, 0x0110c2, 0}, {0x0110c3, 0x0110cc, -1}, + {0x0110cd, 0x0110cd, 1}, {0x0110ce, 0x0110cf, -1}, {0x0110d0, 0x0110e8, 1}, + {0x0110e9, 0x0110ef, -1}, {0x0110f0, 0x0110f9, 1}, {0x0110fa, 0x0110ff, -1}, + {0x011100, 0x011102, 0}, {0x011103, 0x011126, 1}, {0x011127, 0x01112b, 0}, + {0x01112c, 0x01112c, 1}, {0x01112d, 0x011134, 0}, {0x011135, 0x011135, -1}, + {0x011136, 0x011147, 1}, {0x011148, 0x01114f, -1}, {0x011150, 0x011172, 1}, + {0x011173, 0x011173, 0}, {0x011174, 0x011176, 1}, {0x011177, 0x01117f, -1}, + {0x011180, 0x011181, 0}, {0x011182, 0x0111b5, 1}, {0x0111b6, 0x0111be, 0}, + {0x0111bf, 0x0111c8, 1}, {0x0111c9, 0x0111cc, 0}, {0x0111cd, 0x0111ce, 1}, + {0x0111cf, 0x0111cf, 0}, {0x0111d0, 0x0111df, 1}, {0x0111e0, 0x0111e0, -1}, + {0x0111e1, 0x0111f4, 1}, {0x0111f5, 0x0111ff, -1}, {0x011200, 0x011211, 1}, + {0x011212, 0x011212, -1}, {0x011213, 0x01122e, 1}, {0x01122f, 0x011231, 0}, + {0x011232, 0x011233, 1}, {0x011234, 0x011234, 0}, {0x011235, 0x011235, 1}, + {0x011236, 0x011237, 0}, {0x011238, 0x01123d, 1}, {0x01123e, 0x01123e, 0}, + {0x01123f, 0x011240, 1}, {0x011241, 0x011241, 0}, {0x011242, 0x01127f, -1}, + {0x011280, 0x011286, 1}, {0x011287, 0x011287, -1}, {0x011288, 0x011288, 1}, + {0x011289, 0x011289, -1}, {0x01128a, 0x01128d, 1}, {0x01128e, 0x01128e, -1}, + {0x01128f, 0x01129d, 1}, {0x01129e, 0x01129e, -1}, {0x01129f, 0x0112a9, 1}, + {0x0112aa, 0x0112af, -1}, {0x0112b0, 0x0112de, 1}, {0x0112df, 0x0112df, 0}, + {0x0112e0, 0x0112e2, 1}, {0x0112e3, 0x0112ea, 0}, {0x0112eb, 0x0112ef, -1}, + {0x0112f0, 0x0112f9, 1}, {0x0112fa, 0x0112ff, -1}, {0x011300, 0x011301, 0}, + {0x011302, 0x011303, 1}, {0x011304, 0x011304, -1}, {0x011305, 0x01130c, 1}, + {0x01130d, 0x01130e, -1}, {0x01130f, 0x011310, 1}, {0x011311, 0x011312, -1}, + {0x011313, 0x011328, 1}, {0x011329, 0x011329, -1}, {0x01132a, 0x011330, 1}, + {0x011331, 0x011331, -1}, {0x011332, 0x011333, 1}, {0x011334, 0x011334, -1}, + {0x011335, 0x011339, 1}, {0x01133a, 0x01133a, -1}, {0x01133b, 0x01133c, 0}, + {0x01133d, 0x01133f, 1}, {0x011340, 0x011340, 0}, {0x011341, 0x011344, 1}, + {0x011345, 0x011346, -1}, {0x011347, 0x011348, 1}, {0x011349, 0x01134a, -1}, + {0x01134b, 0x01134d, 1}, {0x01134e, 0x01134f, -1}, {0x011350, 0x011350, 1}, + {0x011351, 0x011356, -1}, {0x011357, 0x011357, 1}, {0x011358, 0x01135c, -1}, + {0x01135d, 0x011363, 1}, {0x011364, 0x011365, -1}, {0x011366, 0x01136c, 0}, + {0x01136d, 0x01136f, -1}, {0x011370, 0x011374, 0}, {0x011375, 0x01137f, -1}, + {0x011380, 0x011389, 1}, {0x01138a, 0x01138a, -1}, {0x01138b, 0x01138b, 1}, + {0x01138c, 0x01138d, -1}, {0x01138e, 0x01138e, 1}, {0x01138f, 0x01138f, -1}, + {0x011390, 0x0113b5, 1}, {0x0113b6, 0x0113b6, -1}, {0x0113b7, 0x0113ba, 1}, + {0x0113bb, 0x0113c0, 0}, {0x0113c1, 0x0113c1, -1}, {0x0113c2, 0x0113c2, 1}, + {0x0113c3, 0x0113c4, -1}, {0x0113c5, 0x0113c5, 1}, {0x0113c6, 0x0113c6, -1}, + {0x0113c7, 0x0113ca, 1}, {0x0113cb, 0x0113cb, -1}, {0x0113cc, 0x0113cd, 1}, + {0x0113ce, 0x0113ce, 0}, {0x0113cf, 0x0113cf, 1}, {0x0113d0, 0x0113d0, 0}, + {0x0113d1, 0x0113d1, 1}, {0x0113d2, 0x0113d2, 0}, {0x0113d3, 0x0113d5, 1}, + {0x0113d6, 0x0113d6, -1}, {0x0113d7, 0x0113d8, 1}, {0x0113d9, 0x0113e0, -1}, + {0x0113e1, 0x0113e2, 0}, {0x0113e3, 0x0113ff, -1}, {0x011400, 0x011437, 1}, + {0x011438, 0x01143f, 0}, {0x011440, 0x011441, 1}, {0x011442, 0x011444, 0}, + {0x011445, 0x011445, 1}, {0x011446, 0x011446, 0}, {0x011447, 0x01145b, 1}, + {0x01145c, 0x01145c, -1}, {0x01145d, 0x01145d, 1}, {0x01145e, 0x01145e, 0}, + {0x01145f, 0x011461, 1}, {0x011462, 0x01147f, -1}, {0x011480, 0x0114b2, 1}, + {0x0114b3, 0x0114b8, 0}, {0x0114b9, 0x0114b9, 1}, {0x0114ba, 0x0114ba, 0}, + {0x0114bb, 0x0114be, 1}, {0x0114bf, 0x0114c0, 0}, {0x0114c1, 0x0114c1, 1}, + {0x0114c2, 0x0114c3, 0}, {0x0114c4, 0x0114c7, 1}, {0x0114c8, 0x0114cf, -1}, + {0x0114d0, 0x0114d9, 1}, {0x0114da, 0x01157f, -1}, {0x011580, 0x0115b1, 1}, + {0x0115b2, 0x0115b5, 0}, {0x0115b6, 0x0115b7, -1}, {0x0115b8, 0x0115bb, 1}, + {0x0115bc, 0x0115bd, 0}, {0x0115be, 0x0115be, 1}, {0x0115bf, 0x0115c0, 0}, + {0x0115c1, 0x0115db, 1}, {0x0115dc, 0x0115dd, 0}, {0x0115de, 0x0115ff, -1}, + {0x011600, 0x011632, 1}, {0x011633, 0x01163a, 0}, {0x01163b, 0x01163c, 1}, + {0x01163d, 0x01163d, 0}, {0x01163e, 0x01163e, 1}, {0x01163f, 0x011640, 0}, + {0x011641, 0x011644, 1}, {0x011645, 0x01164f, -1}, {0x011650, 0x011659, 1}, + {0x01165a, 0x01165f, -1}, {0x011660, 0x01166c, 1}, {0x01166d, 0x01167f, -1}, + {0x011680, 0x0116aa, 1}, {0x0116ab, 0x0116ab, 0}, {0x0116ac, 0x0116ac, 1}, + {0x0116ad, 0x0116ad, 0}, {0x0116ae, 0x0116af, 1}, {0x0116b0, 0x0116b5, 0}, + {0x0116b6, 0x0116b6, 1}, {0x0116b7, 0x0116b7, 0}, {0x0116b8, 0x0116b9, 1}, + {0x0116ba, 0x0116bf, -1}, {0x0116c0, 0x0116c9, 1}, {0x0116ca, 0x0116cf, -1}, + {0x0116d0, 0x0116e3, 1}, {0x0116e4, 0x0116ff, -1}, {0x011700, 0x01171a, 1}, + {0x01171b, 0x01171c, -1}, {0x01171d, 0x01171d, 0}, {0x01171e, 0x01171e, 1}, + {0x01171f, 0x01171f, 0}, {0x011720, 0x011721, 1}, {0x011722, 0x011725, 0}, + {0x011726, 0x011726, 1}, {0x011727, 0x01172b, 0}, {0x01172c, 0x01172f, -1}, + {0x011730, 0x011746, 1}, {0x011747, 0x0117ff, -1}, {0x011800, 0x01182e, 1}, + {0x01182f, 0x011837, 0}, {0x011838, 0x011838, 1}, {0x011839, 0x01183a, 0}, + {0x01183b, 0x01183b, 1}, {0x01183c, 0x01189f, -1}, {0x0118a0, 0x0118f2, 1}, + {0x0118f3, 0x0118fe, -1}, {0x0118ff, 0x011906, 1}, {0x011907, 0x011908, -1}, + {0x011909, 0x011909, 1}, {0x01190a, 0x01190b, -1}, {0x01190c, 0x011913, 1}, + {0x011914, 0x011914, -1}, {0x011915, 0x011916, 1}, {0x011917, 0x011917, -1}, + {0x011918, 0x011935, 1}, {0x011936, 0x011936, -1}, {0x011937, 0x011938, 1}, + {0x011939, 0x01193a, -1}, {0x01193b, 0x01193c, 0}, {0x01193d, 0x01193d, 1}, + {0x01193e, 0x01193e, 0}, {0x01193f, 0x011942, 1}, {0x011943, 0x011943, 0}, + {0x011944, 0x011946, 1}, {0x011947, 0x01194f, -1}, {0x011950, 0x011959, 1}, + {0x01195a, 0x01199f, -1}, {0x0119a0, 0x0119a7, 1}, {0x0119a8, 0x0119a9, -1}, + {0x0119aa, 0x0119d3, 1}, {0x0119d4, 0x0119d7, 0}, {0x0119d8, 0x0119d9, -1}, + {0x0119da, 0x0119db, 0}, {0x0119dc, 0x0119df, 1}, {0x0119e0, 0x0119e0, 0}, + {0x0119e1, 0x0119e4, 1}, {0x0119e5, 0x0119ff, -1}, {0x011a00, 0x011a00, 1}, + {0x011a01, 0x011a0a, 0}, {0x011a0b, 0x011a32, 1}, {0x011a33, 0x011a38, 0}, + {0x011a39, 0x011a3a, 1}, {0x011a3b, 0x011a3e, 0}, {0x011a3f, 0x011a46, 1}, + {0x011a47, 0x011a47, 0}, {0x011a48, 0x011a4f, -1}, {0x011a50, 0x011a50, 1}, + {0x011a51, 0x011a56, 0}, {0x011a57, 0x011a58, 1}, {0x011a59, 0x011a5b, 0}, + {0x011a5c, 0x011a89, 1}, {0x011a8a, 0x011a96, 0}, {0x011a97, 0x011a97, 1}, + {0x011a98, 0x011a99, 0}, {0x011a9a, 0x011aa2, 1}, {0x011aa3, 0x011aaf, -1}, + {0x011ab0, 0x011af8, 1}, {0x011af9, 0x011aff, -1}, {0x011b00, 0x011b09, 1}, + {0x011b0a, 0x011bbf, -1}, {0x011bc0, 0x011be1, 1}, {0x011be2, 0x011bef, -1}, + {0x011bf0, 0x011bf9, 1}, {0x011bfa, 0x011bff, -1}, {0x011c00, 0x011c08, 1}, + {0x011c09, 0x011c09, -1}, {0x011c0a, 0x011c2f, 1}, {0x011c30, 0x011c36, 0}, + {0x011c37, 0x011c37, -1}, {0x011c38, 0x011c3d, 0}, {0x011c3e, 0x011c3e, 1}, + {0x011c3f, 0x011c3f, 0}, {0x011c40, 0x011c45, 1}, {0x011c46, 0x011c4f, -1}, + {0x011c50, 0x011c6c, 1}, {0x011c6d, 0x011c6f, -1}, {0x011c70, 0x011c8f, 1}, + {0x011c90, 0x011c91, -1}, {0x011c92, 0x011ca7, 0}, {0x011ca8, 0x011ca8, -1}, + {0x011ca9, 0x011ca9, 1}, {0x011caa, 0x011cb0, 0}, {0x011cb1, 0x011cb1, 1}, + {0x011cb2, 0x011cb3, 0}, {0x011cb4, 0x011cb4, 1}, {0x011cb5, 0x011cb6, 0}, + {0x011cb7, 0x011cff, -1}, {0x011d00, 0x011d06, 1}, {0x011d07, 0x011d07, -1}, + {0x011d08, 0x011d09, 1}, {0x011d0a, 0x011d0a, -1}, {0x011d0b, 0x011d30, 1}, + {0x011d31, 0x011d36, 0}, {0x011d37, 0x011d39, -1}, {0x011d3a, 0x011d3a, 0}, + {0x011d3b, 0x011d3b, -1}, {0x011d3c, 0x011d3d, 0}, {0x011d3e, 0x011d3e, -1}, + {0x011d3f, 0x011d45, 0}, {0x011d46, 0x011d46, 1}, {0x011d47, 0x011d47, 0}, + {0x011d48, 0x011d4f, -1}, {0x011d50, 0x011d59, 1}, {0x011d5a, 0x011d5f, -1}, + {0x011d60, 0x011d65, 1}, {0x011d66, 0x011d66, -1}, {0x011d67, 0x011d68, 1}, + {0x011d69, 0x011d69, -1}, {0x011d6a, 0x011d8e, 1}, {0x011d8f, 0x011d8f, -1}, + {0x011d90, 0x011d91, 0}, {0x011d92, 0x011d92, -1}, {0x011d93, 0x011d94, 1}, + {0x011d95, 0x011d95, 0}, {0x011d96, 0x011d96, 1}, {0x011d97, 0x011d97, 0}, + {0x011d98, 0x011d98, 1}, {0x011d99, 0x011d9f, -1}, {0x011da0, 0x011da9, 1}, + {0x011daa, 0x011edf, -1}, {0x011ee0, 0x011ef2, 1}, {0x011ef3, 0x011ef4, 0}, + {0x011ef5, 0x011ef8, 1}, {0x011ef9, 0x011eff, -1}, {0x011f00, 0x011f01, 0}, + {0x011f02, 0x011f10, 1}, {0x011f11, 0x011f11, -1}, {0x011f12, 0x011f35, 1}, + {0x011f36, 0x011f3a, 0}, {0x011f3b, 0x011f3d, -1}, {0x011f3e, 0x011f3f, 1}, + {0x011f40, 0x011f40, 0}, {0x011f41, 0x011f41, 1}, {0x011f42, 0x011f42, 0}, + {0x011f43, 0x011f59, 1}, {0x011f5a, 0x011f5a, 0}, {0x011f5b, 0x011faf, -1}, + {0x011fb0, 0x011fb0, 1}, {0x011fb1, 0x011fbf, -1}, {0x011fc0, 0x011ff1, 1}, + {0x011ff2, 0x011ffe, -1}, {0x011fff, 0x012399, 1}, {0x01239a, 0x0123ff, -1}, + {0x012400, 0x01246e, 1}, {0x01246f, 0x01246f, -1}, {0x012470, 0x012474, 1}, + {0x012475, 0x01247f, -1}, {0x012480, 0x012543, 1}, {0x012544, 0x012f8f, -1}, + {0x012f90, 0x012ff2, 1}, {0x012ff3, 0x012fff, -1}, {0x013000, 0x01343f, 1}, + {0x013440, 0x013440, 0}, {0x013441, 0x013446, 1}, {0x013447, 0x013455, 0}, + {0x013456, 0x01345f, -1}, {0x013460, 0x0143fa, 1}, {0x0143fb, 0x0143ff, -1}, + {0x014400, 0x014646, 1}, {0x014647, 0x0160ff, -1}, {0x016100, 0x01611d, 1}, + {0x01611e, 0x016129, 0}, {0x01612a, 0x01612c, 1}, {0x01612d, 0x01612f, 0}, + {0x016130, 0x016139, 1}, {0x01613a, 0x0167ff, -1}, {0x016800, 0x016a38, 1}, + {0x016a39, 0x016a3f, -1}, {0x016a40, 0x016a5e, 1}, {0x016a5f, 0x016a5f, -1}, + {0x016a60, 0x016a69, 1}, {0x016a6a, 0x016a6d, -1}, {0x016a6e, 0x016abe, 1}, + {0x016abf, 0x016abf, -1}, {0x016ac0, 0x016ac9, 1}, {0x016aca, 0x016acf, -1}, + {0x016ad0, 0x016aed, 1}, {0x016aee, 0x016aef, -1}, {0x016af0, 0x016af4, 0}, + {0x016af5, 0x016af5, 1}, {0x016af6, 0x016aff, -1}, {0x016b00, 0x016b2f, 1}, + {0x016b30, 0x016b36, 0}, {0x016b37, 0x016b45, 1}, {0x016b46, 0x016b4f, -1}, + {0x016b50, 0x016b59, 1}, {0x016b5a, 0x016b5a, -1}, {0x016b5b, 0x016b61, 1}, + {0x016b62, 0x016b62, -1}, {0x016b63, 0x016b77, 1}, {0x016b78, 0x016b7c, -1}, + {0x016b7d, 0x016b8f, 1}, {0x016b90, 0x016d3f, -1}, {0x016d40, 0x016d79, 1}, + {0x016d7a, 0x016e3f, -1}, {0x016e40, 0x016e9a, 1}, {0x016e9b, 0x016eff, -1}, + {0x016f00, 0x016f4a, 1}, {0x016f4b, 0x016f4e, -1}, {0x016f4f, 0x016f4f, 0}, + {0x016f50, 0x016f87, 1}, {0x016f88, 0x016f8e, -1}, {0x016f8f, 0x016f92, 0}, + {0x016f93, 0x016f9f, 1}, {0x016fa0, 0x016fdf, -1}, {0x016fe0, 0x016fe3, 2}, + {0x016fe4, 0x016fe4, 0}, {0x016fe5, 0x016fef, -1}, {0x016ff0, 0x016ff1, 2}, + {0x016ff2, 0x016fff, -1}, {0x017000, 0x0187f7, 2}, {0x0187f8, 0x0187ff, -1}, + {0x018800, 0x018cd5, 2}, {0x018cd6, 0x018cfe, -1}, {0x018cff, 0x018d08, 2}, + {0x018d09, 0x01afef, -1}, {0x01aff0, 0x01aff3, 2}, {0x01aff4, 0x01aff4, -1}, + {0x01aff5, 0x01affb, 2}, {0x01affc, 0x01affc, -1}, {0x01affd, 0x01affe, 2}, + {0x01afff, 0x01afff, -1}, {0x01b000, 0x01b122, 2}, {0x01b123, 0x01b131, -1}, + {0x01b132, 0x01b132, 2}, {0x01b133, 0x01b14f, -1}, {0x01b150, 0x01b152, 2}, + {0x01b153, 0x01b154, -1}, {0x01b155, 0x01b155, 2}, {0x01b156, 0x01b163, -1}, + {0x01b164, 0x01b167, 2}, {0x01b168, 0x01b16f, -1}, {0x01b170, 0x01b2fb, 2}, + {0x01b2fc, 0x01bbff, -1}, {0x01bc00, 0x01bc6a, 1}, {0x01bc6b, 0x01bc6f, -1}, + {0x01bc70, 0x01bc7c, 1}, {0x01bc7d, 0x01bc7f, -1}, {0x01bc80, 0x01bc88, 1}, + {0x01bc89, 0x01bc8f, -1}, {0x01bc90, 0x01bc99, 1}, {0x01bc9a, 0x01bc9b, -1}, + {0x01bc9c, 0x01bc9c, 1}, {0x01bc9d, 0x01bc9e, 0}, {0x01bc9f, 0x01bc9f, 1}, + {0x01bca0, 0x01bca3, 0}, {0x01bca4, 0x01cbff, -1}, {0x01cc00, 0x01ccf9, 1}, + {0x01ccfa, 0x01ccff, -1}, {0x01cd00, 0x01ceb3, 1}, {0x01ceb4, 0x01ceff, -1}, + {0x01cf00, 0x01cf2d, 0}, {0x01cf2e, 0x01cf2f, -1}, {0x01cf30, 0x01cf46, 0}, + {0x01cf47, 0x01cf4f, -1}, {0x01cf50, 0x01cfc3, 1}, {0x01cfc4, 0x01cfff, -1}, + {0x01d000, 0x01d0f5, 1}, {0x01d0f6, 0x01d0ff, -1}, {0x01d100, 0x01d126, 1}, + {0x01d127, 0x01d128, -1}, {0x01d129, 0x01d166, 1}, {0x01d167, 0x01d169, 0}, + {0x01d16a, 0x01d172, 1}, {0x01d173, 0x01d182, 0}, {0x01d183, 0x01d184, 1}, + {0x01d185, 0x01d18b, 0}, {0x01d18c, 0x01d1a9, 1}, {0x01d1aa, 0x01d1ad, 0}, + {0x01d1ae, 0x01d1ea, 1}, {0x01d1eb, 0x01d1ff, -1}, {0x01d200, 0x01d241, 1}, + {0x01d242, 0x01d244, 0}, {0x01d245, 0x01d245, 1}, {0x01d246, 0x01d2bf, -1}, + {0x01d2c0, 0x01d2d3, 1}, {0x01d2d4, 0x01d2df, -1}, {0x01d2e0, 0x01d2f3, 1}, + {0x01d2f4, 0x01d2ff, -1}, {0x01d300, 0x01d356, 2}, {0x01d357, 0x01d35f, -1}, + {0x01d360, 0x01d376, 2}, {0x01d377, 0x01d378, 1}, {0x01d379, 0x01d3ff, -1}, + {0x01d400, 0x01d454, 1}, {0x01d455, 0x01d455, -1}, {0x01d456, 0x01d49c, 1}, + {0x01d49d, 0x01d49d, -1}, {0x01d49e, 0x01d49f, 1}, {0x01d4a0, 0x01d4a1, -1}, + {0x01d4a2, 0x01d4a2, 1}, {0x01d4a3, 0x01d4a4, -1}, {0x01d4a5, 0x01d4a6, 1}, + {0x01d4a7, 0x01d4a8, -1}, {0x01d4a9, 0x01d4ac, 1}, {0x01d4ad, 0x01d4ad, -1}, + {0x01d4ae, 0x01d4b9, 1}, {0x01d4ba, 0x01d4ba, -1}, {0x01d4bb, 0x01d4bb, 1}, + {0x01d4bc, 0x01d4bc, -1}, {0x01d4bd, 0x01d4c3, 1}, {0x01d4c4, 0x01d4c4, -1}, + {0x01d4c5, 0x01d505, 1}, {0x01d506, 0x01d506, -1}, {0x01d507, 0x01d50a, 1}, + {0x01d50b, 0x01d50c, -1}, {0x01d50d, 0x01d514, 1}, {0x01d515, 0x01d515, -1}, + {0x01d516, 0x01d51c, 1}, {0x01d51d, 0x01d51d, -1}, {0x01d51e, 0x01d539, 1}, + {0x01d53a, 0x01d53a, -1}, {0x01d53b, 0x01d53e, 1}, {0x01d53f, 0x01d53f, -1}, + {0x01d540, 0x01d544, 1}, {0x01d545, 0x01d545, -1}, {0x01d546, 0x01d546, 1}, + {0x01d547, 0x01d549, -1}, {0x01d54a, 0x01d550, 1}, {0x01d551, 0x01d551, -1}, + {0x01d552, 0x01d6a5, 1}, {0x01d6a6, 0x01d6a7, -1}, {0x01d6a8, 0x01d7cb, 1}, + {0x01d7cc, 0x01d7cd, -1}, {0x01d7ce, 0x01d9ff, 1}, {0x01da00, 0x01da36, 0}, + {0x01da37, 0x01da3a, 1}, {0x01da3b, 0x01da6c, 0}, {0x01da6d, 0x01da74, 1}, + {0x01da75, 0x01da75, 0}, {0x01da76, 0x01da83, 1}, {0x01da84, 0x01da84, 0}, + {0x01da85, 0x01da8b, 1}, {0x01da8c, 0x01da9a, -1}, {0x01da9b, 0x01da9f, 0}, + {0x01daa0, 0x01daa0, -1}, {0x01daa1, 0x01daaf, 0}, {0x01dab0, 0x01deff, -1}, + {0x01df00, 0x01df1e, 1}, {0x01df1f, 0x01df24, -1}, {0x01df25, 0x01df2a, 1}, + {0x01df2b, 0x01dfff, -1}, {0x01e000, 0x01e006, 0}, {0x01e007, 0x01e007, -1}, + {0x01e008, 0x01e018, 0}, {0x01e019, 0x01e01a, -1}, {0x01e01b, 0x01e021, 0}, + {0x01e022, 0x01e022, -1}, {0x01e023, 0x01e024, 0}, {0x01e025, 0x01e025, -1}, + {0x01e026, 0x01e02a, 0}, {0x01e02b, 0x01e02f, -1}, {0x01e030, 0x01e06d, 1}, + {0x01e06e, 0x01e08e, -1}, {0x01e08f, 0x01e08f, 0}, {0x01e090, 0x01e0ff, -1}, + {0x01e100, 0x01e12c, 1}, {0x01e12d, 0x01e12f, -1}, {0x01e130, 0x01e136, 0}, + {0x01e137, 0x01e13d, 1}, {0x01e13e, 0x01e13f, -1}, {0x01e140, 0x01e149, 1}, + {0x01e14a, 0x01e14d, -1}, {0x01e14e, 0x01e14f, 1}, {0x01e150, 0x01e28f, -1}, + {0x01e290, 0x01e2ad, 1}, {0x01e2ae, 0x01e2ae, 0}, {0x01e2af, 0x01e2bf, -1}, + {0x01e2c0, 0x01e2eb, 1}, {0x01e2ec, 0x01e2ef, 0}, {0x01e2f0, 0x01e2f9, 1}, + {0x01e2fa, 0x01e2fe, -1}, {0x01e2ff, 0x01e2ff, 1}, {0x01e300, 0x01e4cf, -1}, + {0x01e4d0, 0x01e4eb, 1}, {0x01e4ec, 0x01e4ef, 0}, {0x01e4f0, 0x01e4f9, 1}, + {0x01e4fa, 0x01e5cf, -1}, {0x01e5d0, 0x01e5ed, 1}, {0x01e5ee, 0x01e5ef, 0}, + {0x01e5f0, 0x01e5fa, 1}, {0x01e5fb, 0x01e5fe, -1}, {0x01e5ff, 0x01e5ff, 1}, + {0x01e600, 0x01e7df, -1}, {0x01e7e0, 0x01e7e6, 1}, {0x01e7e7, 0x01e7e7, -1}, + {0x01e7e8, 0x01e7eb, 1}, {0x01e7ec, 0x01e7ec, -1}, {0x01e7ed, 0x01e7ee, 1}, + {0x01e7ef, 0x01e7ef, -1}, {0x01e7f0, 0x01e7fe, 1}, {0x01e7ff, 0x01e7ff, -1}, + {0x01e800, 0x01e8c4, 1}, {0x01e8c5, 0x01e8c6, -1}, {0x01e8c7, 0x01e8cf, 1}, + {0x01e8d0, 0x01e8d6, 0}, {0x01e8d7, 0x01e8ff, -1}, {0x01e900, 0x01e943, 1}, + {0x01e944, 0x01e94a, 0}, {0x01e94b, 0x01e94b, 1}, {0x01e94c, 0x01e94f, -1}, + {0x01e950, 0x01e959, 1}, {0x01e95a, 0x01e95d, -1}, {0x01e95e, 0x01e95f, 1}, + {0x01e960, 0x01ec70, -1}, {0x01ec71, 0x01ecb4, 1}, {0x01ecb5, 0x01ed00, -1}, + {0x01ed01, 0x01ed3d, 1}, {0x01ed3e, 0x01edff, -1}, {0x01ee00, 0x01ee03, 1}, + {0x01ee04, 0x01ee04, -1}, {0x01ee05, 0x01ee1f, 1}, {0x01ee20, 0x01ee20, -1}, + {0x01ee21, 0x01ee22, 1}, {0x01ee23, 0x01ee23, -1}, {0x01ee24, 0x01ee24, 1}, + {0x01ee25, 0x01ee26, -1}, {0x01ee27, 0x01ee27, 1}, {0x01ee28, 0x01ee28, -1}, + {0x01ee29, 0x01ee32, 1}, {0x01ee33, 0x01ee33, -1}, {0x01ee34, 0x01ee37, 1}, + {0x01ee38, 0x01ee38, -1}, {0x01ee39, 0x01ee39, 1}, {0x01ee3a, 0x01ee3a, -1}, + {0x01ee3b, 0x01ee3b, 1}, {0x01ee3c, 0x01ee41, -1}, {0x01ee42, 0x01ee42, 1}, + {0x01ee43, 0x01ee46, -1}, {0x01ee47, 0x01ee47, 1}, {0x01ee48, 0x01ee48, -1}, + {0x01ee49, 0x01ee49, 1}, {0x01ee4a, 0x01ee4a, -1}, {0x01ee4b, 0x01ee4b, 1}, + {0x01ee4c, 0x01ee4c, -1}, {0x01ee4d, 0x01ee4f, 1}, {0x01ee50, 0x01ee50, -1}, + {0x01ee51, 0x01ee52, 1}, {0x01ee53, 0x01ee53, -1}, {0x01ee54, 0x01ee54, 1}, + {0x01ee55, 0x01ee56, -1}, {0x01ee57, 0x01ee57, 1}, {0x01ee58, 0x01ee58, -1}, + {0x01ee59, 0x01ee59, 1}, {0x01ee5a, 0x01ee5a, -1}, {0x01ee5b, 0x01ee5b, 1}, + {0x01ee5c, 0x01ee5c, -1}, {0x01ee5d, 0x01ee5d, 1}, {0x01ee5e, 0x01ee5e, -1}, + {0x01ee5f, 0x01ee5f, 1}, {0x01ee60, 0x01ee60, -1}, {0x01ee61, 0x01ee62, 1}, + {0x01ee63, 0x01ee63, -1}, {0x01ee64, 0x01ee64, 1}, {0x01ee65, 0x01ee66, -1}, + {0x01ee67, 0x01ee6a, 1}, {0x01ee6b, 0x01ee6b, -1}, {0x01ee6c, 0x01ee72, 1}, + {0x01ee73, 0x01ee73, -1}, {0x01ee74, 0x01ee77, 1}, {0x01ee78, 0x01ee78, -1}, + {0x01ee79, 0x01ee7c, 1}, {0x01ee7d, 0x01ee7d, -1}, {0x01ee7e, 0x01ee7e, 1}, + {0x01ee7f, 0x01ee7f, -1}, {0x01ee80, 0x01ee89, 1}, {0x01ee8a, 0x01ee8a, -1}, + {0x01ee8b, 0x01ee9b, 1}, {0x01ee9c, 0x01eea0, -1}, {0x01eea1, 0x01eea3, 1}, + {0x01eea4, 0x01eea4, -1}, {0x01eea5, 0x01eea9, 1}, {0x01eeaa, 0x01eeaa, -1}, + {0x01eeab, 0x01eebb, 1}, {0x01eebc, 0x01eeef, -1}, {0x01eef0, 0x01eef1, 1}, + {0x01eef2, 0x01efff, -1}, {0x01f000, 0x01f003, 1}, {0x01f004, 0x01f004, 2}, + {0x01f005, 0x01f02b, 1}, {0x01f02c, 0x01f02f, -1}, {0x01f030, 0x01f093, 1}, + {0x01f094, 0x01f09f, -1}, {0x01f0a0, 0x01f0ae, 1}, {0x01f0af, 0x01f0b0, -1}, + {0x01f0b1, 0x01f0bf, 1}, {0x01f0c0, 0x01f0c0, -1}, {0x01f0c1, 0x01f0ce, 1}, + {0x01f0cf, 0x01f0cf, 2}, {0x01f0d0, 0x01f0d0, -1}, {0x01f0d1, 0x01f0f5, 1}, + {0x01f0f6, 0x01f0ff, -1}, {0x01f100, 0x01f18d, 1}, {0x01f18e, 0x01f18e, 2}, + {0x01f18f, 0x01f190, 1}, {0x01f191, 0x01f19a, 2}, {0x01f19b, 0x01f1ad, 1}, + {0x01f1ae, 0x01f1e5, -1}, {0x01f1e6, 0x01f1ff, 1}, {0x01f200, 0x01f202, 2}, + {0x01f203, 0x01f20f, -1}, {0x01f210, 0x01f23b, 2}, {0x01f23c, 0x01f23f, -1}, + {0x01f240, 0x01f248, 2}, {0x01f249, 0x01f24f, -1}, {0x01f250, 0x01f251, 2}, + {0x01f252, 0x01f25f, -1}, {0x01f260, 0x01f265, 2}, {0x01f266, 0x01f2ff, -1}, + {0x01f300, 0x01f320, 2}, {0x01f321, 0x01f32c, 1}, {0x01f32d, 0x01f335, 2}, + {0x01f336, 0x01f336, 1}, {0x01f337, 0x01f37c, 2}, {0x01f37d, 0x01f37d, 1}, + {0x01f37e, 0x01f393, 2}, {0x01f394, 0x01f39f, 1}, {0x01f3a0, 0x01f3ca, 2}, + {0x01f3cb, 0x01f3ce, 1}, {0x01f3cf, 0x01f3d3, 2}, {0x01f3d4, 0x01f3df, 1}, + {0x01f3e0, 0x01f3f0, 2}, {0x01f3f1, 0x01f3f3, 1}, {0x01f3f4, 0x01f3f4, 2}, + {0x01f3f5, 0x01f3f7, 1}, {0x01f3f8, 0x01f43e, 2}, {0x01f43f, 0x01f43f, 1}, + {0x01f440, 0x01f440, 2}, {0x01f441, 0x01f441, 1}, {0x01f442, 0x01f4fc, 2}, + {0x01f4fd, 0x01f4fe, 1}, {0x01f4ff, 0x01f53d, 2}, {0x01f53e, 0x01f54a, 1}, + {0x01f54b, 0x01f54e, 2}, {0x01f54f, 0x01f54f, 1}, {0x01f550, 0x01f567, 2}, + {0x01f568, 0x01f579, 1}, {0x01f57a, 0x01f57a, 2}, {0x01f57b, 0x01f594, 1}, + {0x01f595, 0x01f596, 2}, {0x01f597, 0x01f5a3, 1}, {0x01f5a4, 0x01f5a4, 2}, + {0x01f5a5, 0x01f5fa, 1}, {0x01f5fb, 0x01f64f, 2}, {0x01f650, 0x01f67f, 1}, + {0x01f680, 0x01f6c5, 2}, {0x01f6c6, 0x01f6cb, 1}, {0x01f6cc, 0x01f6cc, 2}, + {0x01f6cd, 0x01f6cf, 1}, {0x01f6d0, 0x01f6d2, 2}, {0x01f6d3, 0x01f6d4, 1}, + {0x01f6d5, 0x01f6d7, 2}, {0x01f6d8, 0x01f6db, -1}, {0x01f6dc, 0x01f6df, 2}, + {0x01f6e0, 0x01f6ea, 1}, {0x01f6eb, 0x01f6ec, 2}, {0x01f6ed, 0x01f6ef, -1}, + {0x01f6f0, 0x01f6f3, 1}, {0x01f6f4, 0x01f6fc, 2}, {0x01f6fd, 0x01f6ff, -1}, + {0x01f700, 0x01f776, 1}, {0x01f777, 0x01f77a, -1}, {0x01f77b, 0x01f7d9, 1}, + {0x01f7da, 0x01f7df, -1}, {0x01f7e0, 0x01f7eb, 2}, {0x01f7ec, 0x01f7ef, -1}, + {0x01f7f0, 0x01f7f0, 2}, {0x01f7f1, 0x01f7ff, -1}, {0x01f800, 0x01f80b, 1}, + {0x01f80c, 0x01f80f, -1}, {0x01f810, 0x01f847, 1}, {0x01f848, 0x01f84f, -1}, + {0x01f850, 0x01f859, 1}, {0x01f85a, 0x01f85f, -1}, {0x01f860, 0x01f887, 1}, + {0x01f888, 0x01f88f, -1}, {0x01f890, 0x01f8ad, 1}, {0x01f8ae, 0x01f8af, -1}, + {0x01f8b0, 0x01f8bb, 1}, {0x01f8bc, 0x01f8bf, -1}, {0x01f8c0, 0x01f8c1, 1}, + {0x01f8c2, 0x01f8ff, -1}, {0x01f900, 0x01f90b, 1}, {0x01f90c, 0x01f93a, 2}, + {0x01f93b, 0x01f93b, 1}, {0x01f93c, 0x01f945, 2}, {0x01f946, 0x01f946, 1}, + {0x01f947, 0x01f9ff, 2}, {0x01fa00, 0x01fa53, 1}, {0x01fa54, 0x01fa5f, -1}, + {0x01fa60, 0x01fa6d, 1}, {0x01fa6e, 0x01fa6f, -1}, {0x01fa70, 0x01fa7c, 2}, + {0x01fa7d, 0x01fa7f, -1}, {0x01fa80, 0x01fa89, 2}, {0x01fa8a, 0x01fa8e, -1}, + {0x01fa8f, 0x01fac6, 2}, {0x01fac7, 0x01facd, -1}, {0x01face, 0x01fadc, 2}, + {0x01fadd, 0x01fade, -1}, {0x01fadf, 0x01fae9, 2}, {0x01faea, 0x01faef, -1}, + {0x01faf0, 0x01faf8, 2}, {0x01faf9, 0x01faff, -1}, {0x01fb00, 0x01fb92, 1}, + {0x01fb93, 0x01fb93, -1}, {0x01fb94, 0x01fbf9, 1}, {0x01fbfa, 0x01ffff, -1}, + {0x020000, 0x02a6df, 2}, {0x02a6e0, 0x02a6ff, -1}, {0x02a700, 0x02b739, 2}, + {0x02b73a, 0x02b73f, -1}, {0x02b740, 0x02b81d, 2}, {0x02b81e, 0x02b81f, -1}, + {0x02b820, 0x02cea1, 2}, {0x02cea2, 0x02ceaf, -1}, {0x02ceb0, 0x02ebe0, 2}, + {0x02ebe1, 0x02ebef, -1}, {0x02ebf0, 0x02ee5d, 2}, {0x02ee5e, 0x02f7ff, -1}, + {0x02f800, 0x02fa1d, 2}, {0x02fa1e, 0x02ffff, -1}, {0x030000, 0x03134a, 2}, + {0x03134b, 0x03134f, -1}, {0x031350, 0x0323af, 2}, {0x0323b0, 0x0e0000, -1}, + {0x0e0001, 0x0e0001, 0}, {0x0e0002, 0x0e001f, -1}, {0x0e0020, 0x0e007f, 0}, + {0x0e0080, 0x0e00ff, -1}, {0x0e0100, 0x0e01ef, 0}, {0x0e01f0, 0x0effff, -1}, + {0x0f0000, 0x0ffffd, 1}, {0x0ffffe, 0x0fffff, -1}, {0x100000, 0x10fffd, 1}, + {0x10fffe, 0x10ffff, -1}, + // clang-format on +}; +#define WCWIDTH_TABLE_LENGTH 2143 +#endif // ifndef TB_OPT_LIBC_WCHAR + static int tb_reset(void); static int tb_printf_inner(int x, int y, uintattr_t fg, uintattr_t bg, size_t *out_w, const char *fmt, va_list vl); @@ -1552,9 +2288,9 @@ static int load_terminfo_from_path(const char *path, const char *term); static int read_terminfo_path(const char *path); static int parse_terminfo_caps(void); static int load_builtin_caps(void); -static const char *get_terminfo_string(int16_t str_offsets_pos, - int16_t str_offsets_len, int16_t str_table_pos, int16_t str_table_len, - int16_t str_index); +static const char *get_terminfo_string(int16_t offsets_pos, int16_t offsets_len, + int16_t table_pos, int16_t table_size, int16_t index); +static int get_terminfo_int16(int offset, int16_t *val); static int wait_event(struct tb_event *event, int timeout); static int extract_event(struct tb_event *event); static int extract_esc(struct tb_event *event); @@ -1588,9 +2324,10 @@ static int bytebuf_shift(struct bytebuf_t *b, size_t n); static int bytebuf_flush(struct bytebuf_t *b, int fd); static int bytebuf_reserve(struct bytebuf_t *b, size_t sz); static int bytebuf_free(struct bytebuf_t *b); +static int tb_iswprint_ex(uint32_t ch, int *width); +static int tb_wcswidth(uint32_t *ch, size_t nch); int tb_init(void) { - setlocale(LC_CTYPE, "C.UTF-8"); // Required for iswprint(3) to work properly return tb_init_file("/dev/tty"); } @@ -1629,9 +2366,7 @@ int tb_init_rwfd(int rfd, int wfd) { global.initialized = 1; } while (0); - if (rv != TB_OK) { - tb_deinit(); - } + if (rv != TB_OK) tb_deinit(); return rv; } @@ -1685,13 +2420,12 @@ int tb_present(void) { { #ifdef TB_OPT_EGC if (back->nech > 0) - w = wcswidth((wchar_t *)back->ech, back->nech); + w = tb_wcswidth(back->ech, back->nech); else #endif - // wcwidth simply returns -1 on overflow of wchar_t - w = wcwidth((wchar_t)back->ch); + w = tb_wcwidth((wchar_t)back->ch); } - if (w < 1) w = 1; + if (w < 1) w = 1; // wcwidth qreturns -1 for invalid codepoints if (cell_cmp(back, front) != 0) { cell_copy(front, back); @@ -1798,6 +2532,7 @@ int tb_get_cell(int x, int y, int back, struct tb_cell *cell) { int tb_extend_cell(int x, int y, uint32_t ch) { if_not_init_return(); #ifdef TB_OPT_EGC + // TODO: iswprint ch? int rv; struct tb_cell *cell; size_t nech; @@ -1825,16 +2560,15 @@ int tb_extend_cell(int x, int y, uint32_t ch) { int tb_set_input_mode(int mode) { if_not_init_return(); - if (mode == TB_INPUT_CURRENT) { - return global.input_mode; - } - if ((mode & (TB_INPUT_ESC | TB_INPUT_ALT)) == 0) { + if (mode == TB_INPUT_CURRENT) return global.input_mode; + + int esc_or_alt = TB_INPUT_ESC | TB_INPUT_ALT; + if ((mode & esc_or_alt) == 0) { + // neither specified; flip on ESC mode |= TB_INPUT_ESC; - } - - if ((mode & (TB_INPUT_ESC | TB_INPUT_ALT)) == (TB_INPUT_ESC | TB_INPUT_ALT)) - { + } else if ((mode & esc_or_alt) == esc_or_alt) { + // both specified; flip off ALT mode &= ~TB_INPUT_ALT; } @@ -1925,11 +2659,11 @@ int tb_print_ex(int x, int y, uintattr_t fg, uintattr_t bg, size_t *out_w, x_prev = x; y += 1; continue; - } else if (!iswprint((wint_t)uni)) { + } else if (!tb_iswprint_ex(uni, &w)) { uni = 0xfffd; // replace non-printable with U+FFFD + w = 1; } - w = wcwidth((wchar_t)uni); if (w < 0) { return TB_ERR; // shouldn't happen if iswprint } else if (w == 0) { // combining character @@ -2156,9 +2890,7 @@ static int tb_reset(void) { } static int init_term_attrs(void) { - if (global.ttyfd < 0) { - return TB_OK; - } + if (global.ttyfd < 0) return TB_OK; if (tcgetattr(global.ttyfd, &global.orig_tios) != 0) { global.last_errno = errno; @@ -2309,9 +3041,7 @@ static int cap_trie_deinit(struct cap_trie_t *node) { for (j = 0; j < node->nchildren; j++) { cap_trie_deinit(&node->children[j]); } - if (node->children) { - tb_free(node->children); - } + if (node->children) tb_free(node->children); memset(node, 0, sizeof(*node)); return TB_OK; } @@ -2362,9 +3092,7 @@ static int send_clear(void) { static int update_term_size(void) { int rv, ioctl_errno; - if (global.ttyfd < 0) { - return TB_OK; - } + if (global.ttyfd < 0) return TB_OK; struct winsize sz; memset(&sz, 0, sizeof(sz)); @@ -2486,15 +3214,11 @@ static int load_terminfo(void) { // this behavior. Some of these paths are compile-time ncurses options, so // best guesses are used here. const char *term = getenv("TERM"); - if (!term) { - return TB_ERR; - } + if (!term) return TB_ERR; // If TERMINFO is set, try that directory and stop const char *terminfo = getenv("TERMINFO"); - if (terminfo) { - return load_terminfo_from_path(terminfo, term); - } + if (terminfo) return load_terminfo_from_path(terminfo, term); // Next try ~/.terminfo const char *home = getenv("HOME"); @@ -2557,9 +3281,7 @@ static int load_terminfo_from_path(const char *path, const char *term) { static int read_terminfo_path(const char *path) { FILE *fp = fopen(path, "rb"); - if (!fp) { - return TB_ERR; - } + if (!fp) return TB_ERR; struct stat st; if (fstat(fileno(fp), &st) != 0) { @@ -2592,43 +3314,49 @@ static int parse_terminfo_caps(void) { // description of this behavior. // Ensure there's at least a header's worth of data - if (global.nterminfo < 6) { - return TB_ERR; - } + if (global.nterminfo < 6 * (int)sizeof(int16_t)) return TB_ERR; - int16_t *header = (int16_t *)global.terminfo; + int16_t magic_number, nbytes_names, nbytes_bools, num_ints, num_offsets, + nbytes_strings; + size_t nbytes_header = 6 * sizeof(int16_t); // header[0] the magic number (octal 0432 or 01036) // header[1] the size, in bytes, of the names section // header[2] the number of bytes in the boolean section // header[3] the number of short integers in the numbers section // header[4] the number of offsets (short integers) in the strings section // header[5] the size, in bytes, of the string table + get_terminfo_int16(0 * sizeof(int16_t), &magic_number); + get_terminfo_int16(1 * sizeof(int16_t), &nbytes_names); + get_terminfo_int16(2 * sizeof(int16_t), &nbytes_bools); + get_terminfo_int16(3 * sizeof(int16_t), &num_ints); + get_terminfo_int16(4 * sizeof(int16_t), &num_offsets); + get_terminfo_int16(5 * sizeof(int16_t), &nbytes_strings); // Legacy ints are 16-bit, extended ints are 32-bit - const int bytes_per_int = header[0] == 01036 ? 4 // 32-bit - : 2; // 16-bit + const int bytes_per_int = magic_number == 01036 ? 4 // 32-bit + : 2; // 16-bit // > Between the boolean section and the number section, a null byte will be // > inserted, if necessary, to ensure that the number section begins on an // > even byte - const int align_offset = (header[1] + header[2]) % 2 != 0 ? 1 : 0; + const int align_offset = (nbytes_names + nbytes_bools) % 2 != 0 ? 1 : 0; const int pos_str_offsets = - (6 * sizeof(int16_t)) // header (12 bytes) - + header[1] // length of names section - + header[2] // length of boolean section + nbytes_header // header (12 bytes) + + nbytes_names // length of names section + + nbytes_bools // length of boolean section + align_offset + - (header[3] * bytes_per_int); // length of numbers section + (num_ints * bytes_per_int); // length of numbers section const int pos_str_table = pos_str_offsets + - (header[4] * sizeof(int16_t)); // length of string offsets table + (num_offsets * sizeof(int16_t)); // length of string offsets table // Load caps int i; for (i = 0; i < TB_CAP__COUNT; i++) { - const char *cap = get_terminfo_string(pos_str_offsets, header[4], - pos_str_table, header[5], terminfo_cap_indexes[i]); + const char *cap = get_terminfo_string(pos_str_offsets, num_offsets, + pos_str_table, nbytes_strings, terminfo_cap_indexes[i]); if (!cap) { // Something is not right return TB_ERR; @@ -2643,9 +3371,7 @@ static int load_builtin_caps(void) { int i, j; const char *term = getenv("TERM"); - if (!term) { - return TB_ERR_NO_TERM; - } + if (!term) return TB_ERR_NO_TERM; // Check for exact TERM match for (i = 0; builtin_terms[i].name != NULL; i++) { @@ -2673,35 +3399,46 @@ static int load_builtin_caps(void) { return TB_ERR_UNSUPPORTED_TERM; } -static const char *get_terminfo_string(int16_t str_offsets_pos, - int16_t str_offsets_len, int16_t str_table_pos, int16_t str_table_len, - int16_t str_index) { - const int str_byte_index = (int)str_index * (int)sizeof(int16_t); - if (str_byte_index >= (int)str_offsets_len * (int)sizeof(int16_t)) { - // An offset beyond the table indicates absent +static const char *get_terminfo_string(int16_t offsets_pos, int16_t offsets_len, + int16_t table_pos, int16_t table_size, int16_t index) { + if (index >= offsets_len) { + // An index beyond the offset table indicates absent // See `convert_strings` in tinfo `read_entry.c` return ""; } - const int16_t *str_offset = - (int16_t *)(global.terminfo + (int)str_offsets_pos + str_byte_index); - if ((char *)str_offset >= global.terminfo + global.nterminfo) { - // str_offset points beyond end of entry + + int16_t table_offset; + int table_offset_offset = (int)offsets_pos + (index * (int)sizeof(int16_t)); + if (get_terminfo_int16(table_offset_offset, &table_offset) != TB_OK) { + // offset beyond end of terminfo entry // Truncated/corrupt terminfo entry? return NULL; } - if (*str_offset < 0 || *str_offset >= str_table_len) { + + if (table_offset < 0 || table_offset >= table_size) { // A negative offset indicates absent - // An offset beyond the table indicates absent + // An offset beyond the string table indicates absent // See `convert_strings` in tinfo `read_entry.c` return ""; } - if (((size_t)((int)str_table_pos + (int)*str_offset)) >= global.nterminfo) { - // string points beyond end of entry + + int str_offset = (int)table_pos + (int)table_offset; + if (str_offset >= (int)global.nterminfo) { + // string beyond end of terminfo entry // Truncated/corrupt terminfo entry? return NULL; } - return ( - const char *)(global.terminfo + (int)str_table_pos + (int)*str_offset); + + return (const char *)(global.terminfo + str_offset); +} + +static int get_terminfo_int16(int offset, int16_t *val) { + if (offset < 0 || offset >= (int)global.nterminfo) { + *val = -1; + return TB_ERR; + } + memcpy(val, global.terminfo + offset, sizeof(int16_t)); + return TB_OK; } static int wait_event(struct tb_event *event, int timeout) { @@ -2772,9 +3509,7 @@ static int extract_event(struct tb_event *event) { int rv; struct bytebuf_t *in = &global.in; - if (in->len == 0) { - return TB_ERR; - } + if (in->len == 0) return TB_ERR; if (in->buf[0] == '\x1b') { // Escape sequence? @@ -2800,8 +3535,9 @@ static int extract_event(struct tb_event *event) { } // ASCII control key? - if ((uint16_t)in->buf[0] < TB_KEY_SPACE || in->buf[0] == TB_KEY_BACKSPACE2) - { + int is_ctrl = + (uint16_t)in->buf[0] < TB_KEY_SPACE || in->buf[0] == TB_KEY_BACKSPACE2; + if (is_ctrl) { event->type = TB_EVENT_KEY; event->ch = 0; event->key = (uint16_t)in->buf[0]; @@ -2840,14 +3576,10 @@ static int extract_esc_user(struct tb_event *event, int is_post) { fn = is_post ? global.fn_extract_esc_post : global.fn_extract_esc_pre; - if (!fn) { - return TB_ERR; - } + if (!fn) return TB_ERR; rv = fn(event, &consumed); - if (rv == TB_OK) { - bytebuf_shift(in, consumed); - } + if (rv == TB_OK) bytebuf_shift(in, consumed); if_ok_or_need_more_return(rv, rv); return TB_ERR; @@ -3047,13 +3779,9 @@ static int extract_esc_mouse(struct tb_event *event) { ret = TB_ERR; } - if (buf_shift > 0) { - bytebuf_shift(in, buf_shift); - } + if (buf_shift > 0) bytebuf_shift(in, buf_shift); - if (ret == TB_OK) { - event->type = TB_EVENT_MOUSE; - } + if (ret == TB_OK) event->type = TB_EVENT_MOUSE; return ret; } @@ -3291,7 +4019,7 @@ static int send_cluster(int x, int y, uint32_t *ch, size_t nch) { int i; for (i = 0; i < (int)nch; i++) { uint32_t ch32 = *(ch + i); - if (!iswprint((wint_t)ch32)) { + if (!tb_iswprint(ch32)) { ch32 = 0xfffd; // replace non-printable codepoints with U+FFFD } int chu8_len = tb_utf8_unicode_to_char(chu8, ch32); @@ -3341,6 +4069,7 @@ static int cell_copy(struct tb_cell *dst, struct tb_cell *src) { static int cell_set(struct tb_cell *cell, uint32_t *ch, size_t nch, uintattr_t fg, uintattr_t bg) { + // TODO: iswprint ch? cell->ch = ch ? *ch : 0; cell->fg = fg; cell->bg = bg; @@ -3363,12 +4092,9 @@ static int cell_set(struct tb_cell *cell, uint32_t *ch, size_t nch, static int cell_reserve_ech(struct tb_cell *cell, size_t n) { #ifdef TB_OPT_EGC - if (cell->cech >= n) { - return TB_OK; - } - if (!(cell->ech = (uint32_t*)tb_realloc(cell->ech, n * sizeof(cell->ch)))) { - return TB_ERR_MEM; - } + if (cell->cech >= n) return TB_OK; + cell->ech = (uint32_t *)tb_realloc(cell->ech, n * sizeof(cell->ch)); + if (!cell->ech) return TB_ERR_MEM; cell->cech = n; return TB_OK; #else @@ -3380,9 +4106,7 @@ static int cell_reserve_ech(struct tb_cell *cell, size_t n) { static int cell_free(struct tb_cell *cell) { #ifdef TB_OPT_EGC - if (cell->ech) { - tb_free(cell->ech); - } + if (cell->ech) tb_free(cell->ech); #endif memset(cell, 0, sizeof(*cell)); return TB_OK; @@ -3390,9 +4114,7 @@ static int cell_free(struct tb_cell *cell) { static int cellbuf_init(struct cellbuf_t *c, int w, int h) { c->cells = (struct tb_cell *)tb_malloc(sizeof(struct tb_cell) * w * h); - if (!c->cells) { - return TB_ERR_MEM; - } + if (!c->cells) return TB_ERR_MEM; memset(c->cells, 0, sizeof(struct tb_cell) * w * h); c->width = w; c->height = h; @@ -3489,9 +4211,7 @@ static int bytebuf_nputs(struct bytebuf_t *b, const char *str, size_t nstr) { } static int bytebuf_shift(struct bytebuf_t *b, size_t n) { - if (n > b->len) { - n = b->len; - } + if (n > b->len) n = b->len; size_t nmove = b->len - n; memmove(b->buf, b->buf + n, nmove); b->len -= n; @@ -3499,9 +4219,7 @@ static int bytebuf_shift(struct bytebuf_t *b, size_t n) { } static int bytebuf_flush(struct bytebuf_t *b, int fd) { - if (b->len <= 0) { - return TB_OK; - } + if (b->len <= 0) return TB_OK; ssize_t write_rv = write(fd, b->buf, b->len); if (write_rv < 0 || (size_t)write_rv != b->len) { // Note, errno will be 0 on partial write @@ -3513,33 +4231,91 @@ static int bytebuf_flush(struct bytebuf_t *b, int fd) { } static int bytebuf_reserve(struct bytebuf_t *b, size_t sz) { - if (b->cap >= sz) { - return TB_OK; - } + if (b->cap >= sz) return TB_OK; + size_t newcap = b->cap > 0 ? b->cap : 1; while (newcap < sz) { newcap *= 2; } + char *newbuf; if (b->buf) { newbuf = (char *)tb_realloc(b->buf, newcap); } else { newbuf = (char *)tb_malloc(newcap); } - if (!newbuf) { - return TB_ERR_MEM; - } + if (!newbuf) return TB_ERR_MEM; + b->buf = newbuf; b->cap = newcap; return TB_OK; } static int bytebuf_free(struct bytebuf_t *b) { - if (b->buf) { - tb_free(b->buf); - } + if (b->buf) tb_free(b->buf); memset(b, 0, sizeof(*b)); return TB_OK; } +int tb_iswprint(uint32_t ch) { +#ifdef TB_OPT_LIBC_WCHAR + return iswprint((wint_t)ch); +#else + return tb_iswprint_ex(ch, NULL); +#endif +} + +int tb_wcwidth(uint32_t ch) { +#ifdef TB_OPT_LIBC_WCHAR + return wcwidth((wchar_t)ch); +#else + return tb_wcswidth(&ch, 1); +#endif +} + +static int tb_wcswidth(uint32_t *ch, size_t nch) { +#ifdef TB_OPT_LIBC_WCHAR + return wcswidth((wchar_t *)ch, nch); +#else + int sw = 0; + size_t i = 0; + for (i = 0; i < nch; i++) { + int w; + tb_iswprint_ex(ch[i], &w); + if (w < 0) return -1; + sw += w; + } + return sw; +#endif +} + +static int tb_iswprint_ex(uint32_t ch, int *w) { +#ifdef TB_OPT_LIBC_WCHAR + if (w) *w = wcwidth((wint_t)ch); + return iswprint(ch); +#else + int lo = 0, hi = WCWIDTH_TABLE_LENGTH - 1; + if (ch >= 0x20 && ch <= 0x7e) { // fast path for ASCII + if (w) *w = 1; + return 1; + } else if (ch == 0) { // Special case for null, which is not represented in + if (w) *w = 0; // wcwidth_table since it's the only codepoint that is + return 0; // iswprint==0 but not wcwidth==-1. (It's wcwidth==0.) + } + while (lo <= hi) { + int i = (lo + hi) / 2; + if (ch < wcwidth_table[i].range_start) { + hi = i - 1; + } else if (ch > wcwidth_table[i].range_end) { + lo = i + 1; + } else { + if (w) *w = wcwidth_table[i].width; + return wcwidth_table[i].width >= 0 ? 1 : 0; + } + } + if (w) *w = -1; // invalid codepoint + return 0; +#endif +} + #endif // TB_IMPL From d9204131aa986fb4df704d157973cd565383a4f3 Mon Sep 17 00:00:00 2001 From: AnErrupTion Date: Fri, 30 May 2025 09:24:07 +0200 Subject: [PATCH 06/12] Fix brightness up key not working (closes #763) Signed-off-by: AnErrupTion --- src/main.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.zig b/src/main.zig index bd89b15..6ddd1ff 100644 --- a/src/main.zig +++ b/src/main.zig @@ -376,7 +376,7 @@ pub fn main() !void { const sleep_len = try TerminalBuffer.strWidth(lang.sleep); const brightness_down_key = if (config.brightness_down_key) |key| try std.fmt.parseInt(u8, key[1..], 10) else null; const brightness_down_len = try TerminalBuffer.strWidth(lang.brightness_down); - const brightness_up_key = if (config.brightness_down_key) |key| try std.fmt.parseInt(u8, key[1..], 10) else null; + const brightness_up_key = if (config.brightness_up_key) |key| try std.fmt.parseInt(u8, key[1..], 10) else null; const brightness_up_len = try TerminalBuffer.strWidth(lang.brightness_up); var event: termbox.tb_event = undefined; From 02729cce21c52d9bbc7781ae1ae034047fe3bd46 Mon Sep 17 00:00:00 2001 From: AnErrupTion Date: Fri, 30 May 2025 14:17:41 +0200 Subject: [PATCH 07/12] Add brightnessctl to runtime dependency list Signed-off-by: AnErrupTion --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index ec3b649..cf0c095 100644 --- a/readme.md +++ b/readme.md @@ -16,6 +16,7 @@ Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD. - xorg - xorg-xauth - shutdown + - brightnessctl ### Debian ``` From cedb7a3b026fe19bc4bb6d0be2405b9344a55d6f Mon Sep 17 00:00:00 2001 From: AnErrupTion Date: Fri, 30 May 2025 14:18:29 +0200 Subject: [PATCH 08/12] Fix TTY not being cleared sometimes (closes #696) Signed-off-by: AnErrupTion --- src/main.zig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main.zig b/src/main.zig index 6ddd1ff..a182d89 100644 --- a/src/main.zig +++ b/src/main.zig @@ -783,6 +783,11 @@ pub fn main() !void { try info_line.addMessage(lang.logout, config.bg, config.fg); } + // Clear the TTY because termbox2 doesn't properly do it + const capability = termbox.global.caps[termbox.TB_CAP_CLEAR_SCREEN]; + const capability_slice = capability[0..std.mem.len(capability)]; + _ = try std.posix.write(termbox.global.ttyfd, capability_slice); + try std.posix.tcsetattr(std.posix.STDIN_FILENO, .FLUSH, tb_termios); if (auth_fails < config.auth_fails) _ = termbox.tb_clear(); From 67a4dd8f9d8ffa1f136712c4ee3cd9a9a9867c58 Mon Sep 17 00:00:00 2001 From: AnErrupTion Date: Fri, 30 May 2025 16:11:14 +0200 Subject: [PATCH 09/12] Rewrite DOOM animation (fixes #692) Signed-off-by: AnErrupTion --- src/animations/Doom.zig | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/src/animations/Doom.zig b/src/animations/Doom.zig index f651ed4..41de5ee 100644 --- a/src/animations/Doom.zig +++ b/src/animations/Doom.zig @@ -55,31 +55,21 @@ fn realloc(self: *Doom) anyerror!void { fn draw(self: *Doom) void { for (0..self.terminal_buffer.width) |x| { + // We start from 1 so that we always have the topmost line when spreading fire for (1..self.terminal_buffer.height) |y| { - const source = y * self.terminal_buffer.width + x; - const random = (self.terminal_buffer.random.int(u16) % 7) & 3; + // Get current cell + const from = y * self.terminal_buffer.width + x; + const cell_index = self.buffer[from]; - var dest = (source - @min(source, random)) + 1; - if (self.terminal_buffer.width > dest) dest = 0 else dest -= self.terminal_buffer.width; + // Spread fire + const propagate = self.terminal_buffer.random.int(u1); + const to = from - self.terminal_buffer.width; // Get the line above - const buffer_source = self.buffer[source]; - const buffer_dest_offset = random & 1; + self.buffer[to] = if (cell_index > 0) cell_index - propagate else cell_index; - if (buffer_source < buffer_dest_offset) continue; - - var buffer_dest = buffer_source - buffer_dest_offset; - if (buffer_dest > STEPS) buffer_dest = 0; - self.buffer[dest] = @intCast(buffer_dest); - - const dest_y = dest / self.terminal_buffer.width; - const dest_x = dest % self.terminal_buffer.width; - const dest_cell = self.fire[buffer_dest]; - dest_cell.put(dest_x, dest_y); - - const source_y = source / self.terminal_buffer.width; - const source_x = source % self.terminal_buffer.width; - const source_cell = self.fire[buffer_source]; - source_cell.put(source_x, source_y); + // Put the cell + const cell = self.fire[cell_index]; + cell.put(x, y); } } } @@ -89,6 +79,8 @@ fn initBuffer(buffer: []u8, width: usize) void { const slice_start = buffer[0..length]; const slice_end = buffer[length..]; + // Initialize the framebuffer in black, except for the "fire source" as the + // last color @memset(slice_start, 0); @memset(slice_end, STEPS); } From 11d9cf8b719b4bd4cf7e018633ab860107b65b54 Mon Sep 17 00:00:00 2001 From: B P Date: Fri, 30 May 2025 18:35:46 +0300 Subject: [PATCH 10/12] Update readme.md --- readme.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/readme.md b/readme.md index cf0c095..be31748 100644 --- a/readme.md +++ b/readme.md @@ -78,6 +78,14 @@ Install Ly for systemd-based systems (the default) # zig build installexe ``` +Instead of DISPLAY_MANAGER you need to add your DM: +- gdm.service +- sddm.service +- lightdm.service +``` +# systemctl disable DISPLAY_MANAGER +``` + Enable the service ``` # systemctl enable ly.service From b42953fd7e96d3d329f0a354c5ea02065d405bad Mon Sep 17 00:00:00 2001 From: AnErrupTion Date: Fri, 30 May 2025 17:39:44 +0200 Subject: [PATCH 11/12] Update screenshot Signed-off-by: AnErrupTion --- .github/screenshot.png | Bin 121750 -> 43911 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.github/screenshot.png b/.github/screenshot.png index 9d0db4bd0bf792c36c63bb21a498497675d3dd08..969417cba9c9bec1ed6413f27ee89ab6cedf140f 100644 GIT binary patch literal 43911 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\E98=BtKFgMP}Q?TyE(GC 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

F|>no4{(d^3M;!CF?;p39QC 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 Date: Fri, 30 May 2025 19:29:04 +0200 Subject: [PATCH 12/12] Start v1.2.0 development cycle Signed-off-by: AnErrupTion --- .github/ISSUE_TEMPLATE/bug.yml | 4 ++-- build.zig | 2 +- build.zig.zon | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 3314a84..a94cfc9 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -15,7 +15,7 @@ body: id: version attributes: label: Ly version - description: The output of `ly --version`. Please note that only Ly v1.0.0 and above are supported. + description: The output of `ly --version`. Please note that only Ly v1.1.0 and above are supported. placeholder: 1.1.0-dev.12+2b0301c validations: required: true @@ -59,7 +59,7 @@ body: label: Relevant logs description: | Please copy and paste any relevant logs, error messages or any other output. This will be automatically formatted into code, so no need for backticks. Screenshots are accepted if they make life easier for you. - If you're using the latest code on master (for v1.1.0), including your session log (found at /var/log/ly-session.log unless modified) is a good idea. (But make sure it's relevant!) + If it exists, ncluding your session log (found at /var/log/ly-session.log unless modified) is a good idea. (But make sure it's relevant!) render: shell - type: textarea id: moreinfo diff --git a/build.zig b/build.zig index 36635d8..80de3e8 100644 --- a/build.zig +++ b/build.zig @@ -21,7 +21,7 @@ comptime { } } -const ly_version = std.SemanticVersion{ .major = 1, .minor = 1, .patch = 0 }; +const ly_version = std.SemanticVersion{ .major = 1, .minor = 2, .patch = 0 }; var dest_directory: []const u8 = undefined; var config_directory: []const u8 = undefined; diff --git a/build.zig.zon b/build.zig.zon index 48c58f3..08d7e95 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,6 +1,6 @@ .{ .name = .ly, - .version = "1.1.0", + .version = "1.2.0", .fingerprint = 0xa148ffcc5dc2cb59, .minimum_zig_version = "0.14.0", .dependencies = .{