summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2006-11-02 05:14:45 +0000
committerRich Felker <dalias@aerifal.cx>2006-11-02 05:14:45 +0000
commit16b8febe8ef3b0ff65215fb64f81427e187524d2 (patch)
tree8789212d0315e424de78ca3cea1846780c5ec93e
parent6ccc044257a288e079bb37953766194a1dcf0eb7 (diff)
downloaduuterm-16b8febe8ef3b0ff65215fb64f81427e187524d2.tar.gz
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.
-rw-r--r--decomp.c24
1 files 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,