Changeset: 3a5f0f1bbc22 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3a5f0f1bbc22
Modified Files:
        gdk/gdk_string.c
Branch: ascii-flag
Log Message:

Do more special casing for case conversions.
This follows the SpecialCasing.txt file from the Unicode distribution.


diffs (truncated from 981 to 300 lines):

diff --git a/gdk/gdk_string.c b/gdk/gdk_string.c
--- a/gdk/gdk_string.c
+++ b/gdk/gdk_string.c
@@ -1471,39 +1471,83 @@ GDKanalytical_str_group_concat(BAT *r, B
  * starting with the bytes looked up so far, if non-zero, if this is the
  * last byte of a sequence, it is the converted codepoint, and otherwise
  * a (new) offset into the same table. */
+static const char *const specialcase[] = {
+       NULL,
+       "SS",
+       "i\xCC\x87",
+       "FF",
+       "FI",
+       "FL",
+       "FFI",
+       "FFL",
+       "ST",
+       "\xD4\xB5\xD5\x92",
+       "\xD5\x84\xD5\x86",
+       "\xD5\x84\xD4\xB5",
+       "\xD5\x84\xD4\xBB",
+       "\xD5\x8E\xD5\x86",
+       "\xD5\x84\xD4\xBD",
+       "\xCA\xBCN",
+       "\xCE\x99\xCC\x88\xCC\x81",
+       "\xCE\xA5\xCC\x88\xCC\x81",
+       "J\xCC\x8C",
+       "H\xCC\xB1",
+       "T\xCC\x88",
+       "W\xCC\x8A",
+       "Y\xCC\x8A",
+       "A\xCA\xBE",
+       "\xCE\xA5\xCC\x93",
+       "\xCE\xA5\xCC\x93\xCC\x80",
+       "\xCE\xA5\xCC\x93\xCC\x81",
+       "\xCE\xA5\xCC\x93\xCD\x82",
+       "\xCE\x91\xCD\x82",
+       "\xCE\x97\xCD\x82",
+       "\xCE\x99\xCC\x88\xCC\x80",
+       "\xCE\x99\xCD\x82",
+       "\xCE\x99\xCC\x88\xCD\x82",
+       "\xCE\xA5\xCC\x88\xCC\x80",
+       "\xCE\xA1\xCC\x93",
+       "\xCE\xA5\xCD\x82",
+       "\xCE\xA5\xCC\x88\xCD\x82",
+       "\xCE\xA9\xCD\x82",
+       "\xE1\xBC\x88\xCE\x99",
+       "\xE1\xBC\x89\xCE\x99",
+       "\xE1\xBC\x8A\xCE\x99",
+       "\xE1\xBC\x8B\xCE\x99",
+       "\xE1\xBC\x8C\xCE\x99",
+       "\xE1\xBC\x8D\xCE\x99",
+       "\xE1\xBC\x8E\xCE\x99",
+       "\xE1\xBC\x8F\xCE\x99",
+       "\xE1\xBC\xA8\xCE\x99",
+       "\xE1\xBC\xA9\xCE\x99",
+       "\xE1\xBC\xAA\xCE\x99",
+       "\xE1\xBC\xAB\xCE\x99",
+       "\xE1\xBC\xAC\xCE\x99",
+       "\xE1\xBC\xAD\xCE\x99",
+       "\xE1\xBC\xAE\xCE\x99",
+       "\xE1\xBC\xAF\xCE\x99",
+       "\xE1\xBD\xA8\xCE\x99",
+       "\xE1\xBD\xA9\xCE\x99",
+       "\xE1\xBD\xAA\xCE\x99",
+       "\xE1\xBD\xAB\xCE\x99",
+       "\xE1\xBD\xAC\xCE\x99",
+       "\xE1\xBD\xAD\xCE\x99",
+       "\xE1\xBD\xAE\xCE\x99",
+       "\xE1\xBD\xAF\xCE\x99",
+       "\xCE\x91\xCE\x99",
+       "\xCE\x97\xCE\x99",
+       "\xCE\xA9\xCE\x99",
+       "\xE1\xBE\xBA\xCE\x99",
+       "\xCE\x86\xCE\x99",
+       "\xE1\xBF\x8A\xCE\x99",
+       "\xCE\x89\xCE\x99",
+       "\xE1\xBF\xBA\xCE\x99",
+       "\xCE\x8F\xCE\x99",
+       "\xCE\x91\xCD\x82\xCE\x99",
+       "\xCE\x97\xCD\x82\xCE\x99",
+       "\xCE\xA9\xCD\x82\xCE\x99",
+};
 static const int lowercase[4288] = {
-       [0x00] = 0x0000,        /* U+0000: <control> */
-       [0x01] = 0x0001,        /* U+0001: <control> */
-       [0x02] = 0x0002,        /* U+0002: <control> */
-       [0x03] = 0x0003,        /* U+0003: <control> */
-       [0x04] = 0x0004,        /* U+0004: <control> */
-       [0x05] = 0x0005,        /* U+0005: <control> */
-       [0x06] = 0x0006,        /* U+0006: <control> */
-       [0x07] = 0x0007,        /* U+0007: <control> */
-       [0x08] = 0x0008,        /* U+0008: <control> */
-       [0x09] = 0x0009,        /* U+0009: <control> */
-       [0x0A] = 0x000A,        /* U+000A: <control> */
-       [0x0B] = 0x000B,        /* U+000B: <control> */
-       [0x0C] = 0x000C,        /* U+000C: <control> */
-       [0x0D] = 0x000D,        /* U+000D: <control> */
-       [0x0E] = 0x000E,        /* U+000E: <control> */
-       [0x0F] = 0x000F,        /* U+000F: <control> */
-       [0x10] = 0x0010,        /* U+0010: <control> */
-       [0x11] = 0x0011,        /* U+0011: <control> */
-       [0x12] = 0x0012,        /* U+0012: <control> */
-       [0x13] = 0x0013,        /* U+0013: <control> */
-       [0x14] = 0x0014,        /* U+0014: <control> */
-       [0x15] = 0x0015,        /* U+0015: <control> */
-       [0x16] = 0x0016,        /* U+0016: <control> */
-       [0x17] = 0x0017,        /* U+0017: <control> */
-       [0x18] = 0x0018,        /* U+0018: <control> */
-       [0x19] = 0x0019,        /* U+0019: <control> */
-       [0x1A] = 0x001A,        /* U+001A: <control> */
-       [0x1B] = 0x001B,        /* U+001B: <control> */
-       [0x1C] = 0x001C,        /* U+001C: <control> */
-       [0x1D] = 0x001D,        /* U+001D: <control> */
-       [0x1E] = 0x001E,        /* U+001E: <control> */
-       [0x1F] = 0x001F,        /* U+001F: <control> */
        [0x20] = 0x0020,        /* U+0020: SPACE */
        [0x21] = 0x0021,        /* U+0021: EXCLAMATION MARK */
        [0x22] = 0x0022,        /* U+0022: QUOTATION MARK */
@@ -1599,7 +1643,6 @@ static const int lowercase[4288] = {
        [0x7C] = 0x007C,        /* U+007C: VERTICAL LINE */
        [0x7D] = 0x007D,        /* U+007D: RIGHT CURLY BRACKET */
        [0x7E] = 0x007E,        /* U+007E: TILDE */
-       [0x7F] = 0x007F,        /* U+007F: <control> */
        [0xC3] = 256 - 0x80,    /* 303 ... */
        [256+0x00] = 0x00E0,    /* U+00C0: LATIN CAPITAL LETTER A WITH GRAVE */
        [256+0x01] = 0x00E1,    /* U+00C1: LATIN CAPITAL LETTER A WITH ACUTE */
@@ -1631,7 +1674,6 @@ static const int lowercase[4288] = {
        [256+0x1C] = 0x00FC,    /* U+00DC: LATIN CAPITAL LETTER U WITH 
DIAERESIS */
        [256+0x1D] = 0x00FD,    /* U+00DD: LATIN CAPITAL LETTER Y WITH ACUTE */
        [256+0x1E] = 0x00FE,    /* U+00DE: LATIN CAPITAL LETTER THORN */
-       [256+0x1F] = 0x00DF,    /* U+00DF: LATIN SMALL LETTER SHARP S */
        [0xC4] = 320 - 0x80,    /* 304 ... */
        [320+0x00] = 0x0101,    /* U+0100: LATIN CAPITAL LETTER A WITH MACRON */
        [320+0x02] = 0x0103,    /* U+0102: LATIN CAPITAL LETTER A WITH BREVE */
@@ -3072,39 +3114,7 @@ static const int lowercase[4288] = {
        [4224+0x20] = 0x1E942,  /* U+1E920: ADLAM CAPITAL LETTER KPO */
        [4224+0x21] = 0x1E943,  /* U+1E921: ADLAM CAPITAL LETTER SHA */
 };
-static const int uppercase[4544] = {
-       [0x00] = 0x0000,        /* U+0000: <control> */
-       [0x01] = 0x0001,        /* U+0001: <control> */
-       [0x02] = 0x0002,        /* U+0002: <control> */
-       [0x03] = 0x0003,        /* U+0003: <control> */
-       [0x04] = 0x0004,        /* U+0004: <control> */
-       [0x05] = 0x0005,        /* U+0005: <control> */
-       [0x06] = 0x0006,        /* U+0006: <control> */
-       [0x07] = 0x0007,        /* U+0007: <control> */
-       [0x08] = 0x0008,        /* U+0008: <control> */
-       [0x09] = 0x0009,        /* U+0009: <control> */
-       [0x0A] = 0x000A,        /* U+000A: <control> */
-       [0x0B] = 0x000B,        /* U+000B: <control> */
-       [0x0C] = 0x000C,        /* U+000C: <control> */
-       [0x0D] = 0x000D,        /* U+000D: <control> */
-       [0x0E] = 0x000E,        /* U+000E: <control> */
-       [0x0F] = 0x000F,        /* U+000F: <control> */
-       [0x10] = 0x0010,        /* U+0010: <control> */
-       [0x11] = 0x0011,        /* U+0011: <control> */
-       [0x12] = 0x0012,        /* U+0012: <control> */
-       [0x13] = 0x0013,        /* U+0013: <control> */
-       [0x14] = 0x0014,        /* U+0014: <control> */
-       [0x15] = 0x0015,        /* U+0015: <control> */
-       [0x16] = 0x0016,        /* U+0016: <control> */
-       [0x17] = 0x0017,        /* U+0017: <control> */
-       [0x18] = 0x0018,        /* U+0018: <control> */
-       [0x19] = 0x0019,        /* U+0019: <control> */
-       [0x1A] = 0x001A,        /* U+001A: <control> */
-       [0x1B] = 0x001B,        /* U+001B: <control> */
-       [0x1C] = 0x001C,        /* U+001C: <control> */
-       [0x1D] = 0x001D,        /* U+001D: <control> */
-       [0x1E] = 0x001E,        /* U+001E: <control> */
-       [0x1F] = 0x001F,        /* U+001F: <control> */
+static const int uppercase[4608] = {
        [0x20] = 0x0020,        /* U+0020: SPACE */
        [0x21] = 0x0021,        /* U+0021: EXCLAMATION MARK */
        [0x22] = 0x0022,        /* U+0022: QUOTATION MARK */
@@ -3200,11 +3210,10 @@ static const int uppercase[4544] = {
        [0x7C] = 0x007C,        /* U+007C: VERTICAL LINE */
        [0x7D] = 0x007D,        /* U+007D: RIGHT CURLY BRACKET */
        [0x7E] = 0x007E,        /* U+007E: TILDE */
-       [0x7F] = 0x007F,        /* U+007F: <control> */
        [0xC2] = 256 - 0x80,    /* 302 ... */
        [256+0x35] = 0x039C,    /* U+00B5: MICRO SIGN */
        [0xC3] = 320 - 0x80,    /* 303 ... */
-       [320+0x1F] = 0x00DF,    /* U+00DF: LATIN SMALL LETTER SHARP S */
+       [320+0x1F] = -1,        /* U+00DF: LATIN SMALL LETTER SHARP S */
        [320+0x20] = 0x00C0,    /* U+00E0: LATIN SMALL LETTER A WITH GRAVE */
        [320+0x21] = 0x00C1,    /* U+00E1: LATIN SMALL LETTER A WITH ACUTE */
        [320+0x22] = 0x00C2,    /* U+00E2: LATIN SMALL LETTER A WITH CIRCUMFLEX 
*/
@@ -3274,6 +3283,7 @@ static const int uppercase[4544] = {
        [448+0x04] = 0x0143,    /* U+0144: LATIN SMALL LETTER N WITH ACUTE */
        [448+0x06] = 0x0145,    /* U+0146: LATIN SMALL LETTER N WITH CEDILLA */
        [448+0x08] = 0x0147,    /* U+0148: LATIN SMALL LETTER N WITH CARON */
+       [448+0x09] = -15,       /* U+0149: LATIN SMALL LETTER N PRECEDED BY 
APOSTROPHE */
        [448+0x0B] = 0x014A,    /* U+014B: LATIN SMALL LETTER ENG */
        [448+0x0D] = 0x014C,    /* U+014D: LATIN SMALL LETTER O WITH MACRON */
        [448+0x0F] = 0x014E,    /* U+014F: LATIN SMALL LETTER O WITH BREVE */
@@ -3348,6 +3358,7 @@ static const int uppercase[4544] = {
        [576+0x2B] = 0x01EA,    /* U+01EB: LATIN SMALL LETTER O WITH OGONEK */
        [576+0x2D] = 0x01EC,    /* U+01ED: LATIN SMALL LETTER O WITH OGONEK AND 
MACRON */
        [576+0x2F] = 0x01EE,    /* U+01EF: LATIN SMALL LETTER EZH WITH CARON */
+       [576+0x30] = -18,       /* U+01F0: LATIN SMALL LETTER J WITH CARON */
        [576+0x32] = 0x01F1,    /* U+01F2: LATIN CAPITAL LETTER D WITH SMALL 
LETTER Z */
        [576+0x33] = 0x01F1,    /* U+01F3: LATIN SMALL LETTER DZ */
        [576+0x35] = 0x01F4,    /* U+01F5: LATIN SMALL LETTER G WITH ACUTE */
@@ -3438,10 +3449,12 @@ static const int uppercase[4544] = {
        [832+0x3C] = 0x03FE,    /* U+037C: GREEK SMALL DOTTED LUNATE SIGMA 
SYMBOL */
        [832+0x3D] = 0x03FF,    /* U+037D: GREEK SMALL REVERSED DOTTED LUNATE 
SIGMA SYMBOL */
        [0xCE] = 896 - 0x80,    /* 316 ... */
+       [896+0x10] = -16,       /* U+0390: GREEK SMALL LETTER IOTA WITH 
DIALYTIKA AND TONOS */
        [896+0x2C] = 0x0386,    /* U+03AC: GREEK SMALL LETTER ALPHA WITH TONOS 
*/
        [896+0x2D] = 0x0388,    /* U+03AD: GREEK SMALL LETTER EPSILON WITH 
TONOS */
        [896+0x2E] = 0x0389,    /* U+03AE: GREEK SMALL LETTER ETA WITH TONOS */
        [896+0x2F] = 0x038A,    /* U+03AF: GREEK SMALL LETTER IOTA WITH TONOS */
+       [896+0x30] = -17,       /* U+03B0: GREEK SMALL LETTER UPSILON WITH 
DIALYTIKA AND TONOS */
        [896+0x31] = 0x0391,    /* U+03B1: GREEK SMALL LETTER ALPHA */
        [896+0x32] = 0x0392,    /* U+03B2: GREEK SMALL LETTER BETA */
        [896+0x33] = 0x0393,    /* U+03B3: GREEK SMALL LETTER GAMMA */
@@ -3690,6 +3703,7 @@ static const int uppercase[4544] = {
        [1408+0x04] = 0x0554,   /* U+0584: ARMENIAN SMALL LETTER KEH */
        [1408+0x05] = 0x0555,   /* U+0585: ARMENIAN SMALL LETTER OH */
        [1408+0x06] = 0x0556,   /* U+0586: ARMENIAN SMALL LETTER FEH */
+       [1408+0x07] = -9,       /* U+0587: ARMENIAN SMALL LIGATURE ECH YIWN */
        [0xE1] = 1472 - 0x80,   /* 341 ... */
        [1472+0x03] = 1536 - 0x80,      /* 341 203 ... */
        [1536+0x10] = 0x1C90,   /* U+10D0: GEORGIAN LETTER AN */
@@ -3838,6 +3852,11 @@ static const int uppercase[4544] = {
        [1984+0x11] = 0x1E90,   /* U+1E91: LATIN SMALL LETTER Z WITH CIRCUMFLEX 
*/
        [1984+0x13] = 0x1E92,   /* U+1E93: LATIN SMALL LETTER Z WITH DOT BELOW 
*/
        [1984+0x15] = 0x1E94,   /* U+1E95: LATIN SMALL LETTER Z WITH LINE BELOW 
*/
+       [1984+0x16] = -19,      /* U+1E96: LATIN SMALL LETTER H WITH LINE BELOW 
*/
+       [1984+0x17] = -20,      /* U+1E97: LATIN SMALL LETTER T WITH DIAERESIS 
*/
+       [1984+0x18] = -21,      /* U+1E98: LATIN SMALL LETTER W WITH RING ABOVE 
*/
+       [1984+0x19] = -22,      /* U+1E99: LATIN SMALL LETTER Y WITH RING ABOVE 
*/
+       [1984+0x1A] = -23,      /* U+1E9A: LATIN SMALL LETTER A WITH RIGHT HALF 
RING */
        [1984+0x1B] = 0x1E60,   /* U+1E9B: LATIN SMALL LETTER LONG S WITH DOT 
ABOVE */
        [1984+0x21] = 0x1EA0,   /* U+1EA1: LATIN SMALL LETTER A WITH DOT BELOW 
*/
        [1984+0x23] = 0x1EA2,   /* U+1EA3: LATIN SMALL LETTER A WITH HOOK ABOVE 
*/
@@ -3926,9 +3945,13 @@ static const int uppercase[4544] = {
        [2176+0x03] = 0x1F4B,   /* U+1F43: GREEK SMALL LETTER OMICRON WITH 
DASIA AND VARIA */
        [2176+0x04] = 0x1F4C,   /* U+1F44: GREEK SMALL LETTER OMICRON WITH 
PSILI AND OXIA */
        [2176+0x05] = 0x1F4D,   /* U+1F45: GREEK SMALL LETTER OMICRON WITH 
DASIA AND OXIA */
+       [2176+0x10] = -24,      /* U+1F50: GREEK SMALL LETTER UPSILON WITH 
PSILI */
        [2176+0x11] = 0x1F59,   /* U+1F51: GREEK SMALL LETTER UPSILON WITH 
DASIA */
+       [2176+0x12] = -25,      /* U+1F52: GREEK SMALL LETTER UPSILON WITH 
PSILI AND VARIA */
        [2176+0x13] = 0x1F5B,   /* U+1F53: GREEK SMALL LETTER UPSILON WITH 
DASIA AND VARIA */
+       [2176+0x14] = -26,      /* U+1F54: GREEK SMALL LETTER UPSILON WITH 
PSILI AND OXIA */
        [2176+0x15] = 0x1F5D,   /* U+1F55: GREEK SMALL LETTER UPSILON WITH 
DASIA AND OXIA */
+       [2176+0x16] = -27,      /* U+1F56: GREEK SMALL LETTER UPSILON WITH 
PSILI AND PERISPOMENI */
        [2176+0x17] = 0x1F5F,   /* U+1F57: GREEK SMALL LETTER UPSILON WITH 
DASIA AND PERISPOMENI */
        [2176+0x20] = 0x1F68,   /* U+1F60: GREEK SMALL LETTER OMEGA WITH PSILI 
*/
        [2176+0x21] = 0x1F69,   /* U+1F61: GREEK SMALL LETTER OMEGA WITH DASIA 
*/
@@ -3961,6 +3984,14 @@ static const int uppercase[4544] = {
        [2240+0x05] = 0x1F8D,   /* U+1F85: GREEK SMALL LETTER ALPHA WITH DASIA 
AND OXIA AND YPOGEGRAMMENI */
        [2240+0x06] = 0x1F8E,   /* U+1F86: GREEK SMALL LETTER ALPHA WITH PSILI 
AND PERISPOMENI AND YPOGEGRAMMENI */
        [2240+0x07] = 0x1F8F,   /* U+1F87: GREEK SMALL LETTER ALPHA WITH DASIA 
AND PERISPOMENI AND YPOGEGRAMMENI */
+       [2240+0x08] = -38,      /* U+1F88: GREEK CAPITAL LETTER ALPHA WITH 
PSILI AND PROSGEGRAMMENI */
+       [2240+0x09] = -39,      /* U+1F89: GREEK CAPITAL LETTER ALPHA WITH 
DASIA AND PROSGEGRAMMENI */
+       [2240+0x0A] = -40,      /* U+1F8A: GREEK CAPITAL LETTER ALPHA WITH 
PSILI AND VARIA AND PROSGEGRAMMENI */
+       [2240+0x0B] = -41,      /* U+1F8B: GREEK CAPITAL LETTER ALPHA WITH 
DASIA AND VARIA AND PROSGEGRAMMENI */
+       [2240+0x0C] = -42,      /* U+1F8C: GREEK CAPITAL LETTER ALPHA WITH 
PSILI AND OXIA AND PROSGEGRAMMENI */
+       [2240+0x0D] = -43,      /* U+1F8D: GREEK CAPITAL LETTER ALPHA WITH 
DASIA AND OXIA AND PROSGEGRAMMENI */
+       [2240+0x0E] = -44,      /* U+1F8E: GREEK CAPITAL LETTER ALPHA WITH 
PSILI AND PERISPOMENI AND PROSGEGRAMMENI */
+       [2240+0x0F] = -45,      /* U+1F8F: GREEK CAPITAL LETTER ALPHA WITH 
DASIA AND PERISPOMENI AND PROSGEGRAMMENI */
        [2240+0x10] = 0x1F98,   /* U+1F90: GREEK SMALL LETTER ETA WITH PSILI 
AND YPOGEGRAMMENI */
        [2240+0x11] = 0x1F99,   /* U+1F91: GREEK SMALL LETTER ETA WITH DASIA 
AND YPOGEGRAMMENI */
        [2240+0x12] = 0x1F9A,   /* U+1F92: GREEK SMALL LETTER ETA WITH PSILI 
AND VARIA AND YPOGEGRAMMENI */
@@ -3969,6 +4000,14 @@ static const int uppercase[4544] = {
        [2240+0x15] = 0x1F9D,   /* U+1F95: GREEK SMALL LETTER ETA WITH DASIA 
AND OXIA AND YPOGEGRAMMENI */
        [2240+0x16] = 0x1F9E,   /* U+1F96: GREEK SMALL LETTER ETA WITH PSILI 
AND PERISPOMENI AND YPOGEGRAMMENI */
        [2240+0x17] = 0x1F9F,   /* U+1F97: GREEK SMALL LETTER ETA WITH DASIA 
AND PERISPOMENI AND YPOGEGRAMMENI */
+       [2240+0x18] = -46,      /* U+1F98: GREEK CAPITAL LETTER ETA WITH PSILI 
AND PROSGEGRAMMENI */
+       [2240+0x19] = -47,      /* U+1F99: GREEK CAPITAL LETTER ETA WITH DASIA 
AND PROSGEGRAMMENI */
+       [2240+0x1A] = -48,      /* U+1F9A: GREEK CAPITAL LETTER ETA WITH PSILI 
AND VARIA AND PROSGEGRAMMENI */
+       [2240+0x1B] = -49,      /* U+1F9B: GREEK CAPITAL LETTER ETA WITH DASIA 
AND VARIA AND PROSGEGRAMMENI */
+       [2240+0x1C] = -50,      /* U+1F9C: GREEK CAPITAL LETTER ETA WITH PSILI 
AND OXIA AND PROSGEGRAMMENI */
+       [2240+0x1D] = -51,      /* U+1F9D: GREEK CAPITAL LETTER ETA WITH DASIA 
AND OXIA AND PROSGEGRAMMENI */
+       [2240+0x1E] = -52,      /* U+1F9E: GREEK CAPITAL LETTER ETA WITH PSILI 
AND PERISPOMENI AND PROSGEGRAMMENI */
+       [2240+0x1F] = -53,      /* U+1F9F: GREEK CAPITAL LETTER ETA WITH DASIA 
AND PERISPOMENI AND PROSGEGRAMMENI */
        [2240+0x20] = 0x1FA8,   /* U+1FA0: GREEK SMALL LETTER OMEGA WITH PSILI 
AND YPOGEGRAMMENI */
        [2240+0x21] = 0x1FA9,   /* U+1FA1: GREEK SMALL LETTER OMEGA WITH DASIA 
AND YPOGEGRAMMENI */
        [2240+0x22] = 0x1FAA,   /* U+1FA2: GREEK SMALL LETTER OMEGA WITH PSILI 
AND VARIA AND YPOGEGRAMMENI */
@@ -3977,18 +4016,50 @@ static const int uppercase[4544] = {
        [2240+0x25] = 0x1FAD,   /* U+1FA5: GREEK SMALL LETTER OMEGA WITH DASIA 
AND OXIA AND YPOGEGRAMMENI */
        [2240+0x26] = 0x1FAE,   /* U+1FA6: GREEK SMALL LETTER OMEGA WITH PSILI 
AND PERISPOMENI AND YPOGEGRAMMENI */
        [2240+0x27] = 0x1FAF,   /* U+1FA7: GREEK SMALL LETTER OMEGA WITH DASIA 
AND PERISPOMENI AND YPOGEGRAMMENI */
+       [2240+0x28] = -54,      /* U+1FA8: GREEK CAPITAL LETTER OMEGA WITH 
PSILI AND PROSGEGRAMMENI */
+       [2240+0x29] = -55,      /* U+1FA9: GREEK CAPITAL LETTER OMEGA WITH 
DASIA AND PROSGEGRAMMENI */
+       [2240+0x2A] = -56,      /* U+1FAA: GREEK CAPITAL LETTER OMEGA WITH 
PSILI AND VARIA AND PROSGEGRAMMENI */
+       [2240+0x2B] = -57,      /* U+1FAB: GREEK CAPITAL LETTER OMEGA WITH 
DASIA AND VARIA AND PROSGEGRAMMENI */
+       [2240+0x2C] = -58,      /* U+1FAC: GREEK CAPITAL LETTER OMEGA WITH 
PSILI AND OXIA AND PROSGEGRAMMENI */
+       [2240+0x2D] = -59,      /* U+1FAD: GREEK CAPITAL LETTER OMEGA WITH 
DASIA AND OXIA AND PROSGEGRAMMENI */
+       [2240+0x2E] = -60,      /* U+1FAE: GREEK CAPITAL LETTER OMEGA WITH 
PSILI AND PERISPOMENI AND PROSGEGRAMMENI */
+       [2240+0x2F] = -61,      /* U+1FAF: GREEK CAPITAL LETTER OMEGA WITH 
DASIA AND PERISPOMENI AND PROSGEGRAMMENI */
        [2240+0x30] = 0x1FB8,   /* U+1FB0: GREEK SMALL LETTER ALPHA WITH VRACHY 
*/
        [2240+0x31] = 0x1FB9,   /* U+1FB1: GREEK SMALL LETTER ALPHA WITH MACRON 
*/
+       [2240+0x32] = -65,      /* U+1FB2: GREEK SMALL LETTER ALPHA WITH VARIA 
AND YPOGEGRAMMENI */
        [2240+0x33] = 0x1FBC,   /* U+1FB3: GREEK SMALL LETTER ALPHA WITH 
YPOGEGRAMMENI */
+       [2240+0x34] = -66,      /* U+1FB4: GREEK SMALL LETTER ALPHA WITH OXIA 
AND YPOGEGRAMMENI */
+       [2240+0x36] = -28,      /* U+1FB6: GREEK SMALL LETTER ALPHA WITH 
PERISPOMENI */
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to