sbase/libutf/lowerrune.c
FRIGN f9846a9a6b Split up is*rune() and to*rune() functions into individual source files
This optimizes the binary size for each tool that uses these functions.
Previously, if a program just used one single function, maybe even a
one-liner, it would statically compile in all lookup-tables, bloating
the binary by up to 20K.
All these changes are derived from a local libutf where I do the
primary changes. So I hope that I can merge these things into libutf
sooner or later, as discussed on the ml.
2015-02-11 15:48:18 +01:00

2894 lines
28 KiB
C

/* Automatically generated by mkrunetype.awk */
#include <stdlib.h>
#include "../utf.h"
#include "runetype.h"
static Rune lower2[][2] = {
{ 0x0061, 0x007A },
{ 0x00E0, 0x00F6 },
{ 0x00F8, 0x00FE },
{ 0x023F, 0x0240 },
{ 0x0256, 0x0257 },
{ 0x028A, 0x028B },
{ 0x037B, 0x037D },
{ 0x03AD, 0x03AF },
{ 0x03B1, 0x03C1 },
{ 0x03C3, 0x03CB },
{ 0x03CD, 0x03CE },
{ 0x0430, 0x044F },
{ 0x0450, 0x045F },
{ 0x0561, 0x0586 },
{ 0x1F00, 0x1F07 },
{ 0x1F10, 0x1F15 },
{ 0x1F20, 0x1F27 },
{ 0x1F30, 0x1F37 },
{ 0x1F40, 0x1F45 },
{ 0x1F60, 0x1F67 },
{ 0x1F70, 0x1F71 },
{ 0x1F72, 0x1F75 },
{ 0x1F76, 0x1F77 },
{ 0x1F78, 0x1F79 },
{ 0x1F7A, 0x1F7B },
{ 0x1F7C, 0x1F7D },
{ 0x1F80, 0x1F87 },
{ 0x1F90, 0x1F97 },
{ 0x1FA0, 0x1FA7 },
{ 0x1FB0, 0x1FB1 },
{ 0x1FD0, 0x1FD1 },
{ 0x1FE0, 0x1FE1 },
{ 0x2C30, 0x2C5E },
{ 0x2D00, 0x2D25 },
{ 0xFF41, 0xFF5A },
{ 0x10428, 0x1044F },
{ 0x118C0, 0x118DF },
};
static Rune lower2uppercase[][2] = {
{ 0x0041, 0x005A },
{ 0x00C0, 0x00D6 },
{ 0x00D8, 0x00DE },
{ 0x2C7E, 0x2C7F },
{ 0x0189, 0x018A },
{ 0x01B1, 0x01B2 },
{ 0x03FD, 0x03FF },
{ 0x0388, 0x038A },
{ 0x0391, 0x03A1 },
{ 0x03A3, 0x03AB },
{ 0x038E, 0x038F },
{ 0x0410, 0x042F },
{ 0x0400, 0x040F },
{ 0x0531, 0x0556 },
{ 0x1F08, 0x1F0F },
{ 0x1F18, 0x1F1D },
{ 0x1F28, 0x1F2F },
{ 0x1F38, 0x1F3F },
{ 0x1F48, 0x1F4D },
{ 0x1F68, 0x1F6F },
{ 0x1FBA, 0x1FBB },
{ 0x1FC8, 0x1FCB },
{ 0x1FDA, 0x1FDB },
{ 0x1FF8, 0x1FF9 },
{ 0x1FEA, 0x1FEB },
{ 0x1FFA, 0x1FFB },
{ 0x1F88, 0x1F8F },
{ 0x1F98, 0x1F9F },
{ 0x1FA8, 0x1FAF },
{ 0x1FB8, 0x1FB9 },
{ 0x1FD8, 0x1FD9 },
{ 0x1FE8, 0x1FE9 },
{ 0x2C00, 0x2C2E },
{ 0x10A0, 0x10C5 },
{ 0xFF21, 0xFF3A },
{ 0x10400, 0x10427 },
{ 0x118A0, 0x118BF },
};
static Rune lower1[] = {
0x00B5,
0x00DF,
0x00FF,
0x0101,
0x0103,
0x0105,
0x0107,
0x0109,
0x010B,
0x010D,
0x010F,
0x0111,
0x0113,
0x0115,
0x0117,
0x0119,
0x011B,
0x011D,
0x011F,
0x0121,
0x0123,
0x0125,
0x0127,
0x0129,
0x012B,
0x012D,
0x012F,
0x0131,
0x0133,
0x0135,
0x0137,
0x0138,
0x013A,
0x013C,
0x013E,
0x0140,
0x0142,
0x0144,
0x0146,
0x0148,
0x0149,
0x014B,
0x014D,
0x014F,
0x0151,
0x0153,
0x0155,
0x0157,
0x0159,
0x015B,
0x015D,
0x015F,
0x0161,
0x0163,
0x0165,
0x0167,
0x0169,
0x016B,
0x016D,
0x016F,
0x0171,
0x0173,
0x0175,
0x0177,
0x017A,
0x017C,
0x017E,
0x017F,
0x0180,
0x0183,
0x0185,
0x0188,
0x018C,
0x018D,
0x0192,
0x0195,
0x0199,
0x019A,
0x019B,
0x019E,
0x01A1,
0x01A3,
0x01A5,
0x01A8,
0x01AA,
0x01AB,
0x01AD,
0x01B0,
0x01B4,
0x01B6,
0x01B9,
0x01BA,
0x01BD,
0x01BE,
0x01BF,
0x01C6,
0x01C9,
0x01CC,
0x01CE,
0x01D0,
0x01D2,
0x01D4,
0x01D6,
0x01D8,
0x01DA,
0x01DC,
0x01DD,
0x01DF,
0x01E1,
0x01E3,
0x01E5,
0x01E7,
0x01E9,
0x01EB,
0x01ED,
0x01EF,
0x01F0,
0x01F3,
0x01F5,
0x01F9,
0x01FB,
0x01FD,
0x01FF,
0x0201,
0x0203,
0x0205,
0x0207,
0x0209,
0x020B,
0x020D,
0x020F,
0x0211,
0x0213,
0x0215,
0x0217,
0x0219,
0x021B,
0x021D,
0x021F,
0x0221,
0x0223,
0x0225,
0x0227,
0x0229,
0x022B,
0x022D,
0x022F,
0x0231,
0x0233,
0x0234,
0x0235,
0x0236,
0x0237,
0x0238,
0x0239,
0x023C,
0x0242,
0x0247,
0x0249,
0x024B,
0x024D,
0x024F,
0x0250,
0x0251,
0x0252,
0x0253,
0x0254,
0x0255,
0x0258,
0x0259,
0x025A,
0x025B,
0x025C,
0x025D,
0x025E,
0x025F,
0x0260,
0x0261,
0x0262,
0x0263,
0x0264,
0x0265,
0x0266,
0x0267,
0x0268,
0x0269,
0x026A,
0x026B,
0x026C,
0x026D,
0x026E,
0x026F,
0x0270,
0x0271,
0x0272,
0x0273,
0x0274,
0x0275,
0x0276,
0x0277,
0x0278,
0x0279,
0x027A,
0x027B,
0x027C,
0x027D,
0x027E,
0x027F,
0x0280,
0x0281,
0x0282,
0x0283,
0x0284,
0x0285,
0x0286,
0x0287,
0x0288,
0x0289,
0x028C,
0x028D,
0x028E,
0x028F,
0x0290,
0x0291,
0x0292,
0x0293,
0x0295,
0x0296,
0x0297,
0x0298,
0x0299,
0x029A,
0x029B,
0x029C,
0x029D,
0x029E,
0x029F,
0x02A0,
0x02A1,
0x02A2,
0x02A3,
0x02A4,
0x02A5,
0x02A6,
0x02A7,
0x02A8,
0x02A9,
0x02AA,
0x02AB,
0x02AC,
0x02AD,
0x02AE,
0x02AF,
0x0371,
0x0373,
0x0377,
0x0390,
0x03AC,
0x03B0,
0x03C2,
0x03CC,
0x03D0,
0x03D1,
0x03D5,
0x03D6,
0x03D7,
0x03D9,
0x03DB,
0x03DD,
0x03DF,
0x03E1,
0x03E3,
0x03E5,
0x03E7,
0x03E9,
0x03EB,
0x03ED,
0x03EF,
0x03F0,
0x03F1,
0x03F2,
0x03F3,
0x03F5,
0x03F8,
0x03FB,
0x03FC,
0x0461,
0x0463,
0x0465,
0x0467,
0x0469,
0x046B,
0x046D,
0x046F,
0x0471,
0x0473,
0x0475,
0x0477,
0x0479,
0x047B,
0x047D,
0x047F,
0x0481,
0x048B,
0x048D,
0x048F,
0x0491,
0x0493,
0x0495,
0x0497,
0x0499,
0x049B,
0x049D,
0x049F,
0x04A1,
0x04A3,
0x04A5,
0x04A7,
0x04A9,
0x04AB,
0x04AD,
0x04AF,
0x04B1,
0x04B3,
0x04B5,
0x04B7,
0x04B9,
0x04BB,
0x04BD,
0x04BF,
0x04C2,
0x04C4,
0x04C6,
0x04C8,
0x04CA,
0x04CC,
0x04CE,
0x04CF,
0x04D1,
0x04D3,
0x04D5,
0x04D7,
0x04D9,
0x04DB,
0x04DD,
0x04DF,
0x04E1,
0x04E3,
0x04E5,
0x04E7,
0x04E9,
0x04EB,
0x04ED,
0x04EF,
0x04F1,
0x04F3,
0x04F5,
0x04F7,
0x04F9,
0x04FB,
0x04FD,
0x04FF,
0x0501,
0x0503,
0x0505,
0x0507,
0x0509,
0x050B,
0x050D,
0x050F,
0x0511,
0x0513,
0x0515,
0x0517,
0x0519,
0x051B,
0x051D,
0x051F,
0x0521,
0x0523,
0x0525,
0x0527,
0x0529,
0x052B,
0x052D,
0x052F,
0x0587,
0x1D00,
0x1D01,
0x1D02,
0x1D03,
0x1D04,
0x1D05,
0x1D06,
0x1D07,
0x1D08,
0x1D09,
0x1D0A,
0x1D0B,
0x1D0C,
0x1D0D,
0x1D0E,
0x1D0F,
0x1D10,
0x1D11,
0x1D12,
0x1D13,
0x1D14,
0x1D15,
0x1D16,
0x1D17,
0x1D18,
0x1D19,
0x1D1A,
0x1D1B,
0x1D1C,
0x1D1D,
0x1D1E,
0x1D1F,
0x1D20,
0x1D21,
0x1D22,
0x1D23,
0x1D24,
0x1D25,
0x1D26,
0x1D27,
0x1D28,
0x1D29,
0x1D2A,
0x1D2B,
0x1D6B,
0x1D6C,
0x1D6D,
0x1D6E,
0x1D6F,
0x1D70,
0x1D71,
0x1D72,
0x1D73,
0x1D74,
0x1D75,
0x1D76,
0x1D77,
0x1D79,
0x1D7A,
0x1D7B,
0x1D7C,
0x1D7D,
0x1D7E,
0x1D7F,
0x1D80,
0x1D81,
0x1D82,
0x1D83,
0x1D84,
0x1D85,
0x1D86,
0x1D87,
0x1D88,
0x1D89,
0x1D8A,
0x1D8B,
0x1D8C,
0x1D8D,
0x1D8E,
0x1D8F,
0x1D90,
0x1D91,
0x1D92,
0x1D93,
0x1D94,
0x1D95,
0x1D96,
0x1D97,
0x1D98,
0x1D99,
0x1D9A,
0x1E01,
0x1E03,
0x1E05,
0x1E07,
0x1E09,
0x1E0B,
0x1E0D,
0x1E0F,
0x1E11,
0x1E13,
0x1E15,
0x1E17,
0x1E19,
0x1E1B,
0x1E1D,
0x1E1F,
0x1E21,
0x1E23,
0x1E25,
0x1E27,
0x1E29,
0x1E2B,
0x1E2D,
0x1E2F,
0x1E31,
0x1E33,
0x1E35,
0x1E37,
0x1E39,
0x1E3B,
0x1E3D,
0x1E3F,
0x1E41,
0x1E43,
0x1E45,
0x1E47,
0x1E49,
0x1E4B,
0x1E4D,
0x1E4F,
0x1E51,
0x1E53,
0x1E55,
0x1E57,
0x1E59,
0x1E5B,
0x1E5D,
0x1E5F,
0x1E61,
0x1E63,
0x1E65,
0x1E67,
0x1E69,
0x1E6B,
0x1E6D,
0x1E6F,
0x1E71,
0x1E73,
0x1E75,
0x1E77,
0x1E79,
0x1E7B,
0x1E7D,
0x1E7F,
0x1E81,
0x1E83,
0x1E85,
0x1E87,
0x1E89,
0x1E8B,
0x1E8D,
0x1E8F,
0x1E91,
0x1E93,
0x1E95,
0x1E96,
0x1E97,
0x1E98,
0x1E99,
0x1E9A,
0x1E9B,
0x1E9C,
0x1E9D,
0x1E9F,
0x1EA1,
0x1EA3,
0x1EA5,
0x1EA7,
0x1EA9,
0x1EAB,
0x1EAD,
0x1EAF,
0x1EB1,
0x1EB3,
0x1EB5,
0x1EB7,
0x1EB9,
0x1EBB,
0x1EBD,
0x1EBF,
0x1EC1,
0x1EC3,
0x1EC5,
0x1EC7,
0x1EC9,
0x1ECB,
0x1ECD,
0x1ECF,
0x1ED1,
0x1ED3,
0x1ED5,
0x1ED7,
0x1ED9,
0x1EDB,
0x1EDD,
0x1EDF,
0x1EE1,
0x1EE3,
0x1EE5,
0x1EE7,
0x1EE9,
0x1EEB,
0x1EED,
0x1EEF,
0x1EF1,
0x1EF3,
0x1EF5,
0x1EF7,
0x1EF9,
0x1EFB,
0x1EFD,
0x1EFF,
0x1F50,
0x1F51,
0x1F52,
0x1F53,
0x1F54,
0x1F55,
0x1F56,
0x1F57,
0x1FB2,
0x1FB3,
0x1FB4,
0x1FB6,
0x1FB7,
0x1FBE,
0x1FC2,
0x1FC3,
0x1FC4,
0x1FC6,
0x1FC7,
0x1FD2,
0x1FD3,
0x1FD6,
0x1FD7,
0x1FE2,
0x1FE3,
0x1FE4,
0x1FE5,
0x1FE6,
0x1FE7,
0x1FF2,
0x1FF3,
0x1FF4,
0x1FF6,
0x1FF7,
0x210A,
0x210E,
0x210F,
0x2113,
0x212F,
0x2134,
0x2139,
0x213C,
0x213D,
0x2146,
0x2147,
0x2148,
0x2149,
0x214E,
0x2184,
0x2C61,
0x2C65,
0x2C66,
0x2C68,
0x2C6A,
0x2C6C,
0x2C71,
0x2C73,
0x2C74,
0x2C76,
0x2C77,
0x2C78,
0x2C79,
0x2C7A,
0x2C7B,
0x2C81,
0x2C83,
0x2C85,
0x2C87,
0x2C89,
0x2C8B,
0x2C8D,
0x2C8F,
0x2C91,
0x2C93,
0x2C95,
0x2C97,
0x2C99,
0x2C9B,
0x2C9D,
0x2C9F,
0x2CA1,
0x2CA3,
0x2CA5,
0x2CA7,
0x2CA9,
0x2CAB,
0x2CAD,
0x2CAF,
0x2CB1,
0x2CB3,
0x2CB5,
0x2CB7,
0x2CB9,
0x2CBB,
0x2CBD,
0x2CBF,
0x2CC1,
0x2CC3,
0x2CC5,
0x2CC7,
0x2CC9,
0x2CCB,
0x2CCD,
0x2CCF,
0x2CD1,
0x2CD3,
0x2CD5,
0x2CD7,
0x2CD9,
0x2CDB,
0x2CDD,
0x2CDF,
0x2CE1,
0x2CE3,
0x2CE4,
0x2CEC,
0x2CEE,
0x2CF3,
0x2D27,
0x2D2D,
0xA641,
0xA643,
0xA645,
0xA647,
0xA649,
0xA64B,
0xA64D,
0xA64F,
0xA651,
0xA653,
0xA655,
0xA657,
0xA659,
0xA65B,
0xA65D,
0xA65F,
0xA661,
0xA663,
0xA665,
0xA667,
0xA669,
0xA66B,
0xA66D,
0xA681,
0xA683,
0xA685,
0xA687,
0xA689,
0xA68B,
0xA68D,
0xA68F,
0xA691,
0xA693,
0xA695,
0xA697,
0xA699,
0xA69B,
0xA723,
0xA725,
0xA727,
0xA729,
0xA72B,
0xA72D,
0xA72F,
0xA730,
0xA731,
0xA733,
0xA735,
0xA737,
0xA739,
0xA73B,
0xA73D,
0xA73F,
0xA741,
0xA743,
0xA745,
0xA747,
0xA749,
0xA74B,
0xA74D,
0xA74F,
0xA751,
0xA753,
0xA755,
0xA757,
0xA759,
0xA75B,
0xA75D,
0xA75F,
0xA761,
0xA763,
0xA765,
0xA767,
0xA769,
0xA76B,
0xA76D,
0xA76F,
0xA771,
0xA772,
0xA773,
0xA774,
0xA775,
0xA776,
0xA777,
0xA778,
0xA77A,
0xA77C,
0xA77F,
0xA781,
0xA783,
0xA785,
0xA787,
0xA78C,
0xA78E,
0xA791,
0xA793,
0xA794,
0xA795,
0xA797,
0xA799,
0xA79B,
0xA79D,
0xA79F,
0xA7A1,
0xA7A3,
0xA7A5,
0xA7A7,
0xA7A9,
0xA7FA,
0xAB30,
0xAB31,
0xAB32,
0xAB33,
0xAB34,
0xAB35,
0xAB36,
0xAB37,
0xAB38,
0xAB39,
0xAB3A,
0xAB3B,
0xAB3C,
0xAB3D,
0xAB3E,
0xAB3F,
0xAB40,
0xAB41,
0xAB42,
0xAB43,
0xAB44,
0xAB45,
0xAB46,
0xAB47,
0xAB48,
0xAB49,
0xAB4A,
0xAB4B,
0xAB4C,
0xAB4D,
0xAB4E,
0xAB4F,
0xAB50,
0xAB51,
0xAB52,
0xAB53,
0xAB54,
0xAB55,
0xAB56,
0xAB57,
0xAB58,
0xAB59,
0xAB5A,
0xAB64,
0xAB65,
0xFB00,
0xFB01,
0xFB02,
0xFB03,
0xFB04,
0xFB05,
0xFB06,
0xFB13,
0xFB14,
0xFB15,
0xFB16,
0xFB17,
0x1D41A,
0x1D41B,
0x1D41C,
0x1D41D,
0x1D41E,
0x1D41F,
0x1D420,
0x1D421,
0x1D422,
0x1D423,
0x1D424,
0x1D425,
0x1D426,
0x1D427,
0x1D428,
0x1D429,
0x1D42A,
0x1D42B,
0x1D42C,
0x1D42D,
0x1D42E,
0x1D42F,
0x1D430,
0x1D431,
0x1D432,
0x1D433,
0x1D44E,
0x1D44F,
0x1D450,
0x1D451,
0x1D452,
0x1D453,
0x1D454,
0x1D456,
0x1D457,
0x1D458,
0x1D459,
0x1D45A,
0x1D45B,
0x1D45C,
0x1D45D,
0x1D45E,
0x1D45F,
0x1D460,
0x1D461,
0x1D462,
0x1D463,
0x1D464,
0x1D465,
0x1D466,
0x1D467,
0x1D482,
0x1D483,
0x1D484,
0x1D485,
0x1D486,
0x1D487,
0x1D488,
0x1D489,
0x1D48A,
0x1D48B,
0x1D48C,
0x1D48D,
0x1D48E,
0x1D48F,
0x1D490,
0x1D491,
0x1D492,
0x1D493,
0x1D494,
0x1D495,
0x1D496,
0x1D497,
0x1D498,
0x1D499,
0x1D49A,
0x1D49B,
0x1D4B6,
0x1D4B7,
0x1D4B8,
0x1D4B9,
0x1D4BB,
0x1D4BD,
0x1D4BE,
0x1D4BF,
0x1D4C0,
0x1D4C1,
0x1D4C2,
0x1D4C3,
0x1D4C5,
0x1D4C6,
0x1D4C7,
0x1D4C8,
0x1D4C9,
0x1D4CA,
0x1D4CB,
0x1D4CC,
0x1D4CD,
0x1D4CE,
0x1D4CF,
0x1D4EA,
0x1D4EB,
0x1D4EC,
0x1D4ED,
0x1D4EE,
0x1D4EF,
0x1D4F0,
0x1D4F1,
0x1D4F2,
0x1D4F3,
0x1D4F4,
0x1D4F5,
0x1D4F6,
0x1D4F7,
0x1D4F8,
0x1D4F9,
0x1D4FA,
0x1D4FB,
0x1D4FC,
0x1D4FD,
0x1D4FE,
0x1D4FF,
0x1D500,
0x1D501,
0x1D502,
0x1D503,
0x1D51E,
0x1D51F,
0x1D520,
0x1D521,
0x1D522,
0x1D523,
0x1D524,
0x1D525,
0x1D526,
0x1D527,
0x1D528,
0x1D529,
0x1D52A,
0x1D52B,
0x1D52C,
0x1D52D,
0x1D52E,
0x1D52F,
0x1D530,
0x1D531,
0x1D532,
0x1D533,
0x1D534,
0x1D535,
0x1D536,
0x1D537,
0x1D552,
0x1D553,
0x1D554,
0x1D555,
0x1D556,
0x1D557,
0x1D558,
0x1D559,
0x1D55A,
0x1D55B,
0x1D55C,
0x1D55D,
0x1D55E,
0x1D55F,
0x1D560,
0x1D561,
0x1D562,
0x1D563,
0x1D564,
0x1D565,
0x1D566,
0x1D567,
0x1D568,
0x1D569,
0x1D56A,
0x1D56B,
0x1D586,
0x1D587,
0x1D588,
0x1D589,
0x1D58A,
0x1D58B,
0x1D58C,
0x1D58D,
0x1D58E,
0x1D58F,
0x1D590,
0x1D591,
0x1D592,
0x1D593,
0x1D594,
0x1D595,
0x1D596,
0x1D597,
0x1D598,
0x1D599,
0x1D59A,
0x1D59B,
0x1D59C,
0x1D59D,
0x1D59E,
0x1D59F,
0x1D5BA,
0x1D5BB,
0x1D5BC,
0x1D5BD,
0x1D5BE,
0x1D5BF,
0x1D5C0,
0x1D5C1,
0x1D5C2,
0x1D5C3,
0x1D5C4,
0x1D5C5,
0x1D5C6,
0x1D5C7,
0x1D5C8,
0x1D5C9,
0x1D5CA,
0x1D5CB,
0x1D5CC,
0x1D5CD,
0x1D5CE,
0x1D5CF,
0x1D5D0,
0x1D5D1,
0x1D5D2,
0x1D5D3,
0x1D5EE,
0x1D5EF,
0x1D5F0,
0x1D5F1,
0x1D5F2,
0x1D5F3,
0x1D5F4,
0x1D5F5,
0x1D5F6,
0x1D5F7,
0x1D5F8,
0x1D5F9,
0x1D5FA,
0x1D5FB,
0x1D5FC,
0x1D5FD,
0x1D5FE,
0x1D5FF,
0x1D600,
0x1D601,
0x1D602,
0x1D603,
0x1D604,
0x1D605,
0x1D606,
0x1D607,
0x1D622,
0x1D623,
0x1D624,
0x1D625,
0x1D626,
0x1D627,
0x1D628,
0x1D629,
0x1D62A,
0x1D62B,
0x1D62C,
0x1D62D,
0x1D62E,
0x1D62F,
0x1D630,
0x1D631,
0x1D632,
0x1D633,
0x1D634,
0x1D635,
0x1D636,
0x1D637,
0x1D638,
0x1D639,
0x1D63A,
0x1D63B,
0x1D656,
0x1D657,
0x1D658,
0x1D659,
0x1D65A,
0x1D65B,
0x1D65C,
0x1D65D,
0x1D65E,
0x1D65F,
0x1D660,
0x1D661,
0x1D662,
0x1D663,
0x1D664,
0x1D665,
0x1D666,
0x1D667,
0x1D668,
0x1D669,
0x1D66A,
0x1D66B,
0x1D66C,
0x1D66D,
0x1D66E,
0x1D66F,
0x1D68A,
0x1D68B,
0x1D68C,
0x1D68D,
0x1D68E,
0x1D68F,
0x1D690,
0x1D691,
0x1D692,
0x1D693,
0x1D694,
0x1D695,
0x1D696,
0x1D697,
0x1D698,
0x1D699,
0x1D69A,
0x1D69B,
0x1D69C,
0x1D69D,
0x1D69E,
0x1D69F,
0x1D6A0,
0x1D6A1,
0x1D6A2,
0x1D6A3,
0x1D6A4,
0x1D6A5,
0x1D6C2,
0x1D6C3,
0x1D6C4,
0x1D6C5,
0x1D6C6,
0x1D6C7,
0x1D6C8,
0x1D6C9,
0x1D6CA,
0x1D6CB,
0x1D6CC,
0x1D6CD,
0x1D6CE,
0x1D6CF,
0x1D6D0,
0x1D6D1,
0x1D6D2,
0x1D6D3,
0x1D6D4,
0x1D6D5,
0x1D6D6,
0x1D6D7,
0x1D6D8,
0x1D6D9,
0x1D6DA,
0x1D6DC,
0x1D6DD,
0x1D6DE,
0x1D6DF,
0x1D6E0,
0x1D6E1,
0x1D6FC,
0x1D6FD,
0x1D6FE,
0x1D6FF,
0x1D700,
0x1D701,
0x1D702,
0x1D703,
0x1D704,
0x1D705,
0x1D706,
0x1D707,
0x1D708,
0x1D709,
0x1D70A,
0x1D70B,
0x1D70C,
0x1D70D,
0x1D70E,
0x1D70F,
0x1D710,
0x1D711,
0x1D712,
0x1D713,
0x1D714,
0x1D716,
0x1D717,
0x1D718,
0x1D719,
0x1D71A,
0x1D71B,
0x1D736,
0x1D737,
0x1D738,
0x1D739,
0x1D73A,
0x1D73B,
0x1D73C,
0x1D73D,
0x1D73E,
0x1D73F,
0x1D740,
0x1D741,
0x1D742,
0x1D743,
0x1D744,
0x1D745,
0x1D746,
0x1D747,
0x1D748,
0x1D749,
0x1D74A,
0x1D74B,
0x1D74C,
0x1D74D,
0x1D74E,
0x1D750,
0x1D751,
0x1D752,
0x1D753,
0x1D754,
0x1D755,
0x1D770,
0x1D771,
0x1D772,
0x1D773,
0x1D774,
0x1D775,
0x1D776,
0x1D777,
0x1D778,
0x1D779,
0x1D77A,
0x1D77B,
0x1D77C,
0x1D77D,
0x1D77E,
0x1D77F,
0x1D780,
0x1D781,
0x1D782,
0x1D783,
0x1D784,
0x1D785,
0x1D786,
0x1D787,
0x1D788,
0x1D78A,
0x1D78B,
0x1D78C,
0x1D78D,
0x1D78E,
0x1D78F,
0x1D7AA,
0x1D7AB,
0x1D7AC,
0x1D7AD,
0x1D7AE,
0x1D7AF,
0x1D7B0,
0x1D7B1,
0x1D7B2,
0x1D7B3,
0x1D7B4,
0x1D7B5,
0x1D7B6,
0x1D7B7,
0x1D7B8,
0x1D7B9,
0x1D7BA,
0x1D7BB,
0x1D7BC,
0x1D7BD,
0x1D7BE,
0x1D7BF,
0x1D7C0,
0x1D7C1,
0x1D7C2,
0x1D7C4,
0x1D7C5,
0x1D7C6,
0x1D7C7,
0x1D7C8,
0x1D7C9,
0x1D7CB,
};
static Rune lower1uppercase[] = {
0x039C,
0x00DF,
0x0178,
0x0100,
0x0102,
0x0104,
0x0106,
0x0108,
0x010A,
0x010C,
0x010E,
0x0110,
0x0112,
0x0114,
0x0116,
0x0118,
0x011A,
0x011C,
0x011E,
0x0120,
0x0122,
0x0124,
0x0126,
0x0128,
0x012A,
0x012C,
0x012E,
0x0049,
0x0132,
0x0134,
0x0136,
0x0138,
0x0139,
0x013B,
0x013D,
0x013F,
0x0141,
0x0143,
0x0145,
0x0147,
0x0149,
0x014A,
0x014C,
0x014E,
0x0150,
0x0152,
0x0154,
0x0156,
0x0158,
0x015A,
0x015C,
0x015E,
0x0160,
0x0162,
0x0164,
0x0166,
0x0168,
0x016A,
0x016C,
0x016E,
0x0170,
0x0172,
0x0174,
0x0176,
0x0179,
0x017B,
0x017D,
0x0053,
0x0243,
0x0182,
0x0184,
0x0187,
0x018B,
0x018D,
0x0191,
0x01F6,
0x0198,
0x023D,
0x019B,
0x0220,
0x01A0,
0x01A2,
0x01A4,
0x01A7,
0x01AA,
0x01AB,
0x01AC,
0x01AF,
0x01B3,
0x01B5,
0x01B8,
0x01BA,
0x01BC,
0x01BE,
0x01F7,
0x01C4,
0x01C7,
0x01CA,
0x01CD,
0x01CF,
0x01D1,
0x01D3,
0x01D5,
0x01D7,
0x01D9,
0x01DB,
0x018E,
0x01DE,
0x01E0,
0x01E2,
0x01E4,
0x01E6,
0x01E8,
0x01EA,
0x01EC,
0x01EE,
0x01F0,
0x01F1,
0x01F4,
0x01F8,
0x01FA,
0x01FC,
0x01FE,
0x0200,
0x0202,
0x0204,
0x0206,
0x0208,
0x020A,
0x020C,
0x020E,
0x0210,
0x0212,
0x0214,
0x0216,
0x0218,
0x021A,
0x021C,
0x021E,
0x0221,
0x0222,
0x0224,
0x0226,
0x0228,
0x022A,
0x022C,
0x022E,
0x0230,
0x0232,
0x0234,
0x0235,
0x0236,
0x0237,
0x0238,
0x0239,
0x023B,
0x0241,
0x0246,
0x0248,
0x024A,
0x024C,
0x024E,
0x2C6F,
0x2C6D,
0x2C70,
0x0181,
0x0186,
0x0255,
0x0258,
0x018F,
0x025A,
0x0190,
0xA7AB,
0x025D,
0x025E,
0x025F,
0x0193,
0xA7AC,
0x0262,
0x0194,
0x0264,
0xA78D,
0xA7AA,
0x0267,
0x0197,
0x0196,
0x026A,
0x2C62,
0xA7AD,
0x026D,
0x026E,
0x019C,
0x0270,
0x2C6E,
0x019D,
0x0273,
0x0274,
0x019F,
0x0276,
0x0277,
0x0278,
0x0279,
0x027A,
0x027B,
0x027C,
0x2C64,
0x027E,
0x027F,
0x01A6,
0x0281,
0x0282,
0x01A9,
0x0284,
0x0285,
0x0286,
0xA7B1,
0x01AE,
0x0244,
0x0245,
0x028D,
0x028E,
0x028F,
0x0290,
0x0291,
0x01B7,
0x0293,
0x0295,
0x0296,
0x0297,
0x0298,
0x0299,
0x029A,
0x029B,
0x029C,
0x029D,
0xA7B0,
0x029F,
0x02A0,
0x02A1,
0x02A2,
0x02A3,
0x02A4,
0x02A5,
0x02A6,
0x02A7,
0x02A8,
0x02A9,
0x02AA,
0x02AB,
0x02AC,
0x02AD,
0x02AE,
0x02AF,
0x0370,
0x0372,
0x0376,
0x0390,
0x0386,
0x03B0,
0x03A3,
0x038C,
0x0392,
0x0398,
0x03A6,
0x03A0,
0x03CF,
0x03D8,
0x03DA,
0x03DC,
0x03DE,
0x03E0,
0x03E2,
0x03E4,
0x03E6,
0x03E8,
0x03EA,
0x03EC,
0x03EE,
0x039A,
0x03A1,
0x03F9,
0x037F,
0x0395,
0x03F7,
0x03FA,
0x03FC,
0x0460,
0x0462,
0x0464,
0x0466,
0x0468,
0x046A,
0x046C,
0x046E,
0x0470,
0x0472,
0x0474,
0x0476,
0x0478,
0x047A,
0x047C,
0x047E,
0x0480,
0x048A,
0x048C,
0x048E,
0x0490,
0x0492,
0x0494,
0x0496,
0x0498,
0x049A,
0x049C,
0x049E,
0x04A0,
0x04A2,
0x04A4,
0x04A6,
0x04A8,
0x04AA,
0x04AC,
0x04AE,
0x04B0,
0x04B2,
0x04B4,
0x04B6,
0x04B8,
0x04BA,
0x04BC,
0x04BE,
0x04C1,
0x04C3,
0x04C5,
0x04C7,
0x04C9,
0x04CB,
0x04CD,
0x04C0,
0x04D0,
0x04D2,
0x04D4,
0x04D6,
0x04D8,
0x04DA,
0x04DC,
0x04DE,
0x04E0,
0x04E2,
0x04E4,
0x04E6,
0x04E8,
0x04EA,
0x04EC,
0x04EE,
0x04F0,
0x04F2,
0x04F4,
0x04F6,
0x04F8,
0x04FA,
0x04FC,
0x04FE,
0x0500,
0x0502,
0x0504,
0x0506,
0x0508,
0x050A,
0x050C,
0x050E,
0x0510,
0x0512,
0x0514,
0x0516,
0x0518,
0x051A,
0x051C,
0x051E,
0x0520,
0x0522,
0x0524,
0x0526,
0x0528,
0x052A,
0x052C,
0x052E,
0x0587,
0x1D00,
0x1D01,
0x1D02,
0x1D03,
0x1D04,
0x1D05,
0x1D06,
0x1D07,
0x1D08,
0x1D09,
0x1D0A,
0x1D0B,
0x1D0C,
0x1D0D,
0x1D0E,
0x1D0F,
0x1D10,
0x1D11,
0x1D12,
0x1D13,
0x1D14,
0x1D15,
0x1D16,
0x1D17,
0x1D18,
0x1D19,
0x1D1A,
0x1D1B,
0x1D1C,
0x1D1D,
0x1D1E,
0x1D1F,
0x1D20,
0x1D21,
0x1D22,
0x1D23,
0x1D24,
0x1D25,
0x1D26,
0x1D27,
0x1D28,
0x1D29,
0x1D2A,
0x1D2B,
0x1D6B,
0x1D6C,
0x1D6D,
0x1D6E,
0x1D6F,
0x1D70,
0x1D71,
0x1D72,
0x1D73,
0x1D74,
0x1D75,
0x1D76,
0x1D77,
0xA77D,
0x1D7A,
0x1D7B,
0x1D7C,
0x2C63,
0x1D7E,
0x1D7F,
0x1D80,
0x1D81,
0x1D82,
0x1D83,
0x1D84,
0x1D85,
0x1D86,
0x1D87,
0x1D88,
0x1D89,
0x1D8A,
0x1D8B,
0x1D8C,
0x1D8D,
0x1D8E,
0x1D8F,
0x1D90,
0x1D91,
0x1D92,
0x1D93,
0x1D94,
0x1D95,
0x1D96,
0x1D97,
0x1D98,
0x1D99,
0x1D9A,
0x1E00,
0x1E02,
0x1E04,
0x1E06,
0x1E08,
0x1E0A,
0x1E0C,
0x1E0E,
0x1E10,
0x1E12,
0x1E14,
0x1E16,
0x1E18,
0x1E1A,
0x1E1C,
0x1E1E,
0x1E20,
0x1E22,
0x1E24,
0x1E26,
0x1E28,
0x1E2A,
0x1E2C,
0x1E2E,
0x1E30,
0x1E32,
0x1E34,
0x1E36,
0x1E38,
0x1E3A,
0x1E3C,
0x1E3E,
0x1E40,
0x1E42,
0x1E44,
0x1E46,
0x1E48,
0x1E4A,
0x1E4C,
0x1E4E,
0x1E50,
0x1E52,
0x1E54,
0x1E56,
0x1E58,
0x1E5A,
0x1E5C,
0x1E5E,
0x1E60,
0x1E62,
0x1E64,
0x1E66,
0x1E68,
0x1E6A,
0x1E6C,
0x1E6E,
0x1E70,
0x1E72,
0x1E74,
0x1E76,
0x1E78,
0x1E7A,
0x1E7C,
0x1E7E,
0x1E80,
0x1E82,
0x1E84,
0x1E86,
0x1E88,
0x1E8A,
0x1E8C,
0x1E8E,
0x1E90,
0x1E92,
0x1E94,
0x1E96,
0x1E97,
0x1E98,
0x1E99,
0x1E9A,
0x1E60,
0x1E9C,
0x1E9D,
0x1E9F,
0x1EA0,
0x1EA2,
0x1EA4,
0x1EA6,
0x1EA8,
0x1EAA,
0x1EAC,
0x1EAE,
0x1EB0,
0x1EB2,
0x1EB4,
0x1EB6,
0x1EB8,
0x1EBA,
0x1EBC,
0x1EBE,
0x1EC0,
0x1EC2,
0x1EC4,
0x1EC6,
0x1EC8,
0x1ECA,
0x1ECC,
0x1ECE,
0x1ED0,
0x1ED2,
0x1ED4,
0x1ED6,
0x1ED8,
0x1EDA,
0x1EDC,
0x1EDE,
0x1EE0,
0x1EE2,
0x1EE4,
0x1EE6,
0x1EE8,
0x1EEA,
0x1EEC,
0x1EEE,
0x1EF0,
0x1EF2,
0x1EF4,
0x1EF6,
0x1EF8,
0x1EFA,
0x1EFC,
0x1EFE,
0x1F50,
0x1F59,
0x1F52,
0x1F5B,
0x1F54,
0x1F5D,
0x1F56,
0x1F5F,
0x1FB2,
0x1FBC,
0x1FB4,
0x1FB6,
0x1FB7,
0x0399,
0x1FC2,
0x1FCC,
0x1FC4,
0x1FC6,
0x1FC7,
0x1FD2,
0x1FD3,
0x1FD6,
0x1FD7,
0x1FE2,
0x1FE3,
0x1FE4,
0x1FEC,
0x1FE6,
0x1FE7,
0x1FF2,
0x1FFC,
0x1FF4,
0x1FF6,
0x1FF7,
0x210A,
0x210E,
0x210F,
0x2113,
0x212F,
0x2134,
0x2139,
0x213C,
0x213D,
0x2146,
0x2147,
0x2148,
0x2149,
0x2132,
0x2183,
0x2C60,
0x023A,
0x023E,
0x2C67,
0x2C69,
0x2C6B,
0x2C71,
0x2C72,
0x2C74,
0x2C75,
0x2C77,
0x2C78,
0x2C79,
0x2C7A,
0x2C7B,
0x2C80,
0x2C82,
0x2C84,
0x2C86,
0x2C88,
0x2C8A,
0x2C8C,
0x2C8E,
0x2C90,
0x2C92,
0x2C94,
0x2C96,
0x2C98,
0x2C9A,
0x2C9C,
0x2C9E,
0x2CA0,
0x2CA2,
0x2CA4,
0x2CA6,
0x2CA8,
0x2CAA,
0x2CAC,
0x2CAE,
0x2CB0,
0x2CB2,
0x2CB4,
0x2CB6,
0x2CB8,
0x2CBA,
0x2CBC,
0x2CBE,
0x2CC0,
0x2CC2,
0x2CC4,
0x2CC6,
0x2CC8,
0x2CCA,
0x2CCC,
0x2CCE,
0x2CD0,
0x2CD2,
0x2CD4,
0x2CD6,
0x2CD8,
0x2CDA,
0x2CDC,
0x2CDE,
0x2CE0,
0x2CE2,
0x2CE4,
0x2CEB,
0x2CED,
0x2CF2,
0x10C7,
0x10CD,
0xA640,
0xA642,
0xA644,
0xA646,
0xA648,
0xA64A,
0xA64C,
0xA64E,
0xA650,
0xA652,
0xA654,
0xA656,
0xA658,
0xA65A,
0xA65C,
0xA65E,
0xA660,
0xA662,
0xA664,
0xA666,
0xA668,
0xA66A,
0xA66C,
0xA680,
0xA682,
0xA684,
0xA686,
0xA688,
0xA68A,
0xA68C,
0xA68E,
0xA690,
0xA692,
0xA694,
0xA696,
0xA698,
0xA69A,
0xA722,
0xA724,
0xA726,
0xA728,
0xA72A,
0xA72C,
0xA72E,
0xA730,
0xA731,
0xA732,
0xA734,
0xA736,
0xA738,
0xA73A,
0xA73C,
0xA73E,
0xA740,
0xA742,
0xA744,
0xA746,
0xA748,
0xA74A,
0xA74C,
0xA74E,
0xA750,
0xA752,
0xA754,
0xA756,
0xA758,
0xA75A,
0xA75C,
0xA75E,
0xA760,
0xA762,
0xA764,
0xA766,
0xA768,
0xA76A,
0xA76C,
0xA76E,
0xA771,
0xA772,
0xA773,
0xA774,
0xA775,
0xA776,
0xA777,
0xA778,
0xA779,
0xA77B,
0xA77E,
0xA780,
0xA782,
0xA784,
0xA786,
0xA78B,
0xA78E,
0xA790,
0xA792,
0xA794,
0xA795,
0xA796,
0xA798,
0xA79A,
0xA79C,
0xA79E,
0xA7A0,
0xA7A2,
0xA7A4,
0xA7A6,
0xA7A8,
0xA7FA,
0xAB30,
0xAB31,
0xAB32,
0xAB33,
0xAB34,
0xAB35,
0xAB36,
0xAB37,
0xAB38,
0xAB39,
0xAB3A,
0xAB3B,
0xAB3C,
0xAB3D,
0xAB3E,
0xAB3F,
0xAB40,
0xAB41,
0xAB42,
0xAB43,
0xAB44,
0xAB45,
0xAB46,
0xAB47,
0xAB48,
0xAB49,
0xAB4A,
0xAB4B,
0xAB4C,
0xAB4D,
0xAB4E,
0xAB4F,
0xAB50,
0xAB51,
0xAB52,
0xAB53,
0xAB54,
0xAB55,
0xAB56,
0xAB57,
0xAB58,
0xAB59,
0xAB5A,
0xAB64,
0xAB65,
0xFB00,
0xFB01,
0xFB02,
0xFB03,
0xFB04,
0xFB05,
0xFB06,
0xFB13,
0xFB14,
0xFB15,
0xFB16,
0xFB17,
0x1D41A,
0x1D41B,
0x1D41C,
0x1D41D,
0x1D41E,
0x1D41F,
0x1D420,
0x1D421,
0x1D422,
0x1D423,
0x1D424,
0x1D425,
0x1D426,
0x1D427,
0x1D428,
0x1D429,
0x1D42A,
0x1D42B,
0x1D42C,
0x1D42D,
0x1D42E,
0x1D42F,
0x1D430,
0x1D431,
0x1D432,
0x1D433,
0x1D44E,
0x1D44F,
0x1D450,
0x1D451,
0x1D452,
0x1D453,
0x1D454,
0x1D456,
0x1D457,
0x1D458,
0x1D459,
0x1D45A,
0x1D45B,
0x1D45C,
0x1D45D,
0x1D45E,
0x1D45F,
0x1D460,
0x1D461,
0x1D462,
0x1D463,
0x1D464,
0x1D465,
0x1D466,
0x1D467,
0x1D482,
0x1D483,
0x1D484,
0x1D485,
0x1D486,
0x1D487,
0x1D488,
0x1D489,
0x1D48A,
0x1D48B,
0x1D48C,
0x1D48D,
0x1D48E,
0x1D48F,
0x1D490,
0x1D491,
0x1D492,
0x1D493,
0x1D494,
0x1D495,
0x1D496,
0x1D497,
0x1D498,
0x1D499,
0x1D49A,
0x1D49B,
0x1D4B6,
0x1D4B7,
0x1D4B8,
0x1D4B9,
0x1D4BB,
0x1D4BD,
0x1D4BE,
0x1D4BF,
0x1D4C0,
0x1D4C1,
0x1D4C2,
0x1D4C3,
0x1D4C5,
0x1D4C6,
0x1D4C7,
0x1D4C8,
0x1D4C9,
0x1D4CA,
0x1D4CB,
0x1D4CC,
0x1D4CD,
0x1D4CE,
0x1D4CF,
0x1D4EA,
0x1D4EB,
0x1D4EC,
0x1D4ED,
0x1D4EE,
0x1D4EF,
0x1D4F0,
0x1D4F1,
0x1D4F2,
0x1D4F3,
0x1D4F4,
0x1D4F5,
0x1D4F6,
0x1D4F7,
0x1D4F8,
0x1D4F9,
0x1D4FA,
0x1D4FB,
0x1D4FC,
0x1D4FD,
0x1D4FE,
0x1D4FF,
0x1D500,
0x1D501,
0x1D502,
0x1D503,
0x1D51E,
0x1D51F,
0x1D520,
0x1D521,
0x1D522,
0x1D523,
0x1D524,
0x1D525,
0x1D526,
0x1D527,
0x1D528,
0x1D529,
0x1D52A,
0x1D52B,
0x1D52C,
0x1D52D,
0x1D52E,
0x1D52F,
0x1D530,
0x1D531,
0x1D532,
0x1D533,
0x1D534,
0x1D535,
0x1D536,
0x1D537,
0x1D552,
0x1D553,
0x1D554,
0x1D555,
0x1D556,
0x1D557,
0x1D558,
0x1D559,
0x1D55A,
0x1D55B,
0x1D55C,
0x1D55D,
0x1D55E,
0x1D55F,
0x1D560,
0x1D561,
0x1D562,
0x1D563,
0x1D564,
0x1D565,
0x1D566,
0x1D567,
0x1D568,
0x1D569,
0x1D56A,
0x1D56B,
0x1D586,
0x1D587,
0x1D588,
0x1D589,
0x1D58A,
0x1D58B,
0x1D58C,
0x1D58D,
0x1D58E,
0x1D58F,
0x1D590,
0x1D591,
0x1D592,
0x1D593,
0x1D594,
0x1D595,
0x1D596,
0x1D597,
0x1D598,
0x1D599,
0x1D59A,
0x1D59B,
0x1D59C,
0x1D59D,
0x1D59E,
0x1D59F,
0x1D5BA,
0x1D5BB,
0x1D5BC,
0x1D5BD,
0x1D5BE,
0x1D5BF,
0x1D5C0,
0x1D5C1,
0x1D5C2,
0x1D5C3,
0x1D5C4,
0x1D5C5,
0x1D5C6,
0x1D5C7,
0x1D5C8,
0x1D5C9,
0x1D5CA,
0x1D5CB,
0x1D5CC,
0x1D5CD,
0x1D5CE,
0x1D5CF,
0x1D5D0,
0x1D5D1,
0x1D5D2,
0x1D5D3,
0x1D5EE,
0x1D5EF,
0x1D5F0,
0x1D5F1,
0x1D5F2,
0x1D5F3,
0x1D5F4,
0x1D5F5,
0x1D5F6,
0x1D5F7,
0x1D5F8,
0x1D5F9,
0x1D5FA,
0x1D5FB,
0x1D5FC,
0x1D5FD,
0x1D5FE,
0x1D5FF,
0x1D600,
0x1D601,
0x1D602,
0x1D603,
0x1D604,
0x1D605,
0x1D606,
0x1D607,
0x1D622,
0x1D623,
0x1D624,
0x1D625,
0x1D626,
0x1D627,
0x1D628,
0x1D629,
0x1D62A,
0x1D62B,
0x1D62C,
0x1D62D,
0x1D62E,
0x1D62F,
0x1D630,
0x1D631,
0x1D632,
0x1D633,
0x1D634,
0x1D635,
0x1D636,
0x1D637,
0x1D638,
0x1D639,
0x1D63A,
0x1D63B,
0x1D656,
0x1D657,
0x1D658,
0x1D659,
0x1D65A,
0x1D65B,
0x1D65C,
0x1D65D,
0x1D65E,
0x1D65F,
0x1D660,
0x1D661,
0x1D662,
0x1D663,
0x1D664,
0x1D665,
0x1D666,
0x1D667,
0x1D668,
0x1D669,
0x1D66A,
0x1D66B,
0x1D66C,
0x1D66D,
0x1D66E,
0x1D66F,
0x1D68A,
0x1D68B,
0x1D68C,
0x1D68D,
0x1D68E,
0x1D68F,
0x1D690,
0x1D691,
0x1D692,
0x1D693,
0x1D694,
0x1D695,
0x1D696,
0x1D697,
0x1D698,
0x1D699,
0x1D69A,
0x1D69B,
0x1D69C,
0x1D69D,
0x1D69E,
0x1D69F,
0x1D6A0,
0x1D6A1,
0x1D6A2,
0x1D6A3,
0x1D6A4,
0x1D6A5,
0x1D6C2,
0x1D6C3,
0x1D6C4,
0x1D6C5,
0x1D6C6,
0x1D6C7,
0x1D6C8,
0x1D6C9,
0x1D6CA,
0x1D6CB,
0x1D6CC,
0x1D6CD,
0x1D6CE,
0x1D6CF,
0x1D6D0,
0x1D6D1,
0x1D6D2,
0x1D6D3,
0x1D6D4,
0x1D6D5,
0x1D6D6,
0x1D6D7,
0x1D6D8,
0x1D6D9,
0x1D6DA,
0x1D6DC,
0x1D6DD,
0x1D6DE,
0x1D6DF,
0x1D6E0,
0x1D6E1,
0x1D6FC,
0x1D6FD,
0x1D6FE,
0x1D6FF,
0x1D700,
0x1D701,
0x1D702,
0x1D703,
0x1D704,
0x1D705,
0x1D706,
0x1D707,
0x1D708,
0x1D709,
0x1D70A,
0x1D70B,
0x1D70C,
0x1D70D,
0x1D70E,
0x1D70F,
0x1D710,
0x1D711,
0x1D712,
0x1D713,
0x1D714,
0x1D716,
0x1D717,
0x1D718,
0x1D719,
0x1D71A,
0x1D71B,
0x1D736,
0x1D737,
0x1D738,
0x1D739,
0x1D73A,
0x1D73B,
0x1D73C,
0x1D73D,
0x1D73E,
0x1D73F,
0x1D740,
0x1D741,
0x1D742,
0x1D743,
0x1D744,
0x1D745,
0x1D746,
0x1D747,
0x1D748,
0x1D749,
0x1D74A,
0x1D74B,
0x1D74C,
0x1D74D,
0x1D74E,
0x1D750,
0x1D751,
0x1D752,
0x1D753,
0x1D754,
0x1D755,
0x1D770,
0x1D771,
0x1D772,
0x1D773,
0x1D774,
0x1D775,
0x1D776,
0x1D777,
0x1D778,
0x1D779,
0x1D77A,
0x1D77B,
0x1D77C,
0x1D77D,
0x1D77E,
0x1D77F,
0x1D780,
0x1D781,
0x1D782,
0x1D783,
0x1D784,
0x1D785,
0x1D786,
0x1D787,
0x1D788,
0x1D78A,
0x1D78B,
0x1D78C,
0x1D78D,
0x1D78E,
0x1D78F,
0x1D7AA,
0x1D7AB,
0x1D7AC,
0x1D7AD,
0x1D7AE,
0x1D7AF,
0x1D7B0,
0x1D7B1,
0x1D7B2,
0x1D7B3,
0x1D7B4,
0x1D7B5,
0x1D7B6,
0x1D7B7,
0x1D7B8,
0x1D7B9,
0x1D7BA,
0x1D7BB,
0x1D7BC,
0x1D7BD,
0x1D7BE,
0x1D7BF,
0x1D7C0,
0x1D7C1,
0x1D7C2,
0x1D7C4,
0x1D7C5,
0x1D7C6,
0x1D7C7,
0x1D7C8,
0x1D7C9,
0x1D7CB,
};
int
islowerrune(Rune r)
{
if(bsearch(&r, lower2, nelem(lower2), sizeof *lower2, &rune2cmp))
return 1;
if(bsearch(&r, lower1, nelem(lower1), sizeof *lower1, &rune1cmp))
return 1;
return 0;
}
int
toupperrune(Rune r)
{
Rune *match1, (*match2)[2];
match2 = bsearch(&r, lower2, nelem(lower2), sizeof *lower2, &rune2cmp);
if (match2)
r = *lower2uppercase[match2 - lower2] + (r - **match2);
match1 = bsearch(&r, lower1, nelem(lower1), sizeof *lower1, &rune1cmp);
if (match1)
r = lower1uppercase[match1 - lower1];
return r;
}