- qe_isaccent() recognises all combining code points (to be refined) - add computer generated width table unicode_width.h - display difference in hex in compare-windows to distinguish space and nbsp, normal and combined form for accented letters. - display multiple combining code points in what-cursor-position (C-x =) - attach combining code points to preceeding space in display_char_bidir - handle accents specificaaly in flush_fragment - handle combining code-points in screen backstore via indirection table this transient table can be inspected via describe-screen
550 lines
11 KiB
C
550 lines
11 KiB
C
0x002FF, 1,
|
|
0x0036F, 0,
|
|
0x00482, 1, /* 0400-04FF Cyrillic */
|
|
0x00489, 0,
|
|
0x00590, 1, /* 0590-05FF Hebrew */
|
|
0x005BD, 0,
|
|
0x005BE, 1,
|
|
0x005BF, 0,
|
|
0x005C0, 1,
|
|
0x005C2, 0,
|
|
0x005C3, 1,
|
|
0x005C5, 0,
|
|
0x005C6, 1,
|
|
0x005C7, 0,
|
|
0x0060F, 1, /* 0600-06FF Arabic */
|
|
0x0061A, 0,
|
|
0x0064A, 1,
|
|
0x0065F, 0,
|
|
0x0066F, 1,
|
|
0x00670, 0,
|
|
0x006D5, 1,
|
|
0x006DC, 0,
|
|
0x006DE, 1,
|
|
0x006E4, 0,
|
|
0x006E6, 1,
|
|
0x006E8, 0,
|
|
0x006E9, 1,
|
|
0x006ED, 0,
|
|
0x00710, 1, /* 0700-074F Syriac */
|
|
0x00711, 0,
|
|
0x0072F, 1,
|
|
0x0074A, 0,
|
|
0x007A5, 1, /* 0780-07BF Thaana */
|
|
0x007B0, 0,
|
|
0x007EA, 1, /* 07C0-07FF NKo */
|
|
0x007F3, 0,
|
|
0x00815, 1, /* 0800-083F Samaritan */
|
|
0x00819, 0,
|
|
0x0081A, 1,
|
|
0x00823, 0,
|
|
0x00824, 1,
|
|
0x00827, 0,
|
|
0x00828, 1,
|
|
0x0082D, 0,
|
|
0x00858, 1, /* 0840-085F Mandaic */
|
|
0x0085B, 0,
|
|
0x008E2, 1, /* 08A0-08FF Arabic Extended-A */
|
|
0x00903, 0, /* 0900-097F Devanagari */
|
|
0x00939, 1,
|
|
0x0093C, 0,
|
|
0x0093D, 1,
|
|
0x0094F, 0,
|
|
0x00950, 1,
|
|
0x00957, 0,
|
|
0x00961, 1,
|
|
0x00963, 0,
|
|
0x00980, 1, /* 0980-09FF Bengali */
|
|
0x00983, 0,
|
|
0x009BB, 1,
|
|
0x009BC, 0,
|
|
0x009BD, 1,
|
|
0x009C4, 0,
|
|
0x009C6, 1,
|
|
0x009C8, 0,
|
|
0x009CA, 1,
|
|
0x009CD, 0,
|
|
0x009D6, 1,
|
|
0x009D7, 0,
|
|
0x009E1, 1,
|
|
0x009E3, 0,
|
|
0x00A00, 1, /* 0A00-0A7F Gurmukhi */
|
|
0x00A03, 0,
|
|
0x00A3B, 1,
|
|
0x00A3C, 0,
|
|
0x00A3D, 1,
|
|
0x00A42, 0,
|
|
0x00A46, 1,
|
|
0x00A48, 0,
|
|
0x00A4A, 1,
|
|
0x00A4D, 0,
|
|
0x00A50, 1,
|
|
0x00A51, 0,
|
|
0x00A6F, 1,
|
|
0x00A71, 0,
|
|
0x00A74, 1,
|
|
0x00A75, 0,
|
|
0x00A80, 1, /* 0A80-0AFF Gujarati */
|
|
0x00A83, 0,
|
|
0x00ABB, 1,
|
|
0x00ABC, 0,
|
|
0x00ABD, 1,
|
|
0x00AC5, 0,
|
|
0x00AC6, 1,
|
|
0x00AC9, 0,
|
|
0x00ACA, 1,
|
|
0x00ACD, 0,
|
|
0x00AE1, 1,
|
|
0x00AE3, 0,
|
|
0x00B00, 1, /* 0B00-0B7F Oriya */
|
|
0x00B03, 0,
|
|
0x00B3B, 1,
|
|
0x00B3C, 0,
|
|
0x00B3D, 1,
|
|
0x00B44, 0,
|
|
0x00B46, 1,
|
|
0x00B48, 0,
|
|
0x00B4A, 1,
|
|
0x00B4D, 0,
|
|
0x00B55, 1,
|
|
0x00B57, 0,
|
|
0x00B61, 1,
|
|
0x00B63, 0,
|
|
0x00B81, 1, /* 0B80-0BFF Tamil */
|
|
0x00B82, 0,
|
|
0x00BBD, 1,
|
|
0x00BC2, 0,
|
|
0x00BC5, 1,
|
|
0x00BC8, 0,
|
|
0x00BC9, 1,
|
|
0x00BCD, 0,
|
|
0x00BD6, 1,
|
|
0x00BD7, 0,
|
|
0x00BFF, 1,
|
|
0x00C03, 0, /* 0C00-0C7F Telugu */
|
|
0x00C3D, 1,
|
|
0x00C44, 0,
|
|
0x00C45, 1,
|
|
0x00C48, 0,
|
|
0x00C49, 1,
|
|
0x00C4D, 0,
|
|
0x00C54, 1,
|
|
0x00C56, 0,
|
|
0x00C61, 1,
|
|
0x00C63, 0,
|
|
0x00C80, 1, /* 0C80-0CFF Kannada */
|
|
0x00C83, 0,
|
|
0x00CBB, 1,
|
|
0x00CBC, 0,
|
|
0x00CBD, 1,
|
|
0x00CC4, 0,
|
|
0x00CC5, 1,
|
|
0x00CC8, 0,
|
|
0x00CC9, 1,
|
|
0x00CCD, 0,
|
|
0x00CD4, 1,
|
|
0x00CD6, 0,
|
|
0x00CE1, 1,
|
|
0x00CE3, 0,
|
|
0x00D00, 1, /* 0D00-0D7F Malayalam */
|
|
0x00D03, 0,
|
|
0x00D3D, 1,
|
|
0x00D44, 0,
|
|
0x00D45, 1,
|
|
0x00D48, 0,
|
|
0x00D49, 1,
|
|
0x00D4D, 0,
|
|
0x00D56, 1,
|
|
0x00D57, 0,
|
|
0x00D61, 1,
|
|
0x00D63, 0,
|
|
0x00D81, 1, /* 0D80-0DFF Sinhala */
|
|
0x00D83, 0,
|
|
0x00DC9, 1,
|
|
0x00DCA, 0,
|
|
0x00DCE, 1,
|
|
0x00DD4, 0,
|
|
0x00DD5, 1,
|
|
0x00DD6, 0,
|
|
0x00DD7, 1,
|
|
0x00DDF, 0,
|
|
0x00DF1, 1,
|
|
0x00DF3, 0,
|
|
0x00E30, 1, /* 0E00-0E7F Thai */
|
|
0x00E31, 0,
|
|
0x00E33, 1,
|
|
0x00E3A, 0,
|
|
0x00E46, 1,
|
|
0x00E4E, 0,
|
|
0x00EB0, 1, /* 0E80-0EFF Lao */
|
|
0x00EB1, 0,
|
|
0x00EB3, 1,
|
|
0x00EB9, 0,
|
|
0x00EBA, 1,
|
|
0x00EBC, 0,
|
|
0x00EC7, 1,
|
|
0x00ECD, 0,
|
|
0x00F17, 1, /* 0F00-0FFF Tibetan */
|
|
0x00F19, 0,
|
|
0x00F34, 1,
|
|
0x00F35, 0,
|
|
0x00F36, 1,
|
|
0x00F37, 0,
|
|
0x00F38, 1,
|
|
0x00F39, 0,
|
|
0x00F3D, 1,
|
|
0x00F3F, 0,
|
|
0x00F70, 1,
|
|
0x00F84, 0,
|
|
0x00F85, 1,
|
|
0x00F87, 0,
|
|
0x00F8C, 1,
|
|
0x00F97, 0,
|
|
0x00F98, 1,
|
|
0x00FBC, 0,
|
|
0x00FC5, 1,
|
|
0x00FC6, 0,
|
|
0x0102A, 1, /* 1000-109F Myanmar */
|
|
0x0103E, 0,
|
|
0x01055, 1,
|
|
0x01059, 0,
|
|
0x0105D, 1,
|
|
0x01060, 0,
|
|
0x01061, 1,
|
|
0x01064, 0,
|
|
0x01066, 1,
|
|
0x0106D, 0,
|
|
0x01070, 1,
|
|
0x01074, 0,
|
|
0x01081, 1,
|
|
0x0108D, 0,
|
|
0x0108E, 1,
|
|
0x0108F, 0,
|
|
0x01099, 1,
|
|
0x0109D, 0,
|
|
0x010FF, 1,
|
|
0x0115F, 2, /* 1100-11FF Hangul Jamo */
|
|
0x011A2, 1,
|
|
0x011A7, 2,
|
|
0x011F9, 1,
|
|
0x011FF, 2,
|
|
0x0135C, 1, /* 1200-137F Ethiopic */
|
|
0x0135F, 0,
|
|
0x01711, 1, /* 1700-171F Tagalog */
|
|
0x01714, 0,
|
|
0x01731, 1, /* 1720-173F Hanunoo */
|
|
0x01734, 0,
|
|
0x01751, 1, /* 1740-175F Buhid */
|
|
0x01753, 0,
|
|
0x01771, 1, /* 1760-177F Tagbanwa */
|
|
0x01773, 0,
|
|
0x017B3, 1, /* 1780-17FF Khmer */
|
|
0x017D3, 0,
|
|
0x017DC, 1,
|
|
0x017DD, 0,
|
|
0x0180A, 1, /* 1800-18AF Mongolian */
|
|
0x0180D, 0,
|
|
0x018A8, 1,
|
|
0x018A9, 0,
|
|
0x0191F, 1, /* 1900-194F Limbu */
|
|
0x0192B, 0,
|
|
0x0192F, 1,
|
|
0x0193B, 0,
|
|
0x01A16, 1, /* 1A00-1A1F Buginese */
|
|
0x01A1B, 0,
|
|
0x01A54, 1, /* 1A20-1AAF Tai Tham */
|
|
0x01A5E, 0,
|
|
0x01A5F, 1,
|
|
0x01A7C, 0,
|
|
0x01A7E, 1,
|
|
0x01A7F, 0,
|
|
0x01AFF, 1,
|
|
0x01B04, 0, /* 1B00-1B87 Balinese */
|
|
0x01B33, 1,
|
|
0x01B44, 0,
|
|
0x01B6A, 1,
|
|
0x01B73, 0,
|
|
0x01B7F, 1,
|
|
0x01B82, 0,
|
|
0x01B7F, 1,
|
|
0x01B82, 0, /* 1B80-1BBF Sundanese */
|
|
0x01BA0, 1,
|
|
0x01BAD, 0,
|
|
0x01BE5, 1, /* 1BC0-1BFF Batak */
|
|
0x01BF3, 0,
|
|
0x01C23, 1, /* 1C00-1C4F Lepcha */
|
|
0x01C37, 0,
|
|
0x01CCF, 1,
|
|
0x01CD2, 0, /* 1CD0-1CFF Vedic Extensions */
|
|
0x01CD3, 1,
|
|
0x01CE8, 0,
|
|
0x01CEC, 1,
|
|
0x01CED, 0,
|
|
0x01CF1, 1,
|
|
0x01CF4, 0,
|
|
0x01CF7, 1,
|
|
0x01CF9, 0,
|
|
0x01DBF, 1,
|
|
0x01DF5, 0, /* 1DC0-1DFF Combining Diacritical Marks Supplement */
|
|
0x01DFB, 1,
|
|
0x01DFF, 0,
|
|
0x0200A, 1, /* 2000-206F General Punctuation */
|
|
0x0200D, 0,
|
|
0x020CF, 1,
|
|
0x020F0, 0, /* 20D0-20FF Combining Diacritical Marks for Symbols */
|
|
0x02328, 1, /* 2300-23FF Miscellaneous Technical */
|
|
0x0232A, 2,
|
|
0x02CEE, 1, /* 2C80-2CFF Coptic */
|
|
0x02CF1, 0,
|
|
0x02D7E, 1, /* 2D30-2D7F Tifinagh */
|
|
0x02D7F, 0,
|
|
0x02DDF, 1,
|
|
0x02DFF, 0,
|
|
0x02E7F, 1,
|
|
0x02E99, 2, /* 2E80-2EFF CJK Radicals Supplement */
|
|
0x02E9A, 1,
|
|
0x02EF3, 2,
|
|
0x02EFF, 1,
|
|
0x02FD5, 2, /* 2F00-2FDF Kangxi Radicals */
|
|
0x02FEF, 1,
|
|
0x02FFB, 2, /* 2FF0-2FFF Ideographic Description Characters */
|
|
0x02FFF, 1,
|
|
0x03029, 2, /* 3000-303F CJK Symbols and Punctuation */
|
|
0x0302F, 0,
|
|
0x0303E, 2,
|
|
0x03040, 1, /* 3040-309F Hiragana */
|
|
0x03096, 2,
|
|
0x03098, 1,
|
|
0x0309A, 0,
|
|
0x030FF, 2,
|
|
0x03104, 1, /* 3100-312F Bopomofo */
|
|
0x0312D, 2,
|
|
0x03130, 1, /* 3130-318F Hangul Compatibility Jamo */
|
|
0x0318E, 2,
|
|
0x0318F, 1,
|
|
0x031BA, 2, /* 31A0-31BF Bopomofo Extended */
|
|
0x031BF, 1,
|
|
0x031E3, 2, /* 31C0-31EF CJK Strokes */
|
|
0x031EF, 1,
|
|
0x0321E, 2, /* 3200-32FF Enclosed CJK Letters and Months */
|
|
0x0321F, 1,
|
|
0x03247, 2,
|
|
0x0324F, 1,
|
|
0x032FE, 2,
|
|
0x032FF, 1,
|
|
0x04DBF, 2,
|
|
0x04DFF, 1,
|
|
0x0A48C, 2, /* A000-A48F Yi Syllables */
|
|
0x0A48F, 1,
|
|
0x0A4C6, 2, /* A490-A4CF Yi Radicals */
|
|
0x0A66E, 1, /* A640-A69F Cyrillic Extended-B */
|
|
0x0A672, 0,
|
|
0x0A673, 1,
|
|
0x0A67D, 0,
|
|
0x0A69D, 1,
|
|
0x0A69F, 0,
|
|
0x0A6EF, 1, /* A6A0-A6FF Bamum */
|
|
0x0A6F1, 0,
|
|
0x0A801, 1, /* A800-A82F Syloti Nagri */
|
|
0x0A802, 0,
|
|
0x0A805, 1,
|
|
0x0A806, 0,
|
|
0x0A80A, 1,
|
|
0x0A80B, 0,
|
|
0x0A822, 1,
|
|
0x0A827, 0,
|
|
0x0A87F, 1,
|
|
0x0A881, 0, /* A880-A8DF Saurashtra */
|
|
0x0A8B3, 1,
|
|
0x0A8C4, 0,
|
|
0x0A8DF, 1,
|
|
0x0A8F1, 0, /* A8E0-A8FF Devanagari Extended */
|
|
0x0A925, 1, /* A900-A92F Kayah Li */
|
|
0x0A92D, 0,
|
|
0x0A946, 1, /* A930-A95F Rejang */
|
|
0x0A953, 0,
|
|
0x0A95F, 1,
|
|
0x0A97C, 2, /* A960-A97F Hangul Jamo Extended-A */
|
|
0x0A97F, 1,
|
|
0x0A983, 0, /* A980-A9DF Javanese */
|
|
0x0A9B2, 1,
|
|
0x0A9C0, 0,
|
|
0x0AA28, 1, /* AA00-AA5F Cham */
|
|
0x0AA36, 0,
|
|
0x0AA42, 1,
|
|
0x0AA43, 0,
|
|
0x0AA4B, 1,
|
|
0x0AA4D, 0,
|
|
0x0AA7A, 1, /* AA60-AA7F Myanmar Extended-A */
|
|
0x0AA7D, 0,
|
|
0x0AAAF, 1, /* AA80-AADF Tai Viet */
|
|
0x0AAB0, 0,
|
|
0x0AAB1, 1,
|
|
0x0AAB4, 0,
|
|
0x0AAB6, 1,
|
|
0x0AAB8, 0,
|
|
0x0AABD, 1,
|
|
0x0AABF, 0,
|
|
0x0AAC0, 1,
|
|
0x0AAC1, 0,
|
|
0x0AAEA, 1, /* AAE0-AAFF Meetei Mayek Extensions */
|
|
0x0AAEF, 0,
|
|
0x0AAF4, 1,
|
|
0x0AAF6, 0,
|
|
0x0ABE2, 1, /* ABC0-ABFF Meetei Mayek */
|
|
0x0ABEA, 0,
|
|
0x0ABEB, 1,
|
|
0x0ABED, 0,
|
|
0x0ABFF, 1,
|
|
0x0D7A3, 2, /* AC00-D7AF Hangul Syllables */
|
|
0x0D7FF, 1,
|
|
0x0DFFF, 3,
|
|
0x0F86F, 1, /* E000-F8FF Private Use Area */
|
|
0x0F87F, 0,
|
|
0x0F8FF, 1,
|
|
0x0FAFF, 2,
|
|
0x0FB1D, 1, /* FB00-FB4F Alphabetic Presentation Forms */
|
|
0x0FB1E, 0,
|
|
0x0FDFF, 1,
|
|
0x0FE0F, 0,
|
|
0x0FE19, 2, /* FE10-FE1F Vertical Forms */
|
|
0x0FE1F, 1,
|
|
0x0FE2F, 0,
|
|
0x0FE52, 2, /* FE50-FE6F Small Form Variants */
|
|
0x0FE53, 1,
|
|
0x0FE66, 2,
|
|
0x0FE67, 1,
|
|
0x0FE6B, 2,
|
|
0x0FEFE, 1, /* FE70-FEFF Arabic Presentation Forms-B */
|
|
0x0FEFF, 0,
|
|
0x0FF00, 1, /* FF00-FFEF Halfwidth and Fullwidth Forms */
|
|
0x0FF60, 2,
|
|
0x0FF9D, 1,
|
|
0x0FF9F, 0,
|
|
0x0FFDF, 1,
|
|
0x0FFE6, 2,
|
|
0x101FC, 1, /* 101D0-107FF Alphabetic and syllabic LTR scripts and sets of symbols */
|
|
0x101FD, 0,
|
|
0x102DF, 1,
|
|
0x102E0, 0,
|
|
0x10375, 1,
|
|
0x1037A, 0,
|
|
0x10A00, 1, /* 10800-10FFF Alphabetic and syllabic RTL scripts */
|
|
0x10A03, 0,
|
|
0x10A04, 1,
|
|
0x10A06, 0,
|
|
0x10A0B, 1,
|
|
0x10A0F, 0,
|
|
0x10A37, 1,
|
|
0x10A3A, 0,
|
|
0x10A3E, 1,
|
|
0x10A3F, 0,
|
|
0x10AE4, 1,
|
|
0x10AE6, 0,
|
|
0x10FFF, 1,
|
|
0x11002, 0, /* 11000-11FFF Brahmic scripts */
|
|
0x11037, 1,
|
|
0x11046, 0,
|
|
0x1107E, 1,
|
|
0x11082, 0,
|
|
0x110AF, 1,
|
|
0x110BA, 0,
|
|
0x110FF, 1,
|
|
0x11102, 0,
|
|
0x11126, 1,
|
|
0x11134, 0,
|
|
0x11172, 1,
|
|
0x11173, 0,
|
|
0x1117F, 1,
|
|
0x11182, 0,
|
|
0x111B2, 1,
|
|
0x111C0, 0,
|
|
0x111C9, 1,
|
|
0x111CC, 0,
|
|
0x1122B, 1,
|
|
0x11237, 0,
|
|
0x112DE, 1,
|
|
0x112EA, 0,
|
|
0x112FF, 1,
|
|
0x11303, 0,
|
|
0x1133B, 1,
|
|
0x1133C, 0,
|
|
0x1133D, 1,
|
|
0x11344, 0,
|
|
0x11346, 1,
|
|
0x11348, 0,
|
|
0x1134A, 1,
|
|
0x1134D, 0,
|
|
0x11356, 1,
|
|
0x11357, 0,
|
|
0x11361, 1,
|
|
0x11363, 0,
|
|
0x11365, 1,
|
|
0x1136C, 0,
|
|
0x1136F, 1,
|
|
0x11374, 0,
|
|
0x114AF, 1,
|
|
0x114C3, 0,
|
|
0x115AE, 1,
|
|
0x115B5, 0,
|
|
0x115B7, 1,
|
|
0x115C0, 0,
|
|
0x115DB, 1,
|
|
0x115DD, 0,
|
|
0x1162F, 1,
|
|
0x11640, 0,
|
|
0x116AA, 1,
|
|
0x116B7, 0,
|
|
0x1171C, 1,
|
|
0x1172B, 0,
|
|
0x16AEF, 1, /* 16000-16FFF Recently-devised scripts */
|
|
0x16AF4, 0,
|
|
0x16B2F, 1,
|
|
0x16B36, 0,
|
|
0x16F50, 1,
|
|
0x16F7E, 0,
|
|
0x16F8E, 1,
|
|
0x16F92, 0,
|
|
0x1AFFF, 1, /* 17000-1B4FF Large East Asian scripts */
|
|
0x1B001, 2,
|
|
0x1BC9C, 1, /* 1BC00-1BFFF Shorthands */
|
|
0x1BC9E, 0,
|
|
0x1D164, 1, /* 1D000-1DFFF Notational systems */
|
|
0x1D169, 0,
|
|
0x1D16C, 1,
|
|
0x1D172, 0,
|
|
0x1D17A, 1,
|
|
0x1D182, 0,
|
|
0x1D184, 1,
|
|
0x1D18B, 0,
|
|
0x1D1A9, 1,
|
|
0x1D1AD, 0,
|
|
0x1D241, 1,
|
|
0x1D244, 0,
|
|
0x1D9FF, 1,
|
|
0x1DA36, 0,
|
|
0x1DA3A, 1,
|
|
0x1DA6C, 0,
|
|
0x1DA74, 1,
|
|
0x1DA75, 0,
|
|
0x1DA83, 1,
|
|
0x1DA84, 0,
|
|
0x1DA9A, 1,
|
|
0x1DA9F, 0,
|
|
0x1DAA0, 1,
|
|
0x1DAAF, 0,
|
|
0x1E8CF, 1, /* 1E800-1EFFF RTL scripts */
|
|
0x1E8D6, 0,
|
|
0x1F1FF, 1, /* 1F100-1F2FF Alphanumeric and ideographic sets */
|
|
0x1F202, 2,
|
|
0x1F20F, 1,
|
|
0x1F23A, 2,
|
|
0x1F23F, 1,
|
|
0x1F248, 2,
|
|
0x1F24F, 1,
|
|
0x1F251, 2,
|
|
0x1FFFF, 1,
|
|
0xDFFFF, 2,
|
|
0xE00FF, 1,
|
|
0xE01EF, 0,
|
|
0xFFFFFFFF, 1, /* catch all */
|