From 16b8febe8ef3b0ff65215fb64f81427e187524d2 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 2 Nov 2006 05:14:45 +0000 Subject: additions to the decomposition table. these are _not_ u**code nfd equivalences but rather workarounds for the fact that the fools who added the greek extension block to unicode didn't know greek and didn't know they were duplicating existing characters. u**code stability policy makes it impossible to fix this stupid stupid mistake so i'll just maintain a table of corrections. without these additional mappings, the duplicate characters will not decompose and thus will show up as ?'s unless the font includes precomposed glyphs for each of these broken compatibility characters. in the future, further additions outside the standard may be made to this table if the character charts indicate equivalences that cannot be made canonical for stability reasons. --- decomp.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/decomp.c b/decomp.c index 99865dc..ab95bda 100644 --- a/decomp.c +++ b/decomp.c @@ -748,12 +748,19 @@ static const unsigned short decomp[] = { 0x1f6e,0x1f68,0x342, 0x1f6f,0x1f69,0x342, 0x1f70,0x3b1,0x300, + 0x1f71,0x3b1,0x301, 0x1f72,0x3b5,0x300, + 0x1f73,0x3b5,0x301, 0x1f74,0x3b7,0x300, + 0x1f75,0x3b7,0x301, 0x1f76,0x3b9,0x300, + 0x1f77,0x3b9,0x301, 0x1f78,0x3bf,0x300, + 0x1f79,0x3bf,0x301, 0x1f7a,0x3c5,0x300, + 0x1f7b,0x3c5,0x301, 0x1f7c,0x3c9,0x300, + 0x1f7d,0x3c9,0x301, 0x1f80,0x1f00,0x345, 0x1f81,0x1f01,0x345, 0x1f82,0x1f02,0x345, @@ -812,6 +819,7 @@ static const unsigned short decomp[] = { 0x1fb8,0x391,0x306, 0x1fb9,0x391,0x304, 0x1fba,0x391,0x300, + 0x1fbb,0x391,0x301, 0x1fbc,0x391,0x345, 0x1fc1,0xa8,0x342, 0x1fc2,0x1f74,0x345, @@ -820,7 +828,9 @@ static const unsigned short decomp[] = { 0x1fc6,0x3b7,0x342, 0x1fc7,0x1fc6,0x345, 0x1fc8,0x395,0x300, + 0x1fc9,0x395,0x301, 0x1fca,0x397,0x300, + 0x1fcb,0x397,0x301, 0x1fcc,0x397,0x345, 0x1fcd,0x1fbf,0x300, 0x1fce,0x1fbf,0x301, @@ -828,17 +838,20 @@ static const unsigned short decomp[] = { 0x1fd0,0x3b9,0x306, 0x1fd1,0x3b9,0x304, 0x1fd2,0x3ca,0x300, + 0x1fd3,0x3ca,0x301, 0x1fd6,0x3b9,0x342, 0x1fd7,0x3ca,0x342, 0x1fd8,0x399,0x306, 0x1fd9,0x399,0x304, 0x1fda,0x399,0x300, + 0x1fdb,0x399,0x301, 0x1fdd,0x1ffe,0x300, 0x1fde,0x1ffe,0x301, 0x1fdf,0x1ffe,0x342, 0x1fe0,0x3c5,0x306, 0x1fe1,0x3c5,0x304, 0x1fe2,0x3cb,0x300, + 0x1fe3,0x3cb,0x301, 0x1fe4,0x3c1,0x313, 0x1fe5,0x3c1,0x314, 0x1fe6,0x3c5,0x342, @@ -846,6 +859,7 @@ static const unsigned short decomp[] = { 0x1fe8,0x3a5,0x306, 0x1fe9,0x3a5,0x304, 0x1fea,0x3a5,0x300, + 0x1feb,0x3a5,0x301, 0x1fec,0x3a1,0x314, 0x1fed,0xa8,0x300, 0x1ff2,0x1f7c,0x345, @@ -854,7 +868,9 @@ static const unsigned short decomp[] = { 0x1ff6,0x3c9,0x342, 0x1ff7,0x1ff6,0x345, 0x1ff8,0x39f,0x300, + 0x1ff9,0x39f,0x301, 0x1ffa,0x3a9,0x300, + 0x1ffb,0x3a9,0x301, 0x1ffc,0x3a9,0x345, 0x219a,0x2190,0x338, 0x219b,0x2192,0x338, @@ -1139,11 +1155,11 @@ static const uint32_t page_01f[] = { 0x3f3fffff, 0xffffffff, 0xaaff3f3f, - 0x1555ffff, + 0x3fffffff, 0xffffffff, - 0x17dfffff, - 0xe7c7f5de, - 0x15dc37f7, + 0x1fdfffff, + 0xefcfffde, + 0x1fdc3fff, }; static const uint32_t page_021[] = { 0, -- cgit v1.2.1