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