chiark / gitweb /
Move generation of uniXXXX names from runtime to compile time
authorBen Harris <bjh21@bjh21.me.uk>
Sat, 28 Mar 2020 15:59:27 +0000 (15:59 +0000)
committerBen Harris <bjh21@bjh21.me.uk>
Sat, 28 Mar 2020 15:59:27 +0000 (15:59 +0000)
It was getting complicated to ensure that everywhere that needed a
glyph name correctly generated them: simpler to have the preprocessor
generate them once.

bedstead.c

index e160c11e7dbe7dc8f57dd7df38fe92824711b358..87139c88c981b1e78652da9448285d517c40874b 100644 (file)
@@ -221,6 +221,9 @@ static void domosaic4(unsigned code);
 static void dopanose(void);
 static void glyph_complement(void);
 
+/* U(N) sets the code point and name of a glyph not in AGLFN */
+#define U(N) 0x ## N, "uni" #N
+
 static struct glyph {
        char data[YSIZE];
        int unicode;
@@ -389,100 +392,100 @@ static struct glyph {
  {{000,000,017,020,020,020,017,002,006}, -1, "ccedilla.saa5054" },
 
  /* Extra characters found in the Hebrew (SAA5056) character set */
- {{000,021,011,025,022,021,021,000,000}, 0x05d0 }, /* alef */
- {{000,016,002,002,002,002,037,000,000}, 0x05d1 }, /* bet */
- {{000,003,001,001,003,005,011,000,000}, 0x05d2 }, /* gimel */
- {{000,037,002,002,002,002,002,000,000}, 0x05d3 }, /* dalet */
- {{000,037,001,001,021,021,021,000,000}, 0x05d4 }, /* he */
- {{000,014,004,004,004,004,004,000,000}, 0x05d5 }, /* vav */
- {{000,016,004,010,004,004,004,000,000}, 0x05d6 }, /* zayin */
- {{000,037,021,021,021,021,021,000,000}, 0x05d7 }, /* het */
- {{000,021,023,025,021,021,037,000,000}, 0x05d8 }, /* tet */
- {{000,014,004,000,000,000,000,000,000}, 0x05d9 }, /* yod */
- {{000,037,001,001,001,001,001,001,000}, 0x05da }, /* kaffinal */
- {{000,037,001,001,001,001,037,000,000}, 0x05db }, /* kaf */
- {{020,037,001,001,001,002,014,000,000}, 0x05dc }, /* lamed */
- {{000,037,021,021,021,021,037,000,000}, 0x05dd }, /* memfinal */
- {{000,026,011,021,021,021,027,000,000}, 0x05de }, /* mem */
- {{000,014,004,004,004,004,004,004,004}, 0x05df }, /* nunfinal */
- {{000,006,002,002,002,002,016,000,000}, 0x05e0 }, /* nun */
- {{000,037,011,021,021,021,016,000,000}, 0x05e1 }, /* samekh */
- {{000,011,011,011,011,012,034,000,000}, 0x05e2 }, /* ayin */
- {{000,037,011,015,001,001,001,001,000}, 0x05e3 }, /* pefinal */
- {{000,037,011,015,001,001,037,000,000}, 0x05e4 }, /* pe */
- {{000,031,012,014,010,010,010,010,000}, 0x05e5 }, /* tsadifinal */
- {{000,021,021,012,004,002,037,000,000}, 0x05e6 }, /* tsadi */
- {{000,037,001,011,011,012,010,010,000}, 0x05e7 }, /* qof */
- {{000,037,001,001,001,001,001,000,000}, 0x05e8 }, /* resh */
- {{000,025,025,025,031,021,036,000,000}, 0x05e9 }, /* shin */
- {{000,017,011,011,011,011,031,000,000}, 0x05ea }, /* tav */
+ {{000,021,011,025,022,021,021,000,000}, U(05D0) }, /* alef */
+ {{000,016,002,002,002,002,037,000,000}, U(05D1) }, /* bet */
+ {{000,003,001,001,003,005,011,000,000}, U(05D2) }, /* gimel */
+ {{000,037,002,002,002,002,002,000,000}, U(05D3) }, /* dalet */
+ {{000,037,001,001,021,021,021,000,000}, U(05D4) }, /* he */
+ {{000,014,004,004,004,004,004,000,000}, U(05D5) }, /* vav */
+ {{000,016,004,010,004,004,004,000,000}, U(05D6) }, /* zayin */
+ {{000,037,021,021,021,021,021,000,000}, U(05D7) }, /* het */
+ {{000,021,023,025,021,021,037,000,000}, U(05D8) }, /* tet */
+ {{000,014,004,000,000,000,000,000,000}, U(05D9) }, /* yod */
+ {{000,037,001,001,001,001,001,001,000}, U(05DA) }, /* kaffinal */
+ {{000,037,001,001,001,001,037,000,000}, U(05DB) }, /* kaf */
+ {{020,037,001,001,001,002,014,000,000}, U(05DC) }, /* lamed */
+ {{000,037,021,021,021,021,037,000,000}, U(05DD) }, /* memfinal */
+ {{000,026,011,021,021,021,027,000,000}, U(05DE) }, /* mem */
+ {{000,014,004,004,004,004,004,004,004}, U(05DF) }, /* nunfinal */
+ {{000,006,002,002,002,002,016,000,000}, U(05E0) }, /* nun */
+ {{000,037,011,021,021,021,016,000,000}, U(05E1) }, /* samekh */
+ {{000,011,011,011,011,012,034,000,000}, U(05E2) }, /* ayin */
+ {{000,037,011,015,001,001,001,001,000}, U(05E3) }, /* pefinal */
+ {{000,037,011,015,001,001,037,000,000}, U(05E4) }, /* pe */
+ {{000,031,012,014,010,010,010,010,000}, U(05E5) }, /* tsadifinal */
+ {{000,021,021,012,004,002,037,000,000}, U(05E6) }, /* tsadi */
+ {{000,037,001,011,011,012,010,010,000}, U(05E7) }, /* qof */
+ {{000,037,001,001,001,001,001,000,000}, U(05E8) }, /* resh */
+ {{000,025,025,025,031,021,036,000,000}, U(05E9) }, /* shin */
+ {{000,017,011,011,011,011,031,000,000}, U(05EA) }, /* tav */
  {{000,000,025,025,016,000,000,000,000}, -1, "oldsheqel" },
 
  /* Extra characters found in the Cyrillic (SAA5057) character set */
- {{000,000,021,021,035,025,035,000,000}, 0x044b }, /* yeru */
- {{022,025,025,035,025,025,022,000,000}, 0x042e }, /* Iu */
- {{016,021,021,021,037,021,021,000,000}, 0x0410 }, /* A */
- {{037,020,020,037,021,021,037,000,000}, 0x0411 }, /* Be */
- {{022,022,022,022,022,022,037,001,000}, 0x0426 }, /* Tse */
- {{006,012,012,012,012,012,037,021,000}, 0x0414 }, /* De */
- {{037,020,020,036,020,020,037,000,000}, 0x0415 }, /* Ie */
- {{004,037,025,025,025,037,004,000,000}, 0x0424 }, /* Ef */
- {{037,020,020,020,020,020,020,000,000}, 0x0413 }, /* Ghe */
- {{021,021,012,004,012,021,021,000,000}, 0x0425 }, /* Ha */
- {{021,021,023,025,031,021,021,000,000}, 0x0418 }, /* I */
- {{025,021,023,025,031,021,021,000,000}, 0x0419 }, /* Ishort */
- {{021,022,024,030,024,022,021,000,000}, 0x041a }, /* Ka */
- {{007,011,011,011,011,011,031,000,000}, 0x041b }, /* El */
- {{021,033,025,025,021,021,021,000,000}, 0x041c }, /* Em */
- {{021,021,021,037,021,021,021,000,000}, 0x041d }, /* En */
- {{016,021,021,021,021,021,016,000,000}, 0x041e }, /* O */
- {{037,021,021,021,021,021,021,000,000}, 0x041f }, /* Pe */
- {{017,021,021,017,005,011,021,000,000}, 0x042f }, /* Ya */
- {{036,021,021,036,020,020,020,000,000}, 0x0420 }, /* Er */
- {{016,021,020,020,020,021,016,000,000}, 0x0421 }, /* Es */
- {{037,004,004,004,004,004,004,000,000}, 0x0422 }, /* Te */
- {{021,021,021,037,001,001,037,000,000}, 0x0423 }, /* U */
- {{025,025,025,016,025,025,025,000,000}, 0x0416 }, /* Zhe */
- {{036,021,021,036,021,021,036,000,000}, 0x0412 }, /* Ve */
- {{020,020,020,037,021,021,037,000,000}, 0x042c }, /* Soft */
- {{030,010,010,017,011,011,017,000,000}, 0x042a }, /* Hard */
- {{016,021,001,006,001,021,016,000,000}, 0x0417 }, /* Ze */
- {{025,025,025,025,025,025,037,000,000}, 0x0428 }, /* Sha */
- {{014,022,001,007,001,022,014,000,000}, 0x042d }, /* E */
- {{025,025,025,025,025,025,037,001,000}, 0x0429 }, /* Shcha */
- {{021,021,021,037,001,001,001,000,000}, 0x0427 }, /* Che */
- {{021,021,021,035,025,025,035,000,000}, 0x042b }, /* Yeru */
- {{000,000,022,025,035,025,022,000,000}, 0x044e }, /* yu */
- {{000,000,016,001,017,021,017,000,000}, 0x0430 }, /* a */
- {{016,020,036,021,021,021,036,000,000}, 0x0431 }, /* be */
- {{000,000,022,022,022,022,037,001,000}, 0x0446 }, /* tse */
- {{000,000,006,012,012,012,037,021,000}, 0x0434 }, /* de */
- {{000,000,016,021,037,020,016,000,000}, 0x0435 }, /* ie */
- {{000,004,016,025,025,025,016,004,000}, 0x0444 }, /* ef */
- {{000,000,037,020,020,020,020,000,000}, 0x0433 }, /* ghe */
- {{000,000,021,012,004,012,021,000,000}, 0x0445 }, /* ha */
- {{000,000,021,023,025,031,021,000,000}, 0x0438 }, /* i */
- {{000,004,021,023,025,031,021,000,000}, 0x0439 }, /* ishort */
- {{000,000,021,022,034,022,021,000,000}, 0x043a }, /* ka */
- {{000,000,007,011,011,011,031,000,000}, 0x043b }, /* el */
- {{000,000,021,033,025,021,021,000,000}, 0x043c }, /* em */
- {{000,000,021,021,037,021,021,000,000}, 0x043d }, /* en */
- {{000,000,016,021,021,021,016,000,000}, 0x043e }, /* o */
- {{000,000,037,021,021,021,021,000,000}, 0x043f }, /* pe */
- {{000,000,017,021,017,005,031,000,000}, 0x044f }, /* ya */
- {{000,000,036,021,021,021,036,020,020}, 0x0440 }, /* er */
- {{000,000,016,021,020,021,016,000,000}, 0x0441 }, /* es */
- {{000,000,037,004,004,004,004,000,000}, 0x0442 }, /* te */
- {{000,000,021,021,021,021,017,001,016}, 0x0443 }, /* u */
- {{000,000,025,025,016,025,025,000,000}, 0x0436 }, /* zhe */
- {{000,000,036,021,036,021,036,000,000}, 0x0432 }, /* ve */
- {{000,000,020,020,036,021,036,000,000}, 0x044c }, /* soft */
- {{000,000,030,010,016,011,016,000,000}, 0x044a }, /* hard */
- {{000,000,016,021,006,021,016,000,000}, 0x0437 }, /* ze */
- {{000,000,025,025,025,025,037,000,000}, 0x0448 }, /* sha */
- {{000,000,014,022,006,022,014,000,000}, 0x044d }, /* e */
- {{000,000,025,025,025,025,037,001,000}, 0x0449 }, /* shcha */
- {{000,000,021,021,021,017,001,000,000}, 0x0447 }, /* che */
+ {{000,000,021,021,035,025,035,000,000}, U(044B) }, /* yeru */
+ {{022,025,025,035,025,025,022,000,000}, U(042E) }, /* Iu */
+ {{016,021,021,021,037,021,021,000,000}, U(0410) }, /* A */
+ {{037,020,020,037,021,021,037,000,000}, U(0411) }, /* Be */
+ {{022,022,022,022,022,022,037,001,000}, U(0426) }, /* Tse */
+ {{006,012,012,012,012,012,037,021,000}, U(0414) }, /* De */
+ {{037,020,020,036,020,020,037,000,000}, U(0415) }, /* Ie */
+ {{004,037,025,025,025,037,004,000,000}, U(0424) }, /* Ef */
+ {{037,020,020,020,020,020,020,000,000}, U(0413) }, /* Ghe */
+ {{021,021,012,004,012,021,021,000,000}, U(0425) }, /* Ha */
+ {{021,021,023,025,031,021,021,000,000}, U(0418) }, /* I */
+ {{025,021,023,025,031,021,021,000,000}, U(0419) }, /* Ishort */
+ {{021,022,024,030,024,022,021,000,000}, U(041A) }, /* Ka */
+ {{007,011,011,011,011,011,031,000,000}, U(041B) }, /* El */
+ {{021,033,025,025,021,021,021,000,000}, U(041C) }, /* Em */
+ {{021,021,021,037,021,021,021,000,000}, U(041D) }, /* En */
+ {{016,021,021,021,021,021,016,000,000}, U(041E) }, /* O */
+ {{037,021,021,021,021,021,021,000,000}, U(041F) }, /* Pe */
+ {{017,021,021,017,005,011,021,000,000}, U(042F) }, /* Ya */
+ {{036,021,021,036,020,020,020,000,000}, U(0420) }, /* Er */
+ {{016,021,020,020,020,021,016,000,000}, U(0421) }, /* Es */
+ {{037,004,004,004,004,004,004,000,000}, U(0422) }, /* Te */
+ {{021,021,021,037,001,001,037,000,000}, U(0423) }, /* U */
+ {{025,025,025,016,025,025,025,000,000}, U(0416) }, /* Zhe */
+ {{036,021,021,036,021,021,036,000,000}, U(0412) }, /* Ve */
+ {{020,020,020,037,021,021,037,000,000}, U(042C) }, /* Soft */
+ {{030,010,010,017,011,011,017,000,000}, U(042A) }, /* Hard */
+ {{016,021,001,006,001,021,016,000,000}, U(0417) }, /* Ze */
+ {{025,025,025,025,025,025,037,000,000}, U(0428) }, /* Sha */
+ {{014,022,001,007,001,022,014,000,000}, U(042D) }, /* E */
+ {{025,025,025,025,025,025,037,001,000}, U(0429) }, /* Shcha */
+ {{021,021,021,037,001,001,001,000,000}, U(0427) }, /* Che */
+ {{021,021,021,035,025,025,035,000,000}, U(042B) }, /* Yeru */
+ {{000,000,022,025,035,025,022,000,000}, U(044E) }, /* yu */
+ {{000,000,016,001,017,021,017,000,000}, U(0430) }, /* a */
+ {{016,020,036,021,021,021,036,000,000}, U(0431) }, /* be */
+ {{000,000,022,022,022,022,037,001,000}, U(0446) }, /* tse */
+ {{000,000,006,012,012,012,037,021,000}, U(0434) }, /* de */
+ {{000,000,016,021,037,020,016,000,000}, U(0435) }, /* ie */
+ {{000,004,016,025,025,025,016,004,000}, U(0444) }, /* ef */
+ {{000,000,037,020,020,020,020,000,000}, U(0433) }, /* ghe */
+ {{000,000,021,012,004,012,021,000,000}, U(0445) }, /* ha */
+ {{000,000,021,023,025,031,021,000,000}, U(0438) }, /* i */
+ {{000,004,021,023,025,031,021,000,000}, U(0439) }, /* ishort */
+ {{000,000,021,022,034,022,021,000,000}, U(043A) }, /* ka */
+ {{000,000,007,011,011,011,031,000,000}, U(043B) }, /* el */
+ {{000,000,021,033,025,021,021,000,000}, U(043C) }, /* em */
+ {{000,000,021,021,037,021,021,000,000}, U(043D) }, /* en */
+ {{000,000,016,021,021,021,016,000,000}, U(043E) }, /* o */
+ {{000,000,037,021,021,021,021,000,000}, U(043F) }, /* pe */
+ {{000,000,017,021,017,005,031,000,000}, U(044F) }, /* ya */
+ {{000,000,036,021,021,021,036,020,020}, U(0440) }, /* er */
+ {{000,000,016,021,020,021,016,000,000}, U(0441) }, /* es */
+ {{000,000,037,004,004,004,004,000,000}, U(0442) }, /* te */
+ {{000,000,021,021,021,021,017,001,016}, U(0443) }, /* u */
+ {{000,000,025,025,016,025,025,000,000}, U(0436) }, /* zhe */
+ {{000,000,036,021,036,021,036,000,000}, U(0432) }, /* ve */
+ {{000,000,020,020,036,021,036,000,000}, U(044C) }, /* soft */
+ {{000,000,030,010,016,011,016,000,000}, U(044A) }, /* hard */
+ {{000,000,016,021,006,021,016,000,000}, U(0437) }, /* ze */
+ {{000,000,025,025,025,025,037,000,000}, U(0448) }, /* sha */
+ {{000,000,014,022,006,022,014,000,000}, U(044D) }, /* e */
+ {{000,000,025,025,025,025,037,001,000}, U(0449) }, /* shcha */
+ {{000,000,021,021,021,017,001,000,000}, U(0447) }, /* che */
 
  /*
   * The other batch of glyphs were specially designed for this font.
@@ -494,7 +497,7 @@ static struct glyph {
  {{004,004,004,004,004,004,004,000,000}, 0x007c, "bar" },
 
  /* Latin-1 supplement */
- {{000,000,000,000,000,000,000,000,000}, 0x00a0 }, /* non-breaking space */
+ {{000,000,000,000,000,000,000,000,000}, U(00A0) }, /* non-breaking space */
  {{000,000,004,000,004,004,004,004,004}, 0x00a1, "exclamdown" },
  {{000,004,017,024,024,024,017,004,000}, 0x00a2, "cent" },
  {{021,012,037,004,037,004,004,000,000}, 0x00a5, "yen" },
@@ -627,8 +630,8 @@ static struct glyph {
  {{016,021,020,016,001,021,016,004,010}, 0x015e, "Scedilla" },
  {{000,000,017,020,016,001,036,004,010}, 0x015f, "scedilla" },
  {{012,004,017,020,016,001,036,000,000}, 0x0161, "scaron" },
- {{037,004,004,004,004,004,004,002,004}, 0x0162 }, /* Tcedilla */
- {{004,004,016,004,004,005,002,002,004}, 0x0163 }, /* tcedilla */
+ {{037,004,004,004,004,004,004,002,004}, U(0162) }, /* Tcedilla */
+ {{004,004,016,004,004,005,002,002,004}, U(0163) }, /* tcedilla */
  {{012,004,037,004,004,004,004,000,000}, 0x0164, "Tcaron" },
  {{011,011,034,010,010,010,004,000,000}, 0x0165, "tcaron" },
  {{016,000,021,021,021,021,016,000,000}, 0x016a, "Umacron" },
@@ -651,152 +654,152 @@ static struct glyph {
  {{002,004,004,004,004,004,004,000,000}, 0x017f, "longs" },
 
  /* Latin extended-B */
- {{003,002,017,020,020,020,017,000,000}, 0x0188 }, /* Hooktop C */
- {{016,021,001,037,021,021,016,000,000}, 0x018f }, /* Schwa */
+ {{003,002,017,020,020,020,017,000,000}, U(0188) }, /* Hooktop C */
+ {{016,021,001,037,021,021,016,000,000}, U(018F) }, /* Schwa */
  {{002,004,004,016,004,004,004,004,010}, 0x0192, "florin" },
- {{006,010,011,012,014,012,011,000,000}, 0x0199 }, /* Hooktop K */
- {{030,004,016,004,012,012,021,000,000}, 0x019b }, /* Barred lambda */
- {{000,000,036,021,021,021,021,001,001}, 0x019e }, /* N, right leg */
- {{014,020,036,021,021,021,036,020,020}, 0x01a5 }, /* Hooktop P */
- {{004,004,016,004,004,004,002,014,000}, 0x01ab }, /* Left-hook T */
- {{002,004,016,004,004,004,002,000,000}, 0x01ad }, /* Hooktop T */
- {{016,021,005,002,015,020,037,000,000}, 0x01bb }, /* Barred two */
- {{004,004,004,004,004,004,004,004,004}, 0x01c0 }, /* Pipe */
- {{012,012,012,012,012,012,012,012,012}, 0x01c1 }, /* Double pipe */
- {{004,004,004,037,004,037,004,004,004}, 0x01c2 }, /* Double-barred pipe */
- {{004,004,004,004,004,000,004,000,000}, 0x01c3 }, /* Exclamation point */
- {{016,000,017,024,026,034,027,000,000}, 0x01e2 }, /* AEmacron */
- {{016,000,012,005,017,024,016,000,000}, 0x01e3 }, /* aemacron */
- {{012,004,000,004,004,004,004,004,010}, 0x01f0 }, /* J wedge */
- {{016,000,021,012,004,004,004,000,000}, 0x0232 }, /* Ymacron */
- {{016,000,021,021,021,021,017,001,016}, 0x0233 }, /* ymacron */
- {{000,000,004,004,004,004,004,004,010}, 0x0237 }, /* dotlessj */
+ {{006,010,011,012,014,012,011,000,000}, U(0199) }, /* Hooktop K */
+ {{030,004,016,004,012,012,021,000,000}, U(019B) }, /* Barred lambda */
+ {{000,000,036,021,021,021,021,001,001}, U(019E) }, /* N, right leg */
+ {{014,020,036,021,021,021,036,020,020}, U(01A5) }, /* Hooktop P */
+ {{004,004,016,004,004,004,002,014,000}, U(01AB) }, /* Left-hook T */
+ {{002,004,016,004,004,004,002,000,000}, U(01AD) }, /* Hooktop T */
+ {{016,021,005,002,015,020,037,000,000}, U(01BB) }, /* Barred two */
+ {{004,004,004,004,004,004,004,004,004}, U(01C0) }, /* Pipe */
+ {{012,012,012,012,012,012,012,012,012}, U(01C1) }, /* Double pipe */
+ {{004,004,004,037,004,037,004,004,004}, U(01C2) }, /* Double-barred pipe */
+ {{004,004,004,004,004,000,004,000,000}, U(01C3) }, /* Exclamation point */
+ {{016,000,017,024,026,034,027,000,000}, U(01E2) }, /* AEmacron */
+ {{016,000,012,005,017,024,016,000,000}, U(01E3) }, /* aemacron */
+ {{012,004,000,004,004,004,004,004,010}, U(01F0) }, /* J wedge */
+ {{016,000,021,012,004,004,004,000,000}, U(0232) }, /* Ymacron */
+ {{016,000,021,021,021,021,017,001,016}, U(0233) }, /* ymacron */
+ {{000,000,004,004,004,004,004,004,010}, U(0237) }, /* dotlessj */
 
  /* IPA extensions */
- {{000,000,036,021,036,020,016,000,000}, 0x0250 }, /* Turned A */
- {{000,000,017,021,021,023,015,000,000}, 0x0251 }, /* Script A */
- {{000,000,026,031,021,021,036,000,000}, 0x0252 }, /* Turned script A */
- {{014,020,036,021,021,021,036,000,000}, 0x0253 }, /* Hooktop B */
- {{000,000,036,001,001,001,036,000,000}, 0x0254 }, /* Open O */
- {{000,000,017,020,022,025,016,004,000}, 0x0255 }, /* Curly-tail C */
- {{002,002,016,022,022,022,016,002,001}, 0x0256 }, /* Right-tail D */
- {{001,002,016,022,022,022,016,000,000}, 0x0257 }, /* Hooktop D */
- {{000,000,016,021,037,001,016,000,000}, 0x0258 }, /* Reversed E */
- {{000,000,016,001,037,021,016,000,000}, 0x0259 }, /* Schwa */
- {{000,000,030,004,035,026,010,000,000}, 0x025a }, /* Right-hook schwa */
- {{000,000,017,020,016,020,017,000,000}, 0x025b }, /* Epsilon */
- {{000,000,036,001,016,001,036,000,000}, 0x025c }, /* Reversed epsilon */
- {{000,000,030,004,031,006,030,000,000}, 0x025d }, /* Right-hook rev epsilon */
- {{000,000,016,021,026,021,016,000,000}, 0x025e }, /* Closed reversed epsilon */
- {{000,000,004,004,004,016,004,004,010}, 0x025f }, /* Barred dotless J */
- {{001,002,016,022,022,022,016,002,014}, 0x0260 }, /* Hooktop G */
- {{000,000,017,021,021,021,017,001,016}, 0x0261 }, /* Opentail G */
- {{000,000,017,020,023,021,017,000,000}, 0x0262 }, /* Small capital G */
- {{000,000,021,012,012,004,012,012,004}, 0x0263 }, /* Gamma */
- {{000,000,033,004,012,012,004,000,000}, 0x0264 }, /* Ram's horns */
- {{000,000,021,021,021,021,017,001,001}, 0x0265 }, /* Turned H */
- {{014,020,036,021,021,021,021,000,000}, 0x0266 }, /* Hooktop H */
- {{014,020,036,021,021,021,021,001,006}, 0x0267 }, /* Hooktop heng */
- {{004,000,014,004,016,004,016,000,000}, 0x0268 }, /* Barred I */
- {{000,000,014,004,004,004,002,000,000}, 0x0269 }, /* Iota */
- {{000,000,016,004,004,004,016,000,000}, 0x026a }, /* Small capital I */
- {{014,004,015,026,004,004,016,000,000}, 0x026b }, /* L with tilde */
- {{014,004,014,025,016,004,016,000,000}, 0x026c }, /* Belted L */
- {{014,004,004,004,004,004,004,004,002}, 0x026d }, /* Right-tail L */
- {{030,010,017,011,012,011,035,001,006}, 0x026e }, /* L-Ezh ligature */
- {{000,000,025,025,025,025,013,000,000}, 0x026f }, /* Turned M */
- {{000,000,025,025,025,025,013,001,001}, 0x0270 }, /* Turned M, right tail */
- {{000,000,032,025,025,025,025,001,002}, 0x0271 }, /* Left-tail M (at right) */
- {{000,000,016,011,011,011,011,010,020}, 0x0272 }, /* Left-tail N (at left) */
- {{000,000,034,022,022,022,022,002,001}, 0x0273 }, /* Right-tail N */
- {{000,000,021,031,025,023,021,000,000}, 0x0274 }, /* Small capital N */
- {{000,000,016,021,037,021,016,000,000}, 0x0275 }, /* Barred O */
- {{000,000,017,024,027,024,017,000,000}, 0x0276 }, /* Small capital O-E ligature */
- {{000,000,016,021,025,025,012,000,000}, 0x0277 }, /* Closed omega */
- {{004,004,016,025,025,025,016,004,004}, 0x0278 }, /* Phi */
- {{000,000,002,002,002,006,032,000,000}, 0x0279 }, /* Turned R */
- {{002,002,002,002,002,006,032,000,000}, 0x027a }, /* Turned long-leg R */
- {{000,000,002,002,002,006,032,002,001}, 0x027b }, /* Turned R, rigfht tail */
- {{000,000,013,014,010,010,010,010,010}, 0x027c }, /* Long-leg R */
- {{000,000,013,014,010,010,010,010,004}, 0x027d }, /* Right-tail R */
- {{000,000,006,011,010,010,010,000,000}, 0x027e }, /* Fish-hook R */
- {{000,000,036,021,036,022,021,000,000}, 0x0280 }, /* Small capital R */
- {{000,000,021,022,036,021,036,000,000}, 0x0281 }, /* Inverted small capital R */
- {{000,000,017,020,016,001,036,020,010}, 0x0282 }, /* Right-tail S (at left) */
- {{002,004,004,004,004,004,004,004,010}, 0x0283 }, /* Esh */
- {{002,004,004,004,004,016,004,004,010}, 0x0284 }, /* Hooktop barred dotless J */
- {{002,004,004,004,004,016,024,024,010}, 0x0286 }, /* Curly-tail esh */
- {{000,000,010,004,004,004,016,004,004}, 0x0287 }, /* Turned T */
- {{004,004,016,004,004,004,004,004,002}, 0x0288 }, /* Right-tail T */
- {{000,000,012,037,012,012,006,000,000}, 0x0289 }, /* Barred U */
- {{000,000,033,012,021,021,016,000,000}, 0x028a }, /* Upsilon */
- {{000,000,032,011,011,012,014,000,000}, 0x028b }, /* Cursive V */
- {{000,000,004,012,012,021,021,000,000}, 0x028c }, /* Turned V */
- {{000,000,012,025,025,021,021,000,000}, 0x028d }, /* Turned W */
- {{016,020,034,022,021,021,021,000,000}, 0x028e }, /* Turned Y */
- {{000,000,021,012,004,004,004,000,000}, 0x028f }, /* Small capital Y */
- {{000,000,036,004,010,020,036,002,001}, 0x0290 }, /* Right-tail Z */
- {{000,000,037,002,004,010,036,005,002}, 0x0291 }, /* Curly-tail Z */
- {{000,000,037,002,004,016,001,021,016}, 0x0292 }, /* Ezh; Tailed Z */
- {{000,000,037,002,004,002,011,025,016}, 0x0293 }, /* Curly-tail ezh */
- {{016,021,020,020,020,020,020,021,016}, 0x0297 }, /* Stretched C */
- {{000,000,036,021,036,021,036,000,000}, 0x0299 }, /* Small capital B */
- {{016,021,002,004,004,004,004,000,000}, 0x0294 }, /* Glottal stop */
- {{016,021,010,004,004,004,004,000,000}, 0x0295 }, /* Reversed glottal stop */
- {{004,004,004,004,002,021,016,000,000}, 0x0296 }, /* Inverted glottal stop */
- {{016,021,021,025,021,021,016,000,000}, 0x0298 }, /* Bull's eye */
- {{000,000,016,021,015,021,016,000,000}, 0x029a }, /* Closed epsilon */
- {{001,002,016,020,026,022,016,000,000}, 0x029b }, /* Hooktop small capital G */
- {{000,000,021,021,037,021,021,000,000}, 0x029c }, /* Small capital H */
- {{004,000,004,004,004,016,024,024,010}, 0x029d }, /* Curly-tail J */
- {{000,000,022,012,006,012,022,002,002}, 0x029e }, /* Turned K */
- {{000,000,020,020,020,020,037,000,000}, 0x029f }, /* Small capital L */
- {{006,001,017,021,021,021,017,001,001}, 0x02a0 }, /* Hooktop Q */
- {{016,021,002,004,037,004,004,000,000}, 0x02a1 }, /* Barred glottal stop */
- {{016,021,010,004,037,004,004,000,000}, 0x02a2 }, /* Barred reversed glottal stop */
- {{004,004,017,025,026,026,017,000,000}, 0x02a3 }, /* dz ligature */
- {{004,004,017,025,026,025,015,001,006}, 0x02a4 }, /* dezh ligature */
- {{004,004,017,025,026,026,017,005,002}, 0x02a5 }, /* dz-curl ligature */
- {{020,020,037,024,022,021,016,000,000}, 0x02a6 }, /* ts ligature */
- {{011,012,036,012,012,012,006,002,004}, 0x02a7 }, /* tesh ligature */
- {{020,030,023,024,024,024,016,005,002}, 0x02a8 }, /* tc-curl ligature */
- {{010,020,020,036,025,025,025,001,006}, 0x02a9 }, /* feng ligature */
- {{030,010,013,014,012,011,036,000,000}, 0x02aa }, /* ls ligature */
- {{030,010,017,011,012,014,037,000,000}, 0x02ab }, /* lz ligature */
- {{000,000,025,012,000,025,012,000,000}, 0x02ac }, /* bilabial percussive */
- {{000,000,016,012,000,016,012,000,000}, 0x02ad }, /* bidental percussive */
+ {{000,000,036,021,036,020,016,000,000}, U(0250) }, /* Turned A */
+ {{000,000,017,021,021,023,015,000,000}, U(0251) }, /* Script A */
+ {{000,000,026,031,021,021,036,000,000}, U(0252) }, /* Turned script A */
+ {{014,020,036,021,021,021,036,000,000}, U(0253) }, /* Hooktop B */
+ {{000,000,036,001,001,001,036,000,000}, U(0254) }, /* Open O */
+ {{000,000,017,020,022,025,016,004,000}, U(0255) }, /* Curly-tail C */
+ {{002,002,016,022,022,022,016,002,001}, U(0256) }, /* Right-tail D */
+ {{001,002,016,022,022,022,016,000,000}, U(0257) }, /* Hooktop D */
+ {{000,000,016,021,037,001,016,000,000}, U(0258) }, /* Reversed E */
+ {{000,000,016,001,037,021,016,000,000}, U(0259) }, /* Schwa */
+ {{000,000,030,004,035,026,010,000,000}, U(025A) }, /* Right-hook schwa */
+ {{000,000,017,020,016,020,017,000,000}, U(025B) }, /* Epsilon */
+ {{000,000,036,001,016,001,036,000,000}, U(025C) }, /* Reversed epsilon */
+ {{000,000,030,004,031,006,030,000,000}, U(025D) }, /* Right-hook rev epsilon */
+ {{000,000,016,021,026,021,016,000,000}, U(025E) }, /* Closed reversed epsilon */
+ {{000,000,004,004,004,016,004,004,010}, U(025F) }, /* Barred dotless J */
+ {{001,002,016,022,022,022,016,002,014}, U(0260) }, /* Hooktop G */
+ {{000,000,017,021,021,021,017,001,016}, U(0261) }, /* Opentail G */
+ {{000,000,017,020,023,021,017,000,000}, U(0262) }, /* Small capital G */
+ {{000,000,021,012,012,004,012,012,004}, U(0263) }, /* Gamma */
+ {{000,000,033,004,012,012,004,000,000}, U(0264) }, /* Ram's horns */
+ {{000,000,021,021,021,021,017,001,001}, U(0265) }, /* Turned H */
+ {{014,020,036,021,021,021,021,000,000}, U(0266) }, /* Hooktop H */
+ {{014,020,036,021,021,021,021,001,006}, U(0267) }, /* Hooktop heng */
+ {{004,000,014,004,016,004,016,000,000}, U(0268) }, /* Barred I */
+ {{000,000,014,004,004,004,002,000,000}, U(0269) }, /* Iota */
+ {{000,000,016,004,004,004,016,000,000}, U(026A) }, /* Small capital I */
+ {{014,004,015,026,004,004,016,000,000}, U(026B) }, /* L with tilde */
+ {{014,004,014,025,016,004,016,000,000}, U(026C) }, /* Belted L */
+ {{014,004,004,004,004,004,004,004,002}, U(026D) }, /* Right-tail L */
+ {{030,010,017,011,012,011,035,001,006}, U(026E) }, /* L-Ezh ligature */
+ {{000,000,025,025,025,025,013,000,000}, U(026F) }, /* Turned M */
+ {{000,000,025,025,025,025,013,001,001}, U(0270) }, /* Turned M, right tail */
+ {{000,000,032,025,025,025,025,001,002}, U(0271) }, /* Left-tail M (at right) */
+ {{000,000,016,011,011,011,011,010,020}, U(0272) }, /* Left-tail N (at left) */
+ {{000,000,034,022,022,022,022,002,001}, U(0273) }, /* Right-tail N */
+ {{000,000,021,031,025,023,021,000,000}, U(0274) }, /* Small capital N */
+ {{000,000,016,021,037,021,016,000,000}, U(0275) }, /* Barred O */
+ {{000,000,017,024,027,024,017,000,000}, U(0276) }, /* Small capital O-E ligature */
+ {{000,000,016,021,025,025,012,000,000}, U(0277) }, /* Closed omega */
+ {{004,004,016,025,025,025,016,004,004}, U(0278) }, /* Phi */
+ {{000,000,002,002,002,006,032,000,000}, U(0279) }, /* Turned R */
+ {{002,002,002,002,002,006,032,000,000}, U(027A) }, /* Turned long-leg R */
+ {{000,000,002,002,002,006,032,002,001}, U(027B) }, /* Turned R, rigfht tail */
+ {{000,000,013,014,010,010,010,010,010}, U(027C) }, /* Long-leg R */
+ {{000,000,013,014,010,010,010,010,004}, U(027D) }, /* Right-tail R */
+ {{000,000,006,011,010,010,010,000,000}, U(027E) }, /* Fish-hook R */
+ {{000,000,036,021,036,022,021,000,000}, U(0280) }, /* Small capital R */
+ {{000,000,021,022,036,021,036,000,000}, U(0281) }, /* Inverted small capital R */
+ {{000,000,017,020,016,001,036,020,010}, U(0282) }, /* Right-tail S (at left) */
+ {{002,004,004,004,004,004,004,004,010}, U(0283) }, /* Esh */
+ {{002,004,004,004,004,016,004,004,010}, U(0284) }, /* Hooktop barred dotless J */
+ {{002,004,004,004,004,016,024,024,010}, U(0286) }, /* Curly-tail esh */
+ {{000,000,010,004,004,004,016,004,004}, U(0287) }, /* Turned T */
+ {{004,004,016,004,004,004,004,004,002}, U(0288) }, /* Right-tail T */
+ {{000,000,012,037,012,012,006,000,000}, U(0289) }, /* Barred U */
+ {{000,000,033,012,021,021,016,000,000}, U(028A) }, /* Upsilon */
+ {{000,000,032,011,011,012,014,000,000}, U(028B) }, /* Cursive V */
+ {{000,000,004,012,012,021,021,000,000}, U(028C) }, /* Turned V */
+ {{000,000,012,025,025,021,021,000,000}, U(028D) }, /* Turned W */
+ {{016,020,034,022,021,021,021,000,000}, U(028E) }, /* Turned Y */
+ {{000,000,021,012,004,004,004,000,000}, U(028F) }, /* Small capital Y */
+ {{000,000,036,004,010,020,036,002,001}, U(0290) }, /* Right-tail Z */
+ {{000,000,037,002,004,010,036,005,002}, U(0291) }, /* Curly-tail Z */
+ {{000,000,037,002,004,016,001,021,016}, U(0292) }, /* Ezh; Tailed Z */
+ {{000,000,037,002,004,002,011,025,016}, U(0293) }, /* Curly-tail ezh */
+ {{016,021,020,020,020,020,020,021,016}, U(0297) }, /* Stretched C */
+ {{000,000,036,021,036,021,036,000,000}, U(0299) }, /* Small capital B */
+ {{016,021,002,004,004,004,004,000,000}, U(0294) }, /* Glottal stop */
+ {{016,021,010,004,004,004,004,000,000}, U(0295) }, /* Reversed glottal stop */
+ {{004,004,004,004,002,021,016,000,000}, U(0296) }, /* Inverted glottal stop */
+ {{016,021,021,025,021,021,016,000,000}, U(0298) }, /* Bull's eye */
+ {{000,000,016,021,015,021,016,000,000}, U(029A) }, /* Closed epsilon */
+ {{001,002,016,020,026,022,016,000,000}, U(029B) }, /* Hooktop small capital G */
+ {{000,000,021,021,037,021,021,000,000}, U(029C) }, /* Small capital H */
+ {{004,000,004,004,004,016,024,024,010}, U(029D) }, /* Curly-tail J */
+ {{000,000,022,012,006,012,022,002,002}, U(029E) }, /* Turned K */
+ {{000,000,020,020,020,020,037,000,000}, U(029F) }, /* Small capital L */
+ {{006,001,017,021,021,021,017,001,001}, U(02A0) }, /* Hooktop Q */
+ {{016,021,002,004,037,004,004,000,000}, U(02A1) }, /* Barred glottal stop */
+ {{016,021,010,004,037,004,004,000,000}, U(02A2) }, /* Barred reversed glottal stop */
+ {{004,004,017,025,026,026,017,000,000}, U(02A3) }, /* dz ligature */
+ {{004,004,017,025,026,025,015,001,006}, U(02A4) }, /* dezh ligature */
+ {{004,004,017,025,026,026,017,005,002}, U(02A5) }, /* dz-curl ligature */
+ {{020,020,037,024,022,021,016,000,000}, U(02A6) }, /* ts ligature */
+ {{011,012,036,012,012,012,006,002,004}, U(02A7) }, /* tesh ligature */
+ {{020,030,023,024,024,024,016,005,002}, U(02A8) }, /* tc-curl ligature */
+ {{010,020,020,036,025,025,025,001,006}, U(02A9) }, /* feng ligature */
+ {{030,010,013,014,012,011,036,000,000}, U(02AA) }, /* ls ligature */
+ {{030,010,017,011,012,014,037,000,000}, U(02AB) }, /* lz ligature */
+ {{000,000,025,012,000,025,012,000,000}, U(02AC) }, /* bilabial percussive */
+ {{000,000,016,012,000,016,012,000,000}, U(02AD) }, /* bidental percussive */
 
  /* Spacing modifier letters */
- {{020,020,030,024,024,000,000,000,000}, 0x02b0 }, /* Superscript H */
- {{010,000,010,010,010,020,000,000,000}, 0x02b2 }, /* Superscript J */
- {{010,010,020,020,000,000,000,000,000}, 0x02b9 }, /* modifier letter prime */
- {{011,011,022,022,000,000,000,000,000}, 0x02ba }, /* modifier double prime */
- {{004,004,010,000,000,000,000,000,000}, 0x02bc }, /* Modifier apostrophe */
+ {{020,020,030,024,024,000,000,000,000}, U(02B0) }, /* Superscript H */
+ {{010,000,010,010,010,020,000,000,000}, U(02B2) }, /* Superscript J */
+ {{010,010,020,020,000,000,000,000,000}, U(02B9) }, /* modifier letter prime */
+ {{011,011,022,022,000,000,000,000,000}, U(02BA) }, /* modifier double prime */
+ {{004,004,010,000,000,000,000,000,000}, U(02BC) }, /* Modifier apostrophe */
  {{004,012,000,000,000,000,000,000,000}, 0x02c6, "circumflex" },
  {{012,004,000,000,000,000,000,000,000}, 0x02c7, "caron" },
- {{004,004,004,000,000,000,000,000,000}, 0x02c8 }, /* Vertical stroke (superior) */
- {{000,000,000,000,000,000,004,004,004}, 0x02cc }, /* Vertical stroke (inferior) */
- {{000,000,012,004,000,004,012,000,000}, 0x02d0 }, /* Length mark */
- {{000,000,012,004,000,000,000,000,000}, 0x02d1 }, /* Half-length mark */
+ {{004,004,004,000,000,000,000,000,000}, U(02C8) }, /* Vertical stroke (superior) */
+ {{000,000,000,000,000,000,004,004,004}, U(02CC) }, /* Vertical stroke (inferior) */
+ {{000,000,012,004,000,004,012,000,000}, U(02D0) }, /* Length mark */
+ {{000,000,012,004,000,000,000,000,000}, U(02D1) }, /* Half-length mark */
  {{021,016,000,000,000,000,000,000,000}, 0x02d8, "breve" },
  {{004,000,000,000,000,000,000,000,000}, 0x02d9, "dotaccent" },
  {{004,012,004,000,000,000,000,000,000}, 0x02da, "ring" },
  {{000,000,000,000,000,000,004,010,004}, 0x02db, "ogonek" },
  {{005,012,000,000,000,000,000,000,000}, 0x02dc, "tilde" },
  {{011,022,000,000,000,000,000,000,000}, 0x02dd, "hungarumlaut" },
- {{024,010,024,024,010,000,000,000,000}, 0x02e0 }, /* Superscript gamma */
- {{030,010,010,010,034,000,000,000,000}, 0x02e1 }, /* Superscript L */
- {{000,000,014,010,030,000,000,000,000}, 0x02e2 }, /* Superscript S */
- {{000,000,024,010,024,000,000,000,000}, 0x02e3 }, /* Superscript X */
- {{010,024,020,010,010,000,000,000,000}, 0x02e4 }, /* Superscript reversed glottal stop */
- {{037,001,001,001,001,001,001,000,000}, 0x02e5 }, /* Extra-high tone letter */
- {{001,037,001,001,001,001,001,000,000}, 0x02e6 }, /* High tone letter */
- {{001,001,001,037,001,001,001,000,000}, 0x02e7 }, /* Mid tone letter */
- {{001,001,001,001,001,037,001,000,000}, 0x02e8 }, /* Low tone letter */
- {{001,001,001,001,001,001,037,000,000}, 0x02e9 }, /* Extra-low tone letter */
+ {{024,010,024,024,010,000,000,000,000}, U(02E0) }, /* Superscript gamma */
+ {{030,010,010,010,034,000,000,000,000}, U(02E1) }, /* Superscript L */
+ {{000,000,014,010,030,000,000,000,000}, U(02E2) }, /* Superscript S */
+ {{000,000,024,010,024,000,000,000,000}, U(02E3) }, /* Superscript X */
+ {{010,024,020,010,010,000,000,000,000}, U(02E4) }, /* Superscript reversed glottal stop */
+ {{037,001,001,001,001,001,001,000,000}, U(02E5) }, /* Extra-high tone letter */
+ {{001,037,001,001,001,001,001,000,000}, U(02E6) }, /* High tone letter */
+ {{001,001,001,037,001,001,001,000,000}, U(02E7) }, /* Mid tone letter */
+ {{001,001,001,001,001,037,001,000,000}, U(02E8) }, /* Low tone letter */
+ {{001,001,001,001,001,001,037,000,000}, U(02E9) }, /* Extra-low tone letter */
 
  /* Greek and Coptic */
- {{001,001,001,001,001,021,016,000,000}, 0x037f, }, /* Yot */
+ {{001,001,001,001,001,021,016,000,000}, U(037F), }, /* Yot */
  {{004,000,000,000,000,000,000,000,000}, 0x0384, "tonos" },
  {{004,025,000,000,000,000,000,000,000}, 0x0385, "dieresistonos" },
  {{022,025,005,005,007,005,005,000,000}, 0x0386, "Alphatonos" },
@@ -810,7 +813,7 @@ static struct glyph {
  {{004,012,021,021,037,021,021,000,000}, 0x0391, "Alpha" },
  {{036,021,021,036,021,021,036,000,000}, 0x0392, "Beta" },
  {{037,020,020,020,020,020,020,000,000}, 0x0393, "Gamma" },
- {{004,004,012,012,021,021,037,000,000}, 0x0394 }, /* Delta */
+ {{004,004,012,012,021,021,037,000,000}, U(0394) }, /* Delta */
  {{037,020,020,036,020,020,037,000,000}, 0x0395, "Epsilon" },
  {{037,001,002,004,010,020,037,000,000}, 0x0396, "Zeta" },
  {{021,021,021,037,021,021,021,000,000}, 0x0397, "Eta" },
@@ -830,7 +833,7 @@ static struct glyph {
  {{004,016,025,025,025,016,004,000,000}, 0x03a6, "Phi" },
  {{021,021,012,004,012,021,021,000,000}, 0x03a7, "Chi" },
  {{025,025,025,025,025,016,004,000,000}, 0x03a8, "Psi" },
- {{016,021,021,021,021,012,033,000,000}, 0x03a9 }, /* Omega */
+ {{016,021,021,021,021,012,033,000,000}, U(03A9) }, /* Omega */
  {{012,000,016,004,004,004,016,000,000}, 0x03aa, "Iotadieresis" },
  {{012,000,021,012,004,004,004,000,000}, 0x03ab, "Upsilondieresis" },
  {{004,000,015,022,022,022,015,000,000}, 0x03ac, "alphatonos" },
@@ -849,7 +852,7 @@ static struct glyph {
  {{000,000,014,004,004,004,002,000,000}, 0x03b9, "iota" },
  {{000,000,011,012,014,012,011,000,000}, 0x03ba, "kappa" },
  {{030,004,004,012,012,021,021,000,000}, 0x03bb, "lambda" },
- {{000,000,022,022,022,022,035,020,020}, 0x03bc }, /* mu */
+ {{000,000,022,022,022,022,035,020,020}, U(03BC) }, /* mu */
  {{000,000,021,021,011,012,004,000,000}, 0x03bd, "nu" },
  {{016,020,020,016,020,020,016,001,002}, 0x03be, "xi" },
  {{000,000,016,021,021,021,016,000,000}, 0x03bf, "omicron" },
@@ -869,199 +872,199 @@ static struct glyph {
  {{004,000,022,021,021,021,016,000,000}, 0x03cd, "upsilontonos" },
  {{004,000,012,021,025,025,012,000,000}, 0x03ce, "omegatonos" },
  {{004,004,016,025,025,025,016,004,004}, 0x03d5, "phi1" },
- {{004,000,004,004,004,004,004,004,010}, 0x03f3 }, /* yot */
+ {{004,000,004,004,004,004,004,004,010}, U(03F3) }, /* yot */
 
  /* Cyrillic */
- {{010,004,037,020,036,020,037,000,000}, 0x0400 }, /* Ie grave */
- {{012,000,037,020,036,020,037,000,000}, 0x0401 }, /* Yo */
- {{036,010,010,016,011,011,011,001,002}, 0x0402 }, /* Dje */
- {{006,011,020,034,020,011,006,000,000}, 0x0404 }, /* Ye Ukrainian */
- {{016,021,020,016,001,021,016,000,000}, 0x0405 }, /* Dze */
- {{016,004,004,004,004,004,016,000,000}, 0x0406 }, /* dotted I */
- {{012,000,016,004,004,004,016,000,000}, 0x0407 }, /* Yi */
- {{001,001,001,001,001,021,016,000,000}, 0x0408 }, /* Je */
- {{014,024,024,027,025,025,027,000,000}, 0x0409 }, /* Lje */
- {{024,024,024,037,025,025,027,000,000}, 0x040a }, /* Nje */
- {{036,010,010,016,011,011,011,000,000}, 0x040b }, /* Tshe */
- {{025,021,021,037,001,001,037,000,000}, 0x040e }, /* short U */
- {{021,021,021,021,021,021,037,004,000}, 0x040f }, /* Dzhe */
- {{010,004,016,021,037,020,016,000,000}, 0x0450 }, /* ie grave */
- {{012,000,016,021,037,020,016,000,000}, 0x0451 }, /* yo */
- {{010,036,010,016,011,011,011,001,002}, 0x0452 }, /* dje */
- {{000,000,014,022,030,022,014,000,000}, 0x0454 }, /* ye Ukrainian */
- {{000,000,017,020,016,001,036,000,000}, 0x0455 }, /* dze */
- {{004,000,014,004,004,004,016,000,000}, 0x0456 }, /* dotted i */
- {{012,000,014,004,004,004,016,000,000}, 0x0457 }, /* yi */
- {{004,000,004,004,004,004,004,004,010}, 0x0458 }, /* je */
- {{000,000,014,024,026,025,026,000,000}, 0x0459 }, /* lje */
- {{000,000,024,024,036,025,026,000,000}, 0x045a }, /* nje */
- {{010,036,010,016,011,011,011,000,000}, 0x045b }, /* tshe */
- {{000,004,021,021,021,021,017,001,016}, 0x045e }, /* short u */
- {{000,000,021,021,021,021,037,004,000}, 0x045f }, /* dzhe */
- {{001,037,020,020,020,020,020,000,000}, 0x0490 }, /* Ghe with upturn */
- {{000,001,037,020,020,020,020,000,000}, 0x0491 }, /* ghe with upturn */
+ {{010,004,037,020,036,020,037,000,000}, U(0400) }, /* Ie grave */
+ {{012,000,037,020,036,020,037,000,000}, U(0401) }, /* Yo */
+ {{036,010,010,016,011,011,011,001,002}, U(0402) }, /* Dje */
+ {{006,011,020,034,020,011,006,000,000}, U(0404) }, /* Ye Ukrainian */
+ {{016,021,020,016,001,021,016,000,000}, U(0405) }, /* Dze */
+ {{016,004,004,004,004,004,016,000,000}, U(0406) }, /* dotted I */
+ {{012,000,016,004,004,004,016,000,000}, U(0407) }, /* Yi */
+ {{001,001,001,001,001,021,016,000,000}, U(0408) }, /* Je */
+ {{014,024,024,027,025,025,027,000,000}, U(0409) }, /* Lje */
+ {{024,024,024,037,025,025,027,000,000}, U(040A) }, /* Nje */
+ {{036,010,010,016,011,011,011,000,000}, U(040B) }, /* Tshe */
+ {{025,021,021,037,001,001,037,000,000}, U(040E) }, /* short U */
+ {{021,021,021,021,021,021,037,004,000}, U(040F) }, /* Dzhe */
+ {{010,004,016,021,037,020,016,000,000}, U(0450) }, /* ie grave */
+ {{012,000,016,021,037,020,016,000,000}, U(0451) }, /* yo */
+ {{010,036,010,016,011,011,011,001,002}, U(0452) }, /* dje */
+ {{000,000,014,022,030,022,014,000,000}, U(0454) }, /* ye Ukrainian */
+ {{000,000,017,020,016,001,036,000,000}, U(0455) }, /* dze */
+ {{004,000,014,004,004,004,016,000,000}, U(0456) }, /* dotted i */
+ {{012,000,014,004,004,004,016,000,000}, U(0457) }, /* yi */
+ {{004,000,004,004,004,004,004,004,010}, U(0458) }, /* je */
+ {{000,000,014,024,026,025,026,000,000}, U(0459) }, /* lje */
+ {{000,000,024,024,036,025,026,000,000}, U(045A) }, /* nje */
+ {{010,036,010,016,011,011,011,000,000}, U(045B) }, /* tshe */
+ {{000,004,021,021,021,021,017,001,016}, U(045E) }, /* short u */
+ {{000,000,021,021,021,021,037,004,000}, U(045F) }, /* dzhe */
+ {{001,037,020,020,020,020,020,000,000}, U(0490) }, /* Ghe with upturn */
+ {{000,001,037,020,020,020,020,000,000}, U(0491) }, /* ghe with upturn */
  
 #ifdef ARMENIAN
  /* Armenian */
- {{021,021,021,021,025,022,015,000,000}, 0x0531 }, /* Ayb */
- {{016,021,021,020,037,020,020,000,000}, 0x0532 }, /* Ben */
- {{014,022,022,022,017,002,002,000,000}, 0x0533 }, /* Gim */
- {{014,022,022,002,003,002,002,000,000}, 0x0534 }, /* Da */
- {{020,020,037,020,021,021,016,000,000}, 0x0535 }, /* Ech */
- {{016,021,021,001,001,022,037,000,000}, 0x0536 }, /* Za */
- {{020,020,020,037,020,020,036,000,000}, 0x0537 }, /* Eh */
- {{016,021,021,020,020,020,037,000,000}, 0x0538 }, /* Et */
- {{016,021,021,023,025,025,022,000,000}, 0x0539 }, /* To */
- {{002,002,017,022,022,022,014,000,000}, 0x053a }, /* Zhe */
- {{020,020,036,021,021,021,020,000,000}, 0x053b }, /* Ini */
- {{020,020,020,020,020,020,037,000,000}, 0x053c }, /* Liwn */
- {{020,020,035,025,025,025,022,000,000}, 0x053d }, /* Xeh */
- {{037,016,021,021,021,021,016,000,000}, 0x053e }, /* Ca */
- {{020,021,021,017,001,001,001,000,000}, 0x053f }, /* Ken */
- {{002,001,003,014,020,014,003,000,000}, 0x0540 }, /* Ho */
- {{016,021,021,001,015,022,015,000,000}, 0x0541 }, /* Ja */
- {{014,022,022,002,002,002,003,000,000}, 0x0542 }, /* Ghad */
- {{001,032,004,012,012,021,037,000,000}, 0x0543 }, /* Cheh */
- {{023,022,022,022,022,022,014,000,000}, 0x0544 }, /* Men */
- {{016,021,001,036,001,021,016,000,000}, 0x0545 }, /* Yi */
- {{030,010,010,010,011,011,006,000,000}, 0x0546 }, /* Now */
- {{030,007,010,020,021,021,016,000,000}, 0x0547 }, /* Sha */
- {{016,021,021,021,021,021,021,000,000}, 0x0548 }, /* Vo */
- {{016,021,021,001,002,034,003,000,000}, 0x0549 }, /* Cha */
- {{016,025,025,005,005,001,001,000,000}, 0x054a }, /* Peh */
- {{016,021,021,031,005,026,037,000,000}, 0x054b }, /* Jheh */
- {{014,022,022,023,022,022,022,000,000}, 0x054c }, /* Ra */
- {{021,021,021,021,021,021,016,000,000}, 0x054d }, /* Seh */
- {{002,022,022,022,016,002,003,000,000}, 0x054e }, /* Vew */
- {{016,021,020,016,001,021,016,000,000}, 0x054f }, /* Tiwn */
- {{016,021,021,020,020,020,020,000,000}, 0x0550 }, /* Reh */
- {{016,021,016,021,001,021,016,000,000}, 0x0551 }, /* Co */
- {{020,020,037,020,020,020,020,000,000}, 0x0552 }, /* Yiwn */
- {{004,016,025,025,025,016,004,000,000}, 0x0553 }, /* Piwr */
- {{006,011,011,016,010,037,010,000,000}, 0x0554 }, /* Keh */
- {{016,021,021,021,021,021,016,000,000}, 0x0555 }, /* Oh */
- {{014,024,016,005,025,025,016,000,000}, 0x0556 }, /* Feh */
- {{000,000,025,025,025,025,013,000,000}, 0x0561 }, /* ayb */
- {{000,000,036,021,021,020,037,020,020}, 0x0562 }, /* ben */
- {{000,000,016,022,022,022,017,002,002}, 0x0563 }, /* gim */
- {{000,000,034,022,022,022,023,002,002}, 0x0564 }, /* da */
- {{020,020,037,020,021,021,017,000,000}, 0x0565 }, /* ech */
- {{000,000,016,022,022,022,016,002,003}, 0x0566 }, /* za */
- {{020,020,037,020,020,020,036,000,000}, 0x0567 }, /* eh */
- {{000,000,036,021,021,021,021,020,037}, 0x0568 }, /* et */
- {{000,000,036,021,027,031,026,020,020}, 0x0569 }, /* to */
- {{002,002,017,022,022,022,014,000,000}, 0x056a }, /* zhe */
- {{020,020,036,021,021,021,021,020,020}, 0x056b }, /* ini */
- {{000,000,010,010,010,010,010,010,016}, 0x056c }, /* liwn */
- {{020,020,035,025,025,025,023,020,020}, 0x056d }, /* xeh */
- {{004,002,017,022,022,022,014,000,000}, 0x056e }, /* ca */
- {{020,020,021,021,021,021,017,001,001}, 0x056f }, /* ken */
- {{020,020,036,021,021,021,021,000,000}, 0x0570 }, /* ho */
- {{004,002,004,012,021,023,015,000,000}, 0x0571 }, /* ja */
- {{000,000,034,022,022,022,022,002,003}, 0x0572 }, /* ghad */
- {{007,010,036,011,011,011,007,000,000}, 0x0573 }, /* cheh */
- {{003,002,022,022,022,022,016,000,000}, 0x0574 }, /* men */
- {{000,000,004,004,004,004,004,004,010}, 0x0575 }, /* yi */
- {{030,010,011,011,011,011,007,000,000}, 0x0576 }, /* now */
- {{000,000,016,021,001,002,014,020,037}, 0x0577 }, /* sha */
- {{000,000,036,021,021,021,021,000,000}, 0x0578 }, /* vo */
- {{000,000,004,010,004,002,014,020,037}, 0x0579 }, /* cha */
- {{000,000,025,025,025,025,013,001,001}, 0x057a }, /* peh */
- {{000,000,016,021,021,012,014,020,037}, 0x057b }, /* jheh */
- {{000,000,036,021,021,022,023,000,000}, 0x057c }, /* ra */
- {{000,000,021,021,021,021,017,000,000}, 0x057d }, /* seh */
- {{002,002,022,022,022,022,016,002,003}, 0x057e }, /* vew */
- {{000,000,026,025,025,025,015,000,000}, 0x057f }, /* tiwn */
- {{000,000,036,021,021,021,021,020,020}, 0x0580 }, /* reh */
- {{000,000,017,021,021,021,017,001,016}, 0x0581 }, /* co */
- {{000,000,010,010,010,010,016,000,000}, 0x0582 }, /* yiwn */
- {{004,004,026,025,025,025,015,004,004}, 0x0583 }, /* piwr */
- {{000,000,016,011,011,016,010,037,010}, 0x0584 }, /* keh */
- {{000,000,016,021,021,021,016,000,000}, 0x0585 }, /* oh */
- {{014,024,016,005,025,025,016,004,004}, 0x0586 }, /* feh */
- {{020,020,024,024,024,024,017,000,000}, 0x0587 }, /* ech_yiwn */
- {{014,022,022,007,002,007,002,000,000}, 0x058f }, /* armdram */
+ {{021,021,021,021,025,022,015,000,000}, U(0531) }, /* Ayb */
+ {{016,021,021,020,037,020,020,000,000}, U(0532) }, /* Ben */
+ {{014,022,022,022,017,002,002,000,000}, U(0533) }, /* Gim */
+ {{014,022,022,002,003,002,002,000,000}, U(0534) }, /* Da */
+ {{020,020,037,020,021,021,016,000,000}, U(0535) }, /* Ech */
+ {{016,021,021,001,001,022,037,000,000}, U(0536) }, /* Za */
+ {{020,020,020,037,020,020,036,000,000}, U(0537) }, /* Eh */
+ {{016,021,021,020,020,020,037,000,000}, U(0538) }, /* Et */
+ {{016,021,021,023,025,025,022,000,000}, U(0539) }, /* To */
+ {{002,002,017,022,022,022,014,000,000}, U(053A) }, /* Zhe */
+ {{020,020,036,021,021,021,020,000,000}, U(053B) }, /* Ini */
+ {{020,020,020,020,020,020,037,000,000}, U(053C) }, /* Liwn */
+ {{020,020,035,025,025,025,022,000,000}, U(053D) }, /* Xeh */
+ {{037,016,021,021,021,021,016,000,000}, U(053E) }, /* Ca */
+ {{020,021,021,017,001,001,001,000,000}, U(053F) }, /* Ken */
+ {{002,001,003,014,020,014,003,000,000}, U(0540) }, /* Ho */
+ {{016,021,021,001,015,022,015,000,000}, U(0541) }, /* Ja */
+ {{014,022,022,002,002,002,003,000,000}, U(0542) }, /* Ghad */
+ {{001,032,004,012,012,021,037,000,000}, U(0543) }, /* Cheh */
+ {{023,022,022,022,022,022,014,000,000}, U(0544) }, /* Men */
+ {{016,021,001,036,001,021,016,000,000}, U(0545) }, /* Yi */
+ {{030,010,010,010,011,011,006,000,000}, U(0546) }, /* Now */
+ {{030,007,010,020,021,021,016,000,000}, U(0547) }, /* Sha */
+ {{016,021,021,021,021,021,021,000,000}, U(0548) }, /* Vo */
+ {{016,021,021,001,002,034,003,000,000}, U(0549) }, /* Cha */
+ {{016,025,025,005,005,001,001,000,000}, U(054A) }, /* Peh */
+ {{016,021,021,031,005,026,037,000,000}, U(054B) }, /* Jheh */
+ {{014,022,022,023,022,022,022,000,000}, U(054C) }, /* Ra */
+ {{021,021,021,021,021,021,016,000,000}, U(054D) }, /* Seh */
+ {{002,022,022,022,016,002,003,000,000}, U(054E) }, /* Vew */
+ {{016,021,020,016,001,021,016,000,000}, U(054F) }, /* Tiwn */
+ {{016,021,021,020,020,020,020,000,000}, U(0550) }, /* Reh */
+ {{016,021,016,021,001,021,016,000,000}, U(0551) }, /* Co */
+ {{020,020,037,020,020,020,020,000,000}, U(0552) }, /* Yiwn */
+ {{004,016,025,025,025,016,004,000,000}, U(0553) }, /* Piwr */
+ {{006,011,011,016,010,037,010,000,000}, U(0554) }, /* Keh */
+ {{016,021,021,021,021,021,016,000,000}, U(0555) }, /* Oh */
+ {{014,024,016,005,025,025,016,000,000}, U(0556) }, /* Feh */
+ {{000,000,025,025,025,025,013,000,000}, U(0561) }, /* ayb */
+ {{000,000,036,021,021,020,037,020,020}, U(0562) }, /* ben */
+ {{000,000,016,022,022,022,017,002,002}, U(0563) }, /* gim */
+ {{000,000,034,022,022,022,023,002,002}, U(0564) }, /* da */
+ {{020,020,037,020,021,021,017,000,000}, U(0565) }, /* ech */
+ {{000,000,016,022,022,022,016,002,003}, U(0566) }, /* za */
+ {{020,020,037,020,020,020,036,000,000}, U(0567) }, /* eh */
+ {{000,000,036,021,021,021,021,020,037}, U(0568) }, /* et */
+ {{000,000,036,021,027,031,026,020,020}, U(0569) }, /* to */
+ {{002,002,017,022,022,022,014,000,000}, U(056A) }, /* zhe */
+ {{020,020,036,021,021,021,021,020,020}, U(056B) }, /* ini */
+ {{000,000,010,010,010,010,010,010,016}, U(056C) }, /* liwn */
+ {{020,020,035,025,025,025,023,020,020}, U(056D) }, /* xeh */
+ {{004,002,017,022,022,022,014,000,000}, U(056E) }, /* ca */
+ {{020,020,021,021,021,021,017,001,001}, U(056F) }, /* ken */
+ {{020,020,036,021,021,021,021,000,000}, U(0570) }, /* ho */
+ {{004,002,004,012,021,023,015,000,000}, U(0571) }, /* ja */
+ {{000,000,034,022,022,022,022,002,003}, U(0572) }, /* ghad */
+ {{007,010,036,011,011,011,007,000,000}, U(0573) }, /* cheh */
+ {{003,002,022,022,022,022,016,000,000}, U(0574) }, /* men */
+ {{000,000,004,004,004,004,004,004,010}, U(0575) }, /* yi */
+ {{030,010,011,011,011,011,007,000,000}, U(0576) }, /* now */
+ {{000,000,016,021,001,002,014,020,037}, U(0577) }, /* sha */
+ {{000,000,036,021,021,021,021,000,000}, U(0578) }, /* vo */
+ {{000,000,004,010,004,002,014,020,037}, U(0579) }, /* cha */
+ {{000,000,025,025,025,025,013,001,001}, U(057A) }, /* peh */
+ {{000,000,016,021,021,012,014,020,037}, U(057B) }, /* jheh */
+ {{000,000,036,021,021,022,023,000,000}, U(057C) }, /* ra */
+ {{000,000,021,021,021,021,017,000,000}, U(057D) }, /* seh */
+ {{002,002,022,022,022,022,016,002,003}, U(057E) }, /* vew */
+ {{000,000,026,025,025,025,015,000,000}, U(057F) }, /* tiwn */
+ {{000,000,036,021,021,021,021,020,020}, U(0580) }, /* reh */
+ {{000,000,017,021,021,021,017,001,016}, U(0581) }, /* co */
+ {{000,000,010,010,010,010,016,000,000}, U(0582) }, /* yiwn */
+ {{004,004,026,025,025,025,015,004,004}, U(0583) }, /* piwr */
+ {{000,000,016,011,011,016,010,037,010}, U(0584) }, /* keh */
+ {{000,000,016,021,021,021,016,000,000}, U(0585) }, /* oh */
+ {{014,024,016,005,025,025,016,004,004}, U(0586) }, /* feh */
+ {{020,020,024,024,024,024,017,000,000}, U(0587) }, /* ech_yiwn */
+ {{014,022,022,007,002,007,002,000,000}, U(058F) }, /* armdram */
 #endif
  
  /* Phonetic extensions */
- {{030,004,034,024,010,000,000,000,000}, 0x1d4a }, /* Superscript schwa */
- {{000,000,000,000,004,000,014,004,016}, 0x1d62 }, /* iinferior */
- {{010,024,034,024,010,000,000,000,000}, 0x1dbf }, /* Superscript theta */
+ {{030,004,034,024,010,000,000,000,000}, U(1D4A) }, /* Superscript schwa */
+ {{000,000,000,000,004,000,014,004,016}, U(1D62) }, /* iinferior */
+ {{010,024,034,024,010,000,000,000,000}, U(1DBF) }, /* Superscript theta */
 
  /* Latin extended additional */
- {{036,021,021,036,021,021,036,000,004}, 0x1e04 }, /* Bdotbelow */
- {{020,020,036,021,021,021,036,000,004}, 0x1e05 }, /* bdotbelow */
- {{036,021,021,036,021,021,036,000,016}, 0x1e06 }, /* Bmacronbelow */
- {{020,020,036,021,021,021,036,000,016}, 0x1e07 }, /* bmacronbelow */
- {{036,021,021,021,021,021,036,000,004}, 0x1e0c }, /* Ddotbelow */
- {{001,001,017,021,021,021,017,000,004}, 0x1e0d }, /* ddotbelow */
- {{036,021,021,021,021,021,036,000,016}, 0x1e0e }, /* Dmacronbelow */
- {{001,001,017,021,021,021,017,000,016}, 0x1e0f }, /* dmacronbelow */
- {{016,000,017,020,023,021,017,000,000}, 0x1e20 }, /* Gmacron */
- {{016,000,017,021,021,021,017,001,016}, 0x1e21 }, /* gmacron */
- {{021,021,021,037,021,021,021,000,004}, 0x1e24 }, /* Hdotbelow */
- {{020,020,036,021,021,021,021,000,004}, 0x1e25 }, /* hdotbelow */
- {{012,000,021,021,037,021,021,000,000}, 0x1e26 }, /* Hdieresis */
- {{025,020,036,021,021,021,021,000,000}, 0x1e27 }, /* hdieresis */
- {{021,022,024,030,024,022,021,000,004}, 0x1e32 }, /* Kdotbelow */
- {{010,010,011,012,014,012,011,000,004}, 0x1e33 }, /* kdotbelow */
- {{021,022,024,030,024,022,021,000,016}, 0x1e34 }, /* Kmacronbelow */
- {{010,010,011,012,014,012,011,000,016}, 0x1e35 }, /* kmacronbelow */
- {{020,020,020,020,020,020,037,000,004}, 0x1e36 }, /* Ldotbelow */
- {{014,004,004,004,004,004,016,000,004}, 0x1e37 }, /* ldotbelow */
- {{020,020,020,020,020,020,037,000,016}, 0x1e3a }, /* Lmacronbelow */
- {{014,004,004,004,004,004,016,000,016}, 0x1e3b }, /* lmacronbelow */
- {{021,033,025,025,021,021,021,000,004}, 0x1e42 }, /* Mdotbelow */
- {{000,000,032,025,025,025,025,000,004}, 0x1e43 }, /* mdotbelow */
- {{021,021,031,025,023,021,021,000,004}, 0x1e46 }, /* Ndotbelow */
- {{000,000,036,021,021,021,021,000,004}, 0x1e47 }, /* ndotbelow */
- {{021,021,031,025,023,021,021,000,016}, 0x1e48 }, /* Nmacronbelow */
- {{000,000,036,021,021,021,021,000,016}, 0x1e49 }, /* nmacronbelow */
- {{036,021,021,036,024,022,021,000,004}, 0x1e5a }, /* Rdotbelow */
- {{000,000,013,014,010,010,010,000,004}, 0x1e5b }, /* rdotbelow */
- {{016,000,036,021,036,022,021,000,004}, 0x1e5c }, /* Rdotbelowmacron */
- {{016,000,013,014,010,010,010,000,004}, 0x1e5d }, /* rdotbelowmacron */
- {{036,021,021,036,024,022,021,000,016}, 0x1e5e }, /* Rmacronbelow */
- {{000,000,013,014,010,010,010,000,016}, 0x1e5f }, /* rmacronbelow */
- {{016,021,020,016,001,021,016,000,004}, 0x1e62 }, /* Sdotbelow */
- {{000,000,017,020,016,001,036,000,004}, 0x1e63 }, /* sdotbelow */
- {{037,004,004,004,004,004,004,000,004}, 0x1e6c }, /* Tdotbelow */
- {{004,004,016,004,004,004,002,000,004}, 0x1e6d }, /* tdotbelow */
- {{037,004,004,004,004,004,004,000,016}, 0x1e6e }, /* Tmacronbelow */
- {{004,004,016,004,004,004,002,000,016}, 0x1e6f }, /* tmacronbelow */
- {{021,021,021,021,021,021,016,000,012}, 0x1e72 }, /* Udieresisbelow */
- {{000,000,021,021,021,021,017,000,012}, 0x1e73 }, /* udieresisbelow */
- {{021,021,021,012,012,004,004,000,004}, 0x1e7e }, /* Vdotbelow */
- {{000,000,021,021,012,012,004,000,004}, 0x1e7f }, /* vdotbelow */
+ {{036,021,021,036,021,021,036,000,004}, U(1E04) }, /* Bdotbelow */
+ {{020,020,036,021,021,021,036,000,004}, U(1E05) }, /* bdotbelow */
+ {{036,021,021,036,021,021,036,000,016}, U(1E06) }, /* Bmacronbelow */
+ {{020,020,036,021,021,021,036,000,016}, U(1E07) }, /* bmacronbelow */
+ {{036,021,021,021,021,021,036,000,004}, U(1E0C) }, /* Ddotbelow */
+ {{001,001,017,021,021,021,017,000,004}, U(1E0D) }, /* ddotbelow */
+ {{036,021,021,021,021,021,036,000,016}, U(1E0E) }, /* Dmacronbelow */
+ {{001,001,017,021,021,021,017,000,016}, U(1E0F) }, /* dmacronbelow */
+ {{016,000,017,020,023,021,017,000,000}, U(1E20) }, /* Gmacron */
+ {{016,000,017,021,021,021,017,001,016}, U(1E21) }, /* gmacron */
+ {{021,021,021,037,021,021,021,000,004}, U(1E24) }, /* Hdotbelow */
+ {{020,020,036,021,021,021,021,000,004}, U(1E25) }, /* hdotbelow */
+ {{012,000,021,021,037,021,021,000,000}, U(1E26) }, /* Hdieresis */
+ {{025,020,036,021,021,021,021,000,000}, U(1E27) }, /* hdieresis */
+ {{021,022,024,030,024,022,021,000,004}, U(1E32) }, /* Kdotbelow */
+ {{010,010,011,012,014,012,011,000,004}, U(1E33) }, /* kdotbelow */
+ {{021,022,024,030,024,022,021,000,016}, U(1E34) }, /* Kmacronbelow */
+ {{010,010,011,012,014,012,011,000,016}, U(1E35) }, /* kmacronbelow */
+ {{020,020,020,020,020,020,037,000,004}, U(1E36) }, /* Ldotbelow */
+ {{014,004,004,004,004,004,016,000,004}, U(1E37) }, /* ldotbelow */
+ {{020,020,020,020,020,020,037,000,016}, U(1E3A) }, /* Lmacronbelow */
+ {{014,004,004,004,004,004,016,000,016}, U(1E3B) }, /* lmacronbelow */
+ {{021,033,025,025,021,021,021,000,004}, U(1E42) }, /* Mdotbelow */
+ {{000,000,032,025,025,025,025,000,004}, U(1E43) }, /* mdotbelow */
+ {{021,021,031,025,023,021,021,000,004}, U(1E46) }, /* Ndotbelow */
+ {{000,000,036,021,021,021,021,000,004}, U(1E47) }, /* ndotbelow */
+ {{021,021,031,025,023,021,021,000,016}, U(1E48) }, /* Nmacronbelow */
+ {{000,000,036,021,021,021,021,000,016}, U(1E49) }, /* nmacronbelow */
+ {{036,021,021,036,024,022,021,000,004}, U(1E5A) }, /* Rdotbelow */
+ {{000,000,013,014,010,010,010,000,004}, U(1E5B) }, /* rdotbelow */
+ {{016,000,036,021,036,022,021,000,004}, U(1E5C) }, /* Rdotbelowmacron */
+ {{016,000,013,014,010,010,010,000,004}, U(1E5D) }, /* rdotbelowmacron */
+ {{036,021,021,036,024,022,021,000,016}, U(1E5E) }, /* Rmacronbelow */
+ {{000,000,013,014,010,010,010,000,016}, U(1E5F) }, /* rmacronbelow */
+ {{016,021,020,016,001,021,016,000,004}, U(1E62) }, /* Sdotbelow */
+ {{000,000,017,020,016,001,036,000,004}, U(1E63) }, /* sdotbelow */
+ {{037,004,004,004,004,004,004,000,004}, U(1E6C) }, /* Tdotbelow */
+ {{004,004,016,004,004,004,002,000,004}, U(1E6D) }, /* tdotbelow */
+ {{037,004,004,004,004,004,004,000,016}, U(1E6E) }, /* Tmacronbelow */
+ {{004,004,016,004,004,004,002,000,016}, U(1E6F) }, /* tmacronbelow */
+ {{021,021,021,021,021,021,016,000,012}, U(1E72) }, /* Udieresisbelow */
+ {{000,000,021,021,021,021,017,000,012}, U(1E73) }, /* udieresisbelow */
+ {{021,021,021,012,012,004,004,000,004}, U(1E7E) }, /* Vdotbelow */
+ {{000,000,021,021,012,012,004,000,004}, U(1E7F) }, /* vdotbelow */
  {{012,000,021,025,025,025,012,000,000}, 0x1e84, "Wdieresis", },
  {{012,000,021,021,025,025,012,000,000}, 0x1e85, "wdieresis", },
- {{021,021,021,025,025,025,012,000,004}, 0x1e88 }, /* Wdotbelow */
- {{000,000,021,021,025,025,012,000,004}, 0x1e89 }, /* wdotbelow */
- {{012,000,021,021,016,021,021,000,000}, 0x1e8c }, /* Xdieresis */
- {{012,000,021,012,004,012,021,000,000}, 0x1e8d }, /* xdieresis */
- {{037,001,002,004,010,020,037,000,004}, 0x1e92 }, /* Zdotbelow */
- {{000,000,037,002,004,010,037,000,004}, 0x1e93 }, /* zdotbelow */
- {{037,001,002,004,010,020,037,000,016}, 0x1e94 }, /* Zmacronbelow */
- {{000,000,037,002,004,010,037,000,016}, 0x1e95 }, /* zmacronbelow */
- {{020,020,036,021,021,021,021,000,016}, 0x1e96 }, /* Hmacronbelow */
- {{025,004,016,004,004,004,002,000,000}, 0x1e97 }, /* tdieresis */
- {{016,021,022,022,021,021,026,000,000}, 0x1e9e }, /* Germandbls */
- {{004,012,021,021,037,021,021,000,004}, 0x1ea0 }, /* Adotbelow */
- {{000,000,016,001,017,021,017,000,004}, 0x1ea1 }, /* adotbelow */
- {{037,020,020,036,020,020,037,000,004}, 0x1eb8 }, /* Edotbelow */
- {{000,000,016,021,037,020,016,000,004}, 0x1eb9 }, /* edotbelow */
- {{016,004,004,004,004,004,016,000,004}, 0x1eca }, /* Idotbelow */
- {{004,000,014,004,004,004,016,000,004}, 0x1ecb }, /* idotbelow */
- {{016,021,021,021,021,021,016,000,004}, 0x1ecc }, /* Odotbelow */
- {{000,000,016,021,021,021,016,000,004}, 0x1ecd }, /* odotbelow */
- {{021,021,021,021,021,021,016,000,004}, 0x1ee4 }, /* Udotbelow */
- {{000,000,021,021,021,021,017,000,004}, 0x1ee5 }, /* udotbelow */
- {{021,021,012,004,004,004,004,000,004}, 0x1ef4 }, /* Ydotbelow */
- {{000,000,021,021,017,001,016,000,004}, 0x1ef5 }, /* ydotbelow */
+ {{021,021,021,025,025,025,012,000,004}, U(1E88) }, /* Wdotbelow */
+ {{000,000,021,021,025,025,012,000,004}, U(1E89) }, /* wdotbelow */
+ {{012,000,021,021,016,021,021,000,000}, U(1E8C) }, /* Xdieresis */
+ {{012,000,021,012,004,012,021,000,000}, U(1E8D) }, /* xdieresis */
+ {{037,001,002,004,010,020,037,000,004}, U(1E92) }, /* Zdotbelow */
+ {{000,000,037,002,004,010,037,000,004}, U(1E93) }, /* zdotbelow */
+ {{037,001,002,004,010,020,037,000,016}, U(1E94) }, /* Zmacronbelow */
+ {{000,000,037,002,004,010,037,000,016}, U(1E95) }, /* zmacronbelow */
+ {{020,020,036,021,021,021,021,000,016}, U(1E96) }, /* Hmacronbelow */
+ {{025,004,016,004,004,004,002,000,000}, U(1E97) }, /* tdieresis */
+ {{016,021,022,022,021,021,026,000,000}, U(1E9E) }, /* Germandbls */
+ {{004,012,021,021,037,021,021,000,004}, U(1EA0) }, /* Adotbelow */
+ {{000,000,016,001,017,021,017,000,004}, U(1EA1) }, /* adotbelow */
+ {{037,020,020,036,020,020,037,000,004}, U(1EB8) }, /* Edotbelow */
+ {{000,000,016,021,037,020,016,000,004}, U(1EB9) }, /* edotbelow */
+ {{016,004,004,004,004,004,016,000,004}, U(1ECA) }, /* Idotbelow */
+ {{004,000,014,004,004,004,016,000,004}, U(1ECB) }, /* idotbelow */
+ {{016,021,021,021,021,021,016,000,004}, U(1ECC) }, /* Odotbelow */
+ {{000,000,016,021,021,021,016,000,004}, U(1ECD) }, /* odotbelow */
+ {{021,021,021,021,021,021,016,000,004}, U(1EE4) }, /* Udotbelow */
+ {{000,000,021,021,021,021,017,000,004}, U(1EE5) }, /* udotbelow */
+ {{021,021,012,004,004,004,004,000,004}, U(1EF4) }, /* Ydotbelow */
+ {{000,000,021,021,017,001,016,000,004}, U(1EF5) }, /* ydotbelow */
  
  /* General punctuation */
- {{000,000,000,016,000,000,000,000,000}, 0x2010 }, /* hyphen */
- {{000,000,000,016,000,000,000,000,000}, 0x2011 }, /* non-breaking hyphen */
+ {{000,000,000,016,000,000,000,000,000}, U(2010) }, /* hyphen */
+ {{000,000,000,016,000,000,000,000,000}, U(2011) }, /* non-breaking hyphen */
  {{000,000,000,036,000,000,000,000,000}, 0x2013, "endash" },
  {{000,000,000,000,000,000,037,000,037}, 0x2017, "underscoredbl" },
  {{002,004,004,000,000,000,000,000,000}, 0x2018, "quoteleft" },
@@ -1069,7 +1072,7 @@ static struct glyph {
  {{011,022,022,000,000,000,000,000,000}, 0x201c, "quotedblleft" },
  {{011,011,022,000,000,000,000,000,000}, 0x201d, "quotedblright" },
  {{000,000,000,000,000,011,011,022,000}, 0x201e, "quotedblbase" },
- {{022,022,011,000,000,000,000,000,000}, 0x201f }, /* quotedblreversed */
+ {{022,022,011,000,000,000,000,000,000}, U(201F) }, /* quotedblreversed */
  {{004,004,037,004,004,004,004,004,004}, 0x2020, "dagger" },
  {{004,004,037,004,004,004,037,004,004}, 0x2021, "daggerdbl" },
  {{000,000,016,016,016,000,000,000,000}, 0x2022, "bullet" },
@@ -1079,142 +1082,142 @@ static struct glyph {
  {{011,011,022,022,000,000,000,000,000}, 0x2033, "second" },
  {{000,000,000,002,004,002,000,000,000}, 0x2039, "guilsinglleft" },
  {{000,000,000,010,004,010,000,000,000}, 0x203a, "guilsinglright" },
- {{025,021,012,004,025,004,012,021,025}, 0x203b }, /* referencemark */
+ {{025,021,012,004,025,004,012,021,025}, U(203B) }, /* referencemark */
  {{012,012,012,012,012,000,012,000,000}, 0x203c, "exclamdbl" },
- {{016,025,005,006,004,000,004,000,000}, 0x203d }, /* interrobang */
- {{037,000,000,000,000,000,000,000,000}, 0x203e }, /* overline */
- {{000,000,000,000,000,000,000,021,016}, 0x203f }, /* Bottom tie bar */
- {{016,021,000,000,000,000,000,000,000}, 0x2040 }, /* character tie */
+ {{016,025,005,006,004,000,004,000,000}, U(203D) }, /* interrobang */
+ {{037,000,000,000,000,000,000,000,000}, U(203E) }, /* overline */
+ {{000,000,000,000,000,000,000,021,016}, U(203F) }, /* Bottom tie bar */
+ {{016,021,000,000,000,000,000,000,000}, U(2040) }, /* character tie */
  {{001,001,002,002,004,010,010,020,020}, 0x2044, "fraction" },
- {{012,025,005,011,012,000,012,000,000}, 0x2047 }, /* questiondbl */
- {{011,025,005,011,011,000,011,000,000}, 0x2048 }, /* question exclam */
- {{022,025,021,022,022,000,022,000,000}, 0x2049 }, /* exclam question */
- {{026,025,025,026,024,024,024,000,000}, 0x204b }, /* reversed pilcrow */
- {{000,000,004,000,000,004,004,002,000}, 0x204f }, /* reversed semicolon */
- {{021,001,002,004,010,020,021,000,000}, 0x2052 }, /* commercial minus */
- {{000,000,010,025,002,000,000,000,000}, 0x2053 }, /* swing dash */
- {{000,000,000,000,000,000,000,016,021}, 0x2054 }, /* inverted undertie */
- {{000,000,001,000,020,000,001,000,000}, 0x2056 }, /* three dots */
- {{000,000,004,000,021,000,004,000,000}, 0x2058 }, /* four dots */
- {{000,000,021,000,004,000,021,000,000}, 0x2059 }, /* five dots */
- {{004,000,000,000,000,000,004,000,000}, 0x205a }, /* two dots */
- {{004,000,000,000,021,000,000,000,004}, 0x205b }, /* large four dots */
- {{000,000,025,004,037,004,025,000,000}, 0x205c }, /* dotted cross */
- {{004,000,000,004,000,000,004,000,000}, 0x205d }, /* tricolon */
- {{004,000,004,000,004,000,004,000,000}, 0x205e }, /* vertical four dots */
+ {{012,025,005,011,012,000,012,000,000}, U(2047) }, /* questiondbl */
+ {{011,025,005,011,011,000,011,000,000}, U(2048) }, /* question exclam */
+ {{022,025,021,022,022,000,022,000,000}, U(2049) }, /* exclam question */
+ {{026,025,025,026,024,024,024,000,000}, U(204B) }, /* reversed pilcrow */
+ {{000,000,004,000,000,004,004,002,000}, U(204F) }, /* reversed semicolon */
+ {{021,001,002,004,010,020,021,000,000}, U(2052) }, /* commercial minus */
+ {{000,000,010,025,002,000,000,000,000}, U(2053) }, /* swing dash */
+ {{000,000,000,000,000,000,000,016,021}, U(2054) }, /* inverted undertie */
+ {{000,000,001,000,020,000,001,000,000}, U(2056) }, /* three dots */
+ {{000,000,004,000,021,000,004,000,000}, U(2058) }, /* four dots */
+ {{000,000,021,000,004,000,021,000,000}, U(2059) }, /* five dots */
+ {{004,000,000,000,000,000,004,000,000}, U(205A) }, /* two dots */
+ {{004,000,000,000,021,000,000,000,004}, U(205B) }, /* large four dots */
+ {{000,000,025,004,037,004,025,000,000}, U(205C) }, /* dotted cross */
+ {{004,000,000,004,000,000,004,000,000}, U(205D) }, /* tricolon */
+ {{004,000,004,000,004,000,004,000,000}, U(205E) }, /* vertical four dots */
 
  /* Subscripts and superscripts */
- {{004,012,012,012,004,000,000,000,000}, 0x2070 }, /* zerosuperior */
- {{004,000,014,004,016,000,000,000,000}, 0x2071 }, /* isuperior */
- {{002,006,012,016,002,000,000,000,000}, 0x2074 }, /* foursuperior */
- {{016,010,014,002,014,000,000,000,000}, 0x2075 }, /* fivesuperior */
- {{004,010,014,012,004,000,000,000,000}, 0x2076 }, /* sixsuperior */
- {{016,002,004,010,010,000,000,000,000}, 0x2077 }, /* sevensuperior */
- {{004,012,004,012,004,000,000,000,000}, 0x2078 }, /* eightsuperior */
- {{004,012,006,002,004,000,000,000,000}, 0x2079 }, /* ninesuperior */
- {{000,004,016,004,000,000,000,000,000}, 0x207a }, /* plussuperior */
- {{000,000,016,000,000,000,000,000,000}, 0x207b }, /* minussuperior */
- {{000,016,000,016,000,000,000,000,000}, 0x207c }, /* equalssuperior */
- {{002,004,004,004,002,000,000,000,000}, 0x207d }, /* parenleftsuperior */
- {{010,004,004,004,010,000,000,000,000}, 0x207e }, /* parenrightsuperior */
- {{000,000,014,012,012,000,000,000,000}, 0x207f }, /* nsuperior */
- {{000,000,000,000,004,012,012,012,004}, 0x2080 }, /* zeroinferior */
- {{000,000,000,000,004,014,004,004,016}, 0x2081 }, /* oneinferior */
- {{000,000,000,000,014,002,004,010,016}, 0x2082 }, /* twoinferior */
- {{000,000,000,000,014,002,014,002,014}, 0x2083 }, /* threeinferior */
- {{000,000,000,000,002,006,012,016,002}, 0x2084 }, /* fourinferior */
- {{000,000,000,000,016,010,014,002,014}, 0x2085 }, /* fiveinferior */
- {{000,000,000,000,004,010,014,012,004}, 0x2086 }, /* sixinferior */
- {{000,000,000,000,016,002,004,010,010}, 0x2087 }, /* seveninferior */
- {{000,000,000,000,004,012,004,012,004}, 0x2088 }, /* eightinferior */
- {{000,000,000,000,004,012,006,002,004}, 0x2089 }, /* nineinferior */
- {{000,000,000,000,000,004,016,004,000}, 0x208a }, /* plusinferior */
- {{000,000,000,000,000,000,016,000,000}, 0x208b }, /* minusinferior */
- {{000,000,000,000,000,016,000,016,000}, 0x208c }, /* equalsinferior */
- {{000,000,000,000,002,004,004,004,002}, 0x208d }, /* parenleftinferior */
- {{000,000,000,000,010,004,004,004,010}, 0x208e }, /* parenrightinferior */
- {{000,000,000,000,000,000,014,012,012}, 0x2099 }, /* ninferior */
+ {{004,012,012,012,004,000,000,000,000}, U(2070) }, /* zerosuperior */
+ {{004,000,014,004,016,000,000,000,000}, U(2071) }, /* isuperior */
+ {{002,006,012,016,002,000,000,000,000}, U(2074) }, /* foursuperior */
+ {{016,010,014,002,014,000,000,000,000}, U(2075) }, /* fivesuperior */
+ {{004,010,014,012,004,000,000,000,000}, U(2076) }, /* sixsuperior */
+ {{016,002,004,010,010,000,000,000,000}, U(2077) }, /* sevensuperior */
+ {{004,012,004,012,004,000,000,000,000}, U(2078) }, /* eightsuperior */
+ {{004,012,006,002,004,000,000,000,000}, U(2079) }, /* ninesuperior */
+ {{000,004,016,004,000,000,000,000,000}, U(207A) }, /* plussuperior */
+ {{000,000,016,000,000,000,000,000,000}, U(207B) }, /* minussuperior */
+ {{000,016,000,016,000,000,000,000,000}, U(207C) }, /* equalssuperior */
+ {{002,004,004,004,002,000,000,000,000}, U(207D) }, /* parenleftsuperior */
+ {{010,004,004,004,010,000,000,000,000}, U(207E) }, /* parenrightsuperior */
+ {{000,000,014,012,012,000,000,000,000}, U(207F) }, /* nsuperior */
+ {{000,000,000,000,004,012,012,012,004}, U(2080) }, /* zeroinferior */
+ {{000,000,000,000,004,014,004,004,016}, U(2081) }, /* oneinferior */
+ {{000,000,000,000,014,002,004,010,016}, U(2082) }, /* twoinferior */
+ {{000,000,000,000,014,002,014,002,014}, U(2083) }, /* threeinferior */
+ {{000,000,000,000,002,006,012,016,002}, U(2084) }, /* fourinferior */
+ {{000,000,000,000,016,010,014,002,014}, U(2085) }, /* fiveinferior */
+ {{000,000,000,000,004,010,014,012,004}, U(2086) }, /* sixinferior */
+ {{000,000,000,000,016,002,004,010,010}, U(2087) }, /* seveninferior */
+ {{000,000,000,000,004,012,004,012,004}, U(2088) }, /* eightinferior */
+ {{000,000,000,000,004,012,006,002,004}, U(2089) }, /* nineinferior */
+ {{000,000,000,000,000,004,016,004,000}, U(208A) }, /* plusinferior */
+ {{000,000,000,000,000,000,016,000,000}, U(208B) }, /* minusinferior */
+ {{000,000,000,000,000,016,000,016,000}, U(208C) }, /* equalsinferior */
+ {{000,000,000,000,002,004,004,004,002}, U(208D) }, /* parenleftinferior */
+ {{000,000,000,000,010,004,004,004,010}, U(208E) }, /* parenrightinferior */
+ {{000,000,000,000,000,000,014,012,012}, U(2099) }, /* ninferior */
 
  /* Currency symbols */
  {{030,024,030,022,027,022,021,000,000}, 0x20a7, "peseta" },
- {{031,025,025,021,025,025,026,000,000}, 0x20aa }, /* newsheqel */
+ {{031,025,025,021,025,025,026,000,000}, U(20AA) }, /* newsheqel */
  {{006,011,034,010,034,011,006,000,000}, 0x20ac, "Euro" },
 
  /* Letterlike symbols */
- {{016,021,035,033,033,035,031,021,016}, 0x2117 }, /* phonographic */
- {{016,021,021,021,021,012,033,000,000}, 0x2126 }, /* ohm sign */
- {{033,012,021,021,021,021,016,000,000}, 0x2127 }, /* mho sign */
+ {{016,021,035,033,033,035,031,021,016}, U(2117) }, /* phonographic */
+ {{016,021,021,021,021,012,033,000,000}, U(2126) }, /* ohm sign */
+ {{033,012,021,021,021,021,016,000,000}, U(2127) }, /* mho sign */
 
  /* Number forms */
- {{020,020,020,020,027,001,002,004,004}, 0x2150 }, /* oneseventh */
- {{020,020,020,020,022,005,003,001,002}, 0x2151 }, /* oneninth */
- {{010,010,010,010,000,022,025,025,022}, 0x2152 }, /* onetenth */
+ {{020,020,020,020,027,001,002,004,004}, U(2150) }, /* oneseventh */
+ {{020,020,020,020,022,005,003,001,002}, U(2151) }, /* oneninth */
+ {{010,010,010,010,000,022,025,025,022}, U(2152) }, /* onetenth */
  {{020,020,020,020,026,001,006,001,006}, 0x2153, "onethird" },
  {{020,010,010,020,032,001,002,001,002}, 0x2154, "twothirds" },
- {{020,020,020,020,027,004,006,001,006}, 0x2155 }, /* onefifth */
- {{020,010,010,020,033,002,003,001,002}, 0x2156 }, /* twofifths */
- {{020,010,020,010,023,002,003,001,002}, 0x2157 }, /* threefifths */
- {{004,014,024,034,007,002,003,001,002}, 0x2158 }, /* fourfifths */
- {{020,020,020,020,022,004,006,005,002}, 0x2159 }, /* onesixth */
- {{030,020,030,010,022,004,006,005,002}, 0x215a }, /* fivesixths */
+ {{020,020,020,020,027,004,006,001,006}, U(2155) }, /* onefifth */
+ {{020,010,010,020,033,002,003,001,002}, U(2156) }, /* twofifths */
+ {{020,010,020,010,023,002,003,001,002}, U(2157) }, /* threefifths */
+ {{004,014,024,034,007,002,003,001,002}, U(2158) }, /* fourfifths */
+ {{020,020,020,020,022,004,006,005,002}, U(2159) }, /* onesixth */
+ {{030,020,030,010,022,004,006,005,002}, U(215A) }, /* fivesixths */
  {{020,020,020,020,022,005,002,005,002}, 0x215b, "oneeighth" },
  {{020,010,020,010,022,005,002,005,002}, 0x215c, "threeeighths" },
  {{030,020,030,010,022,005,002,005,002}, 0x215d, "fiveeighths" },
  {{034,004,010,020,022,005,002,005,002}, 0x215e, "seveneighths" },
- {{010,024,024,010,002,001,002,001,002}, 0x2189 }, /* zerothirds */
+ {{010,024,024,010,002,001,002,001,002}, U(2189) }, /* zerothirds */
 
  /* Arrows */
  {{000,004,004,025,016,004,000,000,000}, 0x2193, "arrowdown" },
  {{000,012,021,037,021,012,000,000,000}, 0x2194, "arrowboth" },
  {{004,016,025,004,025,016,004,000,000}, 0x2195, "arrowupdn" },
- {{000,036,030,024,022,001,000,000,000}, 0x2196 }, /* arrowupleft */
- {{000,017,003,005,011,020,000,000,000}, 0x2197 }, /* arrowupright */
- {{000,020,011,005,003,017,000,000,000}, 0x2198 }, /* arrowdownright */
- {{000,001,022,024,030,036,000,000,000}, 0x2199 }, /* arrowdownleft */
- {{000,005,011,037,011,005,000,000,000}, 0x21a4 }, /* arrowbarleft */
- {{000,004,016,025,004,037,000,000,000}, 0x21a5 }, /* arrowbarup" */
- {{000,024,022,037,022,024,000,000,000}, 0x21a6 }, /* arrowbarright */
- {{000,037,004,025,016,004,000,000,000}, 0x21a7 }, /* arrowbardown */
+ {{000,036,030,024,022,001,000,000,000}, U(2196) }, /* arrowupleft */
+ {{000,017,003,005,011,020,000,000,000}, U(2197) }, /* arrowupright */
+ {{000,020,011,005,003,017,000,000,000}, U(2198) }, /* arrowdownright */
+ {{000,001,022,024,030,036,000,000,000}, U(2199) }, /* arrowdownleft */
+ {{000,005,011,037,011,005,000,000,000}, U(21A4) }, /* arrowbarleft */
+ {{000,004,016,025,004,037,000,000,000}, U(21A5) }, /* arrowbarup" */
+ {{000,024,022,037,022,024,000,000,000}, U(21A6) }, /* arrowbarright */
+ {{000,037,004,025,016,004,000,000,000}, U(21A7) }, /* arrowbardown */
  {{004,016,025,004,025,016,037,000,000}, 0x21a8, "arrowupdnbse" },
- {{000,034,004,025,016,004,000,000,000}, 0x21b4 }, /* arrow right then down */
+ {{000,034,004,025,016,004,000,000,000}, U(21B4) }, /* arrow right then down */
  {{001,005,011,037,010,004,000,000,000}, 0x21b5, "carriagereturn" },
- {{024,030,037,030,025,003,037,003,005}, 0x21b9 }, /* arrowtabsleftright */
- {{000,004,010,037,000,000,000,000,000}, 0x21bc }, /* harpoonleftbarbup */
- {{000,000,000,037,010,004,000,000,000}, 0x21bd }, /* harpoonleftbarbdown */
- {{000,004,006,005,004,004,000,000,000}, 0x21be }, /* harpoonupbarbright */
- {{000,004,014,024,004,004,000,000,000}, 0x21bf }, /* harpoonupbarbleft */
- {{000,004,002,037,000,000,000,000,000}, 0x21c0 }, /* harpoonrightbarbup */
- {{000,000,000,037,002,004,000,000,000}, 0x21c1 }, /* harpoonrightbarbdown */
- {{000,004,004,005,006,004,000,000,000}, 0x21c2 }, /* harpoondownbarbright */
- {{000,004,004,024,014,004,000,000,000}, 0x21c3 }, /* harpoondownbarbleft */
- {{004,010,037,000,037,002,004,000,000}, 0x21cb }, /* harpoonsleftright */
- {{004,002,037,000,037,010,004,000,000}, 0x21cc }, /* harpoonsrightleft */
- {{000,024,030,037,030,024,000,000,000}, 0x21e4 }, /* arrowtableft */
- {{000,005,003,037,003,005,000,000,000}, 0x21e5 }, /* arrowtabright */
+ {{024,030,037,030,025,003,037,003,005}, U(21B9) }, /* arrowtabsleftright */
+ {{000,004,010,037,000,000,000,000,000}, U(21BC) }, /* harpoonleftbarbup */
+ {{000,000,000,037,010,004,000,000,000}, U(21BD) }, /* harpoonleftbarbdown */
+ {{000,004,006,005,004,004,000,000,000}, U(21BE) }, /* harpoonupbarbright */
+ {{000,004,014,024,004,004,000,000,000}, U(21BF) }, /* harpoonupbarbleft */
+ {{000,004,002,037,000,000,000,000,000}, U(21C0) }, /* harpoonrightbarbup */
+ {{000,000,000,037,002,004,000,000,000}, U(21C1) }, /* harpoonrightbarbdown */
+ {{000,004,004,005,006,004,000,000,000}, U(21C2) }, /* harpoondownbarbright */
+ {{000,004,004,024,014,004,000,000,000}, U(21C3) }, /* harpoondownbarbleft */
+ {{004,010,037,000,037,002,004,000,000}, U(21CB) }, /* harpoonsleftright */
+ {{004,002,037,000,037,010,004,000,000}, U(21CC) }, /* harpoonsrightleft */
+ {{000,024,030,037,030,024,000,000,000}, U(21E4) }, /* arrowtableft */
+ {{000,005,003,037,003,005,000,000,000}, U(21E5) }, /* arrowtabright */
 
  /* Mathematical operators */
  {{016,021,001,017,021,021,016,000,000}, 0x2202, "partialdiff" },
  {{004,004,012,012,021,021,037,000,000}, 0x2206, "Delta" },
  {{037,021,021,012,012,004,004,000,000}, 0x2207, "gradient" },
  {{037,021,021,021,021,021,021,021,021}, 0x220f, "product" },
- {{021,021,021,021,021,021,021,021,037}, 0x2210 }, /* n-ary coproduct */
+ {{021,021,021,021,021,021,021,021,037}, U(2210) }, /* n-ary coproduct */
  {{037,020,010,004,002,004,010,020,037}, 0x2211, "summation" },
  {{000,000,000,037,000,000,000,000,000}, 0x2212, "minus" },
- {{037,000,004,004,037,004,004,000,000}, 0x2213 }, /* minusplus */
- {{000,000,004,016,004,000,000,000,000}, 0x2219 }, /* bulletoperator */
+ {{037,000,004,004,037,004,004,000,000}, U(2213) }, /* minusplus */
+ {{000,000,004,016,004,000,000,000,000}, U(2219) }, /* bulletoperator */
  {{007,004,004,004,024,014,004,000,000}, 0x221a, "radical" },
- {{023,012,022,012,022,006,002,000,000}, 0x221b }, /* cube root */
- {{015,025,035,005,001,003,001,000,000}, 0x221c }, /* fourth root */
+ {{023,012,022,012,022,006,002,000,000}, U(221B) }, /* cube root */
+ {{015,025,035,005,001,003,001,000,000}, U(221C) }, /* fourth root */
  {{000,012,025,025,025,012,000,000,000}, 0x221e, "infinity" },
  {{000,020,020,020,020,037,000,000,000}, 0x221f, "orthogonal" },
- {{004,004,004,004,004,004,004,000,000}, 0x2223, }, /* divides */
- {{012,012,012,012,012,012,012,000,000}, 0x2225, }, /* parallel */
+ {{004,004,004,004,004,004,004,000,000}, U(2223), }, /* divides */
+ {{012,012,012,012,012,012,012,000,000}, U(2225), }, /* parallel */
  {{000,016,021,021,021,021,000,000,000}, 0x2229, "intersection" },
  {{000,021,021,021,021,016,000,000,000}, 0x222a, "union" },
  {{002,005,004,004,004,004,004,024,010}, 0x222b, "integral" },
  {{000,004,000,000,000,021,000,000,000}, 0x2234, "therefore" },
- {{000,021,000,000,000,004,000,000,000}, 0x2235 }, /* because */
- {{000,010,024,025,005,002,000,000,000}, 0x223f }, /* sinewave */
+ {{000,021,000,000,000,004,000,000,000}, U(2235) }, /* because */
+ {{000,010,024,025,005,002,000,000,000}, U(223F) }, /* sinewave */
  {{000,010,025,002,010,025,002,000,000}, 0x2248, "approxequal" },
  {{000,002,037,004,037,010,000,000,000}, 0x2260, "notequal" },
  {{000,037,000,037,000,037,000,000,000}, 0x2261, "equivalence" },
@@ -1224,167 +1227,167 @@ static struct glyph {
  {{000,036,001,001,001,036,000,000,000}, 0x2283, "propersuperset" },
  {{017,020,020,020,017,000,037,000,000}, 0x2286, "reflexsubset" },
  {{036,001,001,001,036,000,037,000,000}, 0x2287, "reflexsuperset" },
- {{000,016,025,037,025,016,000,000,000}, 0x2295 }, /* circled plus */
- {{000,016,021,037,021,016,000,000,000}, 0x2296 }, /* circled minus (ESC) */
- {{000,016,021,025,021,016,000,000,000}, 0x2299 }, /* circled dot (SI) */
- {{000,037,025,037,025,037,000,000,000}, 0x229e }, /* squared plus */
- {{000,037,021,037,021,037,000,000,000}, 0x229f }, /* squared minus (DLE) */
- {{000,037,021,025,021,037,000,000,000}, 0x22a1 }, /* squared dot */
- {{000,004,000,004,000,004,000,000,000}, 0x22ee }, /* vertical ellipsis */
- {{000,000,000,025,000,000,000,000,000}, 0x22ef }, /* midline ellipsis */
- {{000,001,000,004,000,020,000,000,000}, 0x22f0 }, /* /-diagonal ellipsis */
- {{000,020,000,004,000,001,000,000,000}, 0x22f1 }, /* \-diagonal ellipsis */
+ {{000,016,025,037,025,016,000,000,000}, U(2295) }, /* circled plus */
+ {{000,016,021,037,021,016,000,000,000}, U(2296) }, /* circled minus (ESC) */
+ {{000,016,021,025,021,016,000,000,000}, U(2299) }, /* circled dot (SI) */
+ {{000,037,025,037,025,037,000,000,000}, U(229E) }, /* squared plus */
+ {{000,037,021,037,021,037,000,000,000}, U(229F) }, /* squared minus (DLE) */
+ {{000,037,021,025,021,037,000,000,000}, U(22A1) }, /* squared dot */
+ {{000,004,000,004,000,004,000,000,000}, U(22EE) }, /* vertical ellipsis */
+ {{000,000,000,025,000,000,000,000,000}, U(22EF) }, /* midline ellipsis */
+ {{000,001,000,004,000,020,000,000,000}, U(22F0) }, /* /-diagonal ellipsis */
+ {{000,020,000,004,000,001,000,000,000}, U(22F1) }, /* \-diagonal ellipsis */
 
  /* Miscellaneous technical */
  {{004,012,021,021,021,021,037,000,000}, 0x2302, "house" },
  {{000,000,037,020,020,000,000,000,000}, 0x2310, "revlogicalnot" },
  {{000,000,002,005,004,004,004,004,004}, 0x2320, "integraltp" },
  {{004,004,004,004,004,024,010,000,000}, 0x2321, "integralbt" },
- {{000,000,005,002,025,010,000,000,000}, 0x237b }, /* crossed tick (NAK) */
- {{000,000,000,000,000,033,016,000,000}, 0x237d }, /* nbsp symbol */
- {{000,016,021,037,012,033,000,000,000}, 0x237e }, /* bell symbol (BEL) */
- {{004,004,004,012,004,004,004,000,000}, 0x237f }, /* vert line w/dot (EOM) */
- {{000,016,012,012,012,033,000,000,000}, 0x238d }, /* monostable (SYN) */
- {{000,007,012,012,012,034,000,000,000}, 0x238e }, /* hysteresis */
- {{000,000,037,000,025,000,000,000,000}, 0x2393 }, /* directcurrent */
- {{002,004,010,010,010,010,010,010,010}, 0x239b }, /* long parenleft top */
- {{010,010,010,010,010,010,010,010,010}, 0x239c }, /* long parenleft middle */
- {{010,010,010,010,010,004,002,000,000}, 0x239d }, /* long parenleft bottom */
- {{010,004,002,002,002,002,002,002,002}, 0x239e }, /* long parenright top */
- {{002,002,002,002,002,002,002,002,002}, 0x239f }, /* long parenright middle */
- {{002,002,002,002,002,004,010,000,000}, 0x23a0 }, /* long parenright bottom */
- {{017,010,010,010,010,010,010,010,010}, 0x23a1 }, /* long bracketleft top */
- {{010,010,010,010,010,010,010,010,010}, 0x23a2 }, /* long bracketleft mid */
- {{010,010,010,010,010,010,017,000,000}, 0x23a3 }, /* long bracketleft bot */
- {{036,002,002,002,002,002,002,002,002}, 0x23a4 }, /* long bracketright top */
- {{002,002,002,002,002,002,002,002,002}, 0x23a5 }, /* long bracketright mid */
- {{002,002,002,002,002,002,036,000,000}, 0x23a6 }, /* long bracketright bot */
- {{003,004,004,004,004,004,004,004,004}, 0x23a7 }, /* long braceleft top */
- {{004,004,004,010,004,004,004,004,004}, 0x23a8 }, /* long braceleft middle */
- {{004,004,004,004,004,004,003,000,000}, 0x23a9 }, /* long braceleft bottom */
- {{004,004,004,004,004,004,004,004,004}, 0x23aa }, /* long brace extension */
- {{030,004,004,004,004,004,004,004,004}, 0x23ab }, /* long braceright top */
- {{004,004,004,002,004,004,004,004,004}, 0x23ac }, /* long braceright middle */
- {{004,004,004,004,004,004,030,000,000}, 0x23ad }, /* long braceright bottom */
- {{004,004,004,004,004,004,004,004,004}, 0x23ae }, /* integral extension */
- {{003,004,004,004,004,004,004,004,030}, 0x23b0 }, /* two-level brace / */
- {{030,004,004,004,004,004,004,004,003}, 0x23b1 }, /* two-level brace \ */
- {{037,020,010,010,004,004,002,002,001}, 0x23b2 }, /* summation top */
- {{001,002,002,004,004,010,010,020,037}, 0x23b3 }, /* summation bottom */
- {{037,000,000,000,000,000,000,000,000}, 0x23ba }, /* horizontal scan 1 */
- {{000,000,037,000,000,000,000,000,000}, 0x23bb }, /* horizontal scan 3 */
- {{000,000,000,000,000,000,037,000,000}, 0x23bc }, /* horizontal scan 7 */
- {{000,000,000,000,000,000,000,000,037}, 0x23bd }, /* horizontal scan 9 */
+ {{000,000,005,002,025,010,000,000,000}, U(237B) }, /* crossed tick (NAK) */
+ {{000,000,000,000,000,033,016,000,000}, U(237D) }, /* nbsp symbol */
+ {{000,016,021,037,012,033,000,000,000}, U(237E) }, /* bell symbol (BEL) */
+ {{004,004,004,012,004,004,004,000,000}, U(237F) }, /* vert line w/dot (EOM) */
+ {{000,016,012,012,012,033,000,000,000}, U(238D) }, /* monostable (SYN) */
+ {{000,007,012,012,012,034,000,000,000}, U(238E) }, /* hysteresis */
+ {{000,000,037,000,025,000,000,000,000}, U(2393) }, /* directcurrent */
+ {{002,004,010,010,010,010,010,010,010}, U(239B) }, /* long parenleft top */
+ {{010,010,010,010,010,010,010,010,010}, U(239C) }, /* long parenleft middle */
+ {{010,010,010,010,010,004,002,000,000}, U(239D) }, /* long parenleft bottom */
+ {{010,004,002,002,002,002,002,002,002}, U(239E) }, /* long parenright top */
+ {{002,002,002,002,002,002,002,002,002}, U(239F) }, /* long parenright middle */
+ {{002,002,002,002,002,004,010,000,000}, U(23A0) }, /* long parenright bottom */
+ {{017,010,010,010,010,010,010,010,010}, U(23A1) }, /* long bracketleft top */
+ {{010,010,010,010,010,010,010,010,010}, U(23A2) }, /* long bracketleft mid */
+ {{010,010,010,010,010,010,017,000,000}, U(23A3) }, /* long bracketleft bot */
+ {{036,002,002,002,002,002,002,002,002}, U(23A4) }, /* long bracketright top */
+ {{002,002,002,002,002,002,002,002,002}, U(23A5) }, /* long bracketright mid */
+ {{002,002,002,002,002,002,036,000,000}, U(23A6) }, /* long bracketright bot */
+ {{003,004,004,004,004,004,004,004,004}, U(23A7) }, /* long braceleft top */
+ {{004,004,004,010,004,004,004,004,004}, U(23A8) }, /* long braceleft middle */
+ {{004,004,004,004,004,004,003,000,000}, U(23A9) }, /* long braceleft bottom */
+ {{004,004,004,004,004,004,004,004,004}, U(23AA) }, /* long brace extension */
+ {{030,004,004,004,004,004,004,004,004}, U(23AB) }, /* long braceright top */
+ {{004,004,004,002,004,004,004,004,004}, U(23AC) }, /* long braceright middle */
+ {{004,004,004,004,004,004,030,000,000}, U(23AD) }, /* long braceright bottom */
+ {{004,004,004,004,004,004,004,004,004}, U(23AE) }, /* integral extension */
+ {{003,004,004,004,004,004,004,004,030}, U(23B0) }, /* two-level brace / */
+ {{030,004,004,004,004,004,004,004,003}, U(23B1) }, /* two-level brace \ */
+ {{037,020,010,010,004,004,002,002,001}, U(23B2) }, /* summation top */
+ {{001,002,002,004,004,010,010,020,037}, U(23B3) }, /* summation bottom */
+ {{037,000,000,000,000,000,000,000,000}, U(23BA) }, /* horizontal scan 1 */
+ {{000,000,037,000,000,000,000,000,000}, U(23BB) }, /* horizontal scan 3 */
+ {{000,000,000,000,000,000,037,000,000}, U(23BC) }, /* horizontal scan 7 */
+ {{000,000,000,000,000,000,000,000,037}, U(23BD) }, /* horizontal scan 9 */
 
  /* Control pictures */
- {{032,026,022,022,000,011,011,011,006}, 0x2400 }, /* NUL */
- {{010,020,010,020,005,005,007,005,005}, 0x2401 }, /* SOH */
- {{010,020,010,020,005,005,002,005,005}, 0x2402 }, /* STX */
- {{034,020,030,020,035,005,002,005,005}, 0x2403 }, /* ETX */
- {{034,020,030,020,037,002,002,002,002}, 0x2404 }, /* EOT */
- {{034,020,030,022,035,005,005,002,001}, 0x2405 }, /* ENQ */
- {{010,024,034,024,025,005,006,005,005}, 0x2406 }, /* ACK */
- {{030,024,030,024,030,002,002,002,003}, 0x2407 }, /* BEL */
- {{030,024,030,024,030,001,002,001,002}, 0x2408 }, /* BS */
- {{024,024,034,024,027,002,002,002,002}, 0x2409 }, /* HT */
- {{020,020,020,020,037,004,006,004,004}, 0x240a }, /* LF */
- {{024,024,024,010,017,002,002,002,002}, 0x240b }, /* VT */
- {{034,020,030,020,027,004,006,004,004}, 0x240c }, /* FF */
- {{014,020,020,020,016,005,006,005,005}, 0x240d }, /* CR */
- {{014,020,010,004,030,002,005,005,002}, 0x240e }, /* SO */
- {{014,020,010,004,031,001,001,001,001}, 0x240f }, /* SI */
- {{030,024,024,024,030,002,002,002,003}, 0x2410 }, /* DLE */
- {{030,024,024,024,031,001,001,001,001}, 0x2411 }, /* DC1 */
- {{030,024,024,024,030,002,001,002,003}, 0x2412 }, /* DC2 */
- {{030,024,024,030,002,001,002,001,002}, 0x2413 }, /* DC3 */
- {{030,024,024,024,031,003,005,007,001}, 0x2414 }, /* DC4 */
- {{032,026,022,022,000,005,006,005,005}, 0x2415 }, /* NAK */
- {{010,020,010,020,005,005,002,002,002}, 0x2416 }, /* SYN */
- {{034,020,030,020,036,005,006,005,006}, 0x2417 }, /* ETB */
- {{014,020,020,014,000,015,013,011,011}, 0x2418 }, /* CAN */
- {{034,020,030,020,034,000,033,025,021}, 0x2419 }, /* EOM */
- {{010,020,010,020,006,005,006,005,006}, 0x241a }, /* SUB */
- {{030,020,030,020,030,003,004,004,003}, 0x241b }, /* ESC */
- {{034,020,030,020,023,004,002,001,006}, 0x241c }, /* FS */
- {{014,020,020,024,014,001,002,001,002}, 0x241d }, /* GS */
- {{030,024,030,024,024,001,002,001,002}, 0x241e }, /* RS */
- {{022,022,014,000,003,004,002,001,006}, 0x241f }, /* US */
- {{010,020,010,020,006,005,006,004,004}, 0x2420 }, /* SP */
- {{030,024,024,030,000,007,002,002,002}, 0x2421 }, /* DEL */
- {{000,000,000,000,000,021,037,000,000}, 0x2423 }, /* Visible space */
- {{032,026,022,022,000,004,004,004,007}, 0x2424 }, /* NL */
- {{004,011,022,004,011,022,004,000,000}, 0x2425 }, /* pictorial DEL */
- {{016,021,010,004,004,000,004,000,000}, 0x2426 }, /* pictorial SUB */
+ {{032,026,022,022,000,011,011,011,006}, U(2400) }, /* NUL */
+ {{010,020,010,020,005,005,007,005,005}, U(2401) }, /* SOH */
+ {{010,020,010,020,005,005,002,005,005}, U(2402) }, /* STX */
+ {{034,020,030,020,035,005,002,005,005}, U(2403) }, /* ETX */
+ {{034,020,030,020,037,002,002,002,002}, U(2404) }, /* EOT */
+ {{034,020,030,022,035,005,005,002,001}, U(2405) }, /* ENQ */
+ {{010,024,034,024,025,005,006,005,005}, U(2406) }, /* ACK */
+ {{030,024,030,024,030,002,002,002,003}, U(2407) }, /* BEL */
+ {{030,024,030,024,030,001,002,001,002}, U(2408) }, /* BS */
+ {{024,024,034,024,027,002,002,002,002}, U(2409) }, /* HT */
+ {{020,020,020,020,037,004,006,004,004}, U(240A) }, /* LF */
+ {{024,024,024,010,017,002,002,002,002}, U(240B) }, /* VT */
+ {{034,020,030,020,027,004,006,004,004}, U(240C) }, /* FF */
+ {{014,020,020,020,016,005,006,005,005}, U(240D) }, /* CR */
+ {{014,020,010,004,030,002,005,005,002}, U(240E) }, /* SO */
+ {{014,020,010,004,031,001,001,001,001}, U(240F) }, /* SI */
+ {{030,024,024,024,030,002,002,002,003}, U(2410) }, /* DLE */
+ {{030,024,024,024,031,001,001,001,001}, U(2411) }, /* DC1 */
+ {{030,024,024,024,030,002,001,002,003}, U(2412) }, /* DC2 */
+ {{030,024,024,030,002,001,002,001,002}, U(2413) }, /* DC3 */
+ {{030,024,024,024,031,003,005,007,001}, U(2414) }, /* DC4 */
+ {{032,026,022,022,000,005,006,005,005}, U(2415) }, /* NAK */
+ {{010,020,010,020,005,005,002,002,002}, U(2416) }, /* SYN */
+ {{034,020,030,020,036,005,006,005,006}, U(2417) }, /* ETB */
+ {{014,020,020,014,000,015,013,011,011}, U(2418) }, /* CAN */
+ {{034,020,030,020,034,000,033,025,021}, U(2419) }, /* EOM */
+ {{010,020,010,020,006,005,006,005,006}, U(241A) }, /* SUB */
+ {{030,020,030,020,030,003,004,004,003}, U(241B) }, /* ESC */
+ {{034,020,030,020,023,004,002,001,006}, U(241C) }, /* FS */
+ {{014,020,020,024,014,001,002,001,002}, U(241D) }, /* GS */
+ {{030,024,030,024,024,001,002,001,002}, U(241E) }, /* RS */
+ {{022,022,014,000,003,004,002,001,006}, U(241F) }, /* US */
+ {{010,020,010,020,006,005,006,004,004}, U(2420) }, /* SP */
+ {{030,024,024,030,000,007,002,002,002}, U(2421) }, /* DEL */
+ {{000,000,000,000,000,021,037,000,000}, U(2423) }, /* Visible space */
+ {{032,026,022,022,000,004,004,004,007}, U(2424) }, /* NL */
+ {{004,011,022,004,011,022,004,000,000}, U(2425) }, /* pictorial DEL */
+ {{016,021,010,004,004,000,004,000,000}, U(2426) }, /* pictorial SUB */
 
  /* Box drawing */
  {{000,000,000,000,037,000,000,000,000}, 0x2500, "SF100000" },
- {{000,000,000,037,037,037,000,000,000}, 0x2501 },
+ {{000,000,000,037,037,037,000,000,000}, U(2501) },
  {{004,004,004,004,004,004,004,004,004}, 0x2502, "SF110000" },
- {{016,016,016,016,016,016,016,016,016}, 0x2503 },
+ {{016,016,016,016,016,016,016,016,016}, U(2503) },
  {{000,000,000,000,007,004,004,004,004}, 0x250c, "SF010000" },
- {{000,000,000,007,007,007,004,004,004}, 0x250d },
- {{000,000,000,000,017,016,016,016,016}, 0x250e },
- {{000,000,000,017,017,017,016,016,016}, 0x250f },
+ {{000,000,000,007,007,007,004,004,004}, U(250D) },
+ {{000,000,000,000,017,016,016,016,016}, U(250E) },
+ {{000,000,000,017,017,017,016,016,016}, U(250F) },
  {{000,000,000,000,034,004,004,004,004}, 0x2510, "SF030000" },
- {{000,000,000,034,034,034,004,004,004}, 0x2511 },
- {{000,000,000,000,036,016,016,016,016}, 0x2512 },
- {{000,000,000,036,036,036,016,016,016}, 0x2513 },
+ {{000,000,000,034,034,034,004,004,004}, U(2511) },
+ {{000,000,000,000,036,016,016,016,016}, U(2512) },
+ {{000,000,000,036,036,036,016,016,016}, U(2513) },
  {{004,004,004,004,007,000,000,000,000}, 0x2514, "SF020000" },
- {{004,004,004,007,007,007,000,000,000}, 0x2515 },
- {{016,016,016,016,017,000,000,000,000}, 0x2516 },
- {{016,016,016,017,017,017,000,000,000}, 0x2517 },
+ {{004,004,004,007,007,007,000,000,000}, U(2515) },
+ {{016,016,016,016,017,000,000,000,000}, U(2516) },
+ {{016,016,016,017,017,017,000,000,000}, U(2517) },
  {{004,004,004,004,034,000,000,000,000}, 0x2518, "SF040000" },
- {{004,004,004,034,034,034,000,000,000}, 0x2519 },
- {{016,016,016,016,036,000,000,000,000}, 0x251a },
- {{016,016,016,036,036,036,000,000,000}, 0x251b },
+ {{004,004,004,034,034,034,000,000,000}, U(2519) },
+ {{016,016,016,016,036,000,000,000,000}, U(251A) },
+ {{016,016,016,036,036,036,000,000,000}, U(251B) },
  {{004,004,004,004,007,004,004,004,004}, 0x251c, "SF080000" },
- {{004,004,004,007,007,007,004,004,004}, 0x251d },
- {{016,016,016,016,017,004,004,004,004}, 0x251e },
- {{004,004,004,004,017,016,016,016,016}, 0x251f },
- {{016,016,016,016,017,016,016,016,016}, 0x2520 },
- {{016,016,016,017,017,017,004,004,004}, 0x2521 },
- {{004,004,004,017,017,017,016,016,016}, 0x2522 },
- {{016,016,016,017,017,017,016,016,016}, 0x2523 },
+ {{004,004,004,007,007,007,004,004,004}, U(251D) },
+ {{016,016,016,016,017,004,004,004,004}, U(251E) },
+ {{004,004,004,004,017,016,016,016,016}, U(251F) },
+ {{016,016,016,016,017,016,016,016,016}, U(2520) },
+ {{016,016,016,017,017,017,004,004,004}, U(2521) },
+ {{004,004,004,017,017,017,016,016,016}, U(2522) },
+ {{016,016,016,017,017,017,016,016,016}, U(2523) },
  {{004,004,004,004,034,004,004,004,004}, 0x2524, "SF090000" },
- {{004,004,004,034,034,034,004,004,004}, 0x2525 },
- {{016,016,016,016,036,004,004,004,004}, 0x2526 },
- {{004,004,004,004,036,016,016,016,016}, 0x2527 },
- {{016,016,016,016,036,016,016,016,016}, 0x2528 },
- {{016,016,016,036,036,036,004,004,004}, 0x2529 },
- {{004,004,004,036,036,036,016,016,016}, 0x252a },
- {{016,016,016,036,036,036,016,016,016}, 0x252b },
+ {{004,004,004,034,034,034,004,004,004}, U(2525) },
+ {{016,016,016,016,036,004,004,004,004}, U(2526) },
+ {{004,004,004,004,036,016,016,016,016}, U(2527) },
+ {{016,016,016,016,036,016,016,016,016}, U(2528) },
+ {{016,016,016,036,036,036,004,004,004}, U(2529) },
+ {{004,004,004,036,036,036,016,016,016}, U(252A) },
+ {{016,016,016,036,036,036,016,016,016}, U(252B) },
  {{000,000,000,000,037,004,004,004,004}, 0x252c, "SF060000" },
- {{000,000,000,034,037,034,004,004,004}, 0x252d },
- {{000,000,000,007,037,007,004,004,004}, 0x252e },
- {{000,000,000,037,037,037,004,004,004}, 0x252f },
- {{000,000,000,000,037,016,016,016,016}, 0x2530 },
- {{000,000,000,036,037,036,016,016,016}, 0x2531 },
- {{000,000,000,017,037,017,016,016,016}, 0x2532 },
- {{000,000,000,037,037,037,016,016,016}, 0x2533 },
+ {{000,000,000,034,037,034,004,004,004}, U(252D) },
+ {{000,000,000,007,037,007,004,004,004}, U(252E) },
+ {{000,000,000,037,037,037,004,004,004}, U(252F) },
+ {{000,000,000,000,037,016,016,016,016}, U(2530) },
+ {{000,000,000,036,037,036,016,016,016}, U(2531) },
+ {{000,000,000,017,037,017,016,016,016}, U(2532) },
+ {{000,000,000,037,037,037,016,016,016}, U(2533) },
  {{004,004,004,004,037,000,000,000,000}, 0x2534, "SF070000" },
- {{004,004,004,034,037,034,000,000,000}, 0x2535 },
- {{004,004,004,007,037,007,000,000,000}, 0x2536 },
- {{004,004,004,037,037,037,000,000,000}, 0x2537 },
- {{016,016,016,016,037,000,000,000,000}, 0x2538 },
- {{016,016,016,036,037,036,000,000,000}, 0x2539 },
- {{016,016,016,017,037,017,000,000,000}, 0x253a },
- {{016,016,016,037,037,037,000,000,000}, 0x253b },
+ {{004,004,004,034,037,034,000,000,000}, U(2535) },
+ {{004,004,004,007,037,007,000,000,000}, U(2536) },
+ {{004,004,004,037,037,037,000,000,000}, U(2537) },
+ {{016,016,016,016,037,000,000,000,000}, U(2538) },
+ {{016,016,016,036,037,036,000,000,000}, U(2539) },
+ {{016,016,016,017,037,017,000,000,000}, U(253A) },
+ {{016,016,016,037,037,037,000,000,000}, U(253B) },
  {{004,004,004,004,037,004,004,004,004}, 0x253c, "SF050000" },
- {{004,004,004,034,037,034,004,004,004}, 0x253d },
- {{004,004,004,007,037,007,004,004,004}, 0x253e },
- {{004,004,004,037,037,037,004,004,004}, 0x253f },
- {{016,016,016,016,037,004,004,004,004}, 0x2540 },
- {{004,004,004,004,037,016,016,016,016}, 0x2541 },
- {{016,016,016,016,037,016,016,016,016}, 0x2542 },
- {{016,016,016,036,037,036,004,004,004}, 0x2543 },
- {{016,016,016,017,037,017,004,004,004}, 0x2544 },
- {{004,004,004,036,037,036,016,016,016}, 0x2545 },
- {{004,004,004,017,037,017,016,016,016}, 0x2546 },
- {{016,016,016,037,037,037,004,004,004}, 0x2547 },
- {{004,004,004,037,037,037,016,016,016}, 0x2548 },
- {{016,016,016,036,037,036,016,016,016}, 0x2549 },
- {{016,016,016,017,037,017,016,016,016}, 0x254a },
- {{016,016,016,037,037,037,016,016,016}, 0x254b },
+ {{004,004,004,034,037,034,004,004,004}, U(253D) },
+ {{004,004,004,007,037,007,004,004,004}, U(253E) },
+ {{004,004,004,037,037,037,004,004,004}, U(253F) },
+ {{016,016,016,016,037,004,004,004,004}, U(2540) },
+ {{004,004,004,004,037,016,016,016,016}, U(2541) },
+ {{016,016,016,016,037,016,016,016,016}, U(2542) },
+ {{016,016,016,036,037,036,004,004,004}, U(2543) },
+ {{016,016,016,017,037,017,004,004,004}, U(2544) },
+ {{004,004,004,036,037,036,016,016,016}, U(2545) },
+ {{004,004,004,017,037,017,016,016,016}, U(2546) },
+ {{016,016,016,037,037,037,004,004,004}, U(2547) },
+ {{004,004,004,037,037,037,016,016,016}, U(2548) },
+ {{016,016,016,036,037,036,016,016,016}, U(2549) },
+ {{016,016,016,017,037,017,016,016,016}, U(254A) },
+ {{016,016,016,037,037,037,016,016,016}, U(254B) },
  {{000,000,000,037,000,037,000,000,000}, 0x2550, "SF430000" },
  {{012,012,012,012,012,012,012,012,012}, 0x2551, "SF240000" },
  {{000,000,000,007,004,007,004,004,004}, 0x2552, "SF510000" },
@@ -1422,47 +1425,47 @@ static struct glyph {
  {{025,000,012,000,025,000,012,000,025}, 0x2591, "ltshade" },
  {{022,011,004,022,011,004,022,011,004}, 0x2592, "shade" },
  {{025,037,012,037,025,037,012,037,025}, 0x2593, "dkshade" },
- {{ 4},   0x2596, NULL, MOS4 }, {{ 8},   0x2597, NULL, MOS4 },
- {{ 1},   0x2598, NULL, MOS4 }, {{13},   0x2599, NULL, MOS4 },
- {{ 9},   0x259a, NULL, MOS4 }, {{ 7},   0x259b, NULL, MOS4 },
- {{11},   0x259c, NULL, MOS4 }, {{ 2},   0x259d, NULL, MOS4 },
- {{ 6},   0x259e, NULL, MOS4 }, {{14},   0x259f, NULL, MOS4 },
+ {{ 4}, U(2596), MOS4 }, {{ 8}, U(2597), MOS4 },
+ {{ 1}, U(2598), MOS4 }, {{13}, U(2599), MOS4 },
+ {{ 9}, U(259A), MOS4 }, {{ 7}, U(259B), MOS4 },
+ {{11}, U(259C), MOS4 }, {{ 2}, U(259D), MOS4 },
+ {{ 6}, U(259E), MOS4 }, {{14}, U(259F), MOS4 },
 
  /* Geometric shapes */
  {{037,021,021,021,021,021,037,000,000}, 0x25a1, "H22073" },
  {{000,000,016,016,016,000,000,000,000}, 0x25aa, "H18543" },
  {{000,000,016,012,016,000,000,000,000}, 0x25ab, "H18551" },
  {{000,000,037,037,037,000,000,000,000}, 0x25ac, "filledrect" },
- {{000,000,037,021,037,000,000,000,000}, 0x25ad }, /* rect */
+ {{000,000,037,021,037,000,000,000,000}, U(25AD) }, /* rect */
  {{004,004,016,016,037,037,037,000,000}, 0x25b2, "triagup" },
- {{010,014,016,017,016,014,010,000,000}, 0x25b6 }, /* blacktriangleright */
- {{030,024,022,021,022,024,030,000,000}, 0x25b7 }, /* whitetriangleright */
+ {{010,014,016,017,016,014,010,000,000}, U(25B6) }, /* blacktriangleright */
+ {{030,024,022,021,022,024,030,000,000}, U(25B7) }, /* whitetriangleright */
  {{000,020,034,037,034,020,000,000,000}, 0x25ba, "triagrt" },
  {{037,037,037,016,016,004,004,000,000}, 0x25bc, "triagdn" },
- {{001,003,007,017,007,003,001,000,000}, 0x25c0 }, /* blacktriangleleft */
- {{003,005,011,021,011,005,003,000,000}, 0x25c1 }, /* whitetriangleleft */
+ {{001,003,007,017,007,003,001,000,000}, U(25C0) }, /* blacktriangleleft */
+ {{003,005,011,021,011,005,003,000,000}, U(25C1) }, /* whitetriangleleft */
  {{000,001,007,037,007,001,000,000,000}, 0x25c4, "triaglf" },
- {{000,004,016,037,016,004,000,000,000}, 0x25c6 }, /* black diamond shape */
- {{000,004,012,021,012,004,000,000,000}, 0x25c7 }, /* white diamond shape */
+ {{000,004,016,037,016,004,000,000,000}, U(25C6) }, /* black diamond shape */
+ {{000,004,012,021,012,004,000,000,000}, U(25C7) }, /* white diamond shape */
  {{000,016,021,021,021,016,000,000,000}, 0x25cb, "circle" },
- {{000,004,021,000,021,004,000,000,000}, 0x25cc }, /* dottedcircle */
+ {{000,004,021,000,021,004,000,000,000}, U(25CC) }, /* dottedcircle */
  {{000,016,037,037,037,016,000,000,000}, 0x25cf, "H18533" },
  {{037,037,021,021,021,037,037,000,000}, 0x25d8, "invbullet" },
  {{037,021,004,016,004,021,037,000,000}, 0x25d9, "invcircle" },
- {{000,037,025,035,021,037,000,000,000}, 0x25f0 }, /* square upper left quad */
- {{000,037,021,035,025,037,000,000,000}, 0x25f1 }, /* square lower left quad */
- {{000,037,025,027,021,037,000,000,000}, 0x25f2 }, /* square lower right quad */
- {{000,037,021,027,025,037,000,000,000}, 0x25f3 }, /* square upper right quad */
- {{000,016,025,035,021,016,000,000,000}, 0x25f4 }, /* circle upper left quad */
- {{000,016,021,035,025,016,000,000,000}, 0x25f5 }, /* circle lower left quad */
- {{000,016,025,027,021,016,000,000,000}, 0x25f6 }, /* circle lower right quad */
- {{000,016,021,027,025,016,000,000,000}, 0x25f7 }, /* circle upper right quad */
+ {{000,037,025,035,021,037,000,000,000}, U(25F0) }, /* square upper left quad */
+ {{000,037,021,035,025,037,000,000,000}, U(25F1) }, /* square lower left quad */
+ {{000,037,025,027,021,037,000,000,000}, U(25F2) }, /* square lower right quad */
+ {{000,037,021,027,025,037,000,000,000}, U(25F3) }, /* square upper right quad */
+ {{000,016,025,035,021,016,000,000,000}, U(25F4) }, /* circle upper left quad */
+ {{000,016,021,035,025,016,000,000,000}, U(25F5) }, /* circle lower left quad */
+ {{000,016,025,027,021,016,000,000,000}, U(25F6) }, /* circle lower right quad */
+ {{000,016,021,027,025,016,000,000,000}, U(25F7) }, /* circle upper right quad */
 
  /* Miscellaneous symbols */
- {{001,002,004,010,005,003,007,000,000}, 0x2607 }, /* lightning */
- {{037,022,024,030,025,023,027,000,000}, 0x2608 }, /* thunderstorm */
- {{000,016,021,025,021,016,000,000,000}, 0x2609 }, /* astrological sun */
- {{000,012,000,000,016,021,000,000,000}, 0x2639 }, /* frownface */
+ {{001,002,004,010,005,003,007,000,000}, U(2607) }, /* lightning */
+ {{037,022,024,030,025,023,027,000,000}, U(2608) }, /* thunderstorm */
+ {{000,016,021,025,021,016,000,000,000}, U(2609) }, /* astrological sun */
+ {{000,012,000,000,016,021,000,000,000}, U(2639) }, /* frownface */
  {{000,012,000,000,021,016,000,000,000}, 0x263a, "smileface" },
  {{016,037,025,037,037,021,016,000,000}, 0x263b, "invsmileface" },
  {{000,025,016,033,016,025,000,000,000}, 0x263c, "sun" },
@@ -1472,74 +1475,74 @@ static struct glyph {
  {{000,016,016,037,037,004,016,000,000}, 0x2663, "club" },
  {{000,012,037,037,016,004,000,000,000}, 0x2665, "heart" },
  {{000,004,016,037,016,004,000,000,000}, 0x2666, "diamond" },
- {{002,002,002,002,006,016,004,000,000}, 0x2669 }, /* crotchet */
+ {{002,002,002,002,006,016,004,000,000}, U(2669) }, /* crotchet */
  {{004,006,005,005,014,034,010,000,000}, 0x266a, "musicalnote" },
  {{003,015,011,011,013,033,030,000,000}, 0x266b, "musicalnotedbl" },
- {{017,011,017,011,011,033,033,000,000}, 0x266c }, /* semiquavers */
- {{010,010,013,015,011,012,014,000,000}, 0x266d }, /* flat */
- {{010,013,015,011,013,015,001,000,000}, 0x266e }, /* natural */
- {{002,013,016,033,016,032,010,000,000}, 0x266f }, /* sharp */
+ {{017,011,017,011,011,033,033,000,000}, U(266C) }, /* semiquavers */
+ {{010,010,013,015,011,012,014,000,000}, U(266D) }, /* flat */
+ {{010,013,015,011,013,015,001,000,000}, U(266E) }, /* natural */
+ {{002,013,016,033,016,032,010,000,000}, U(266F) }, /* sharp */
 
  /* Dingbats */
- {{000,004,022,017,022,004,000,000,000}, 0x2708 }, /* airplane */
- {{000,000,001,002,024,010,000,000,000}, 0x2713 }, /* tick (ACK) */
+ {{000,004,022,017,022,004,000,000,000}, U(2708) }, /* airplane */
+ {{000,000,001,002,024,010,000,000,000}, U(2713) }, /* tick (ACK) */
 
  /* Supplemental arrows-B */
- {{000,037,016,025,004,004,000,000,000}, 0x2912 }, /* arrowupbar */
- {{000,004,004,025,016,037,000,000,000}, 0x2913 }, /* arrowdownbar */
- {{000,004,016,025,004,030,000,000,000}, 0x2934 }, /* arrow right curve up */
- {{000,030,004,025,016,004,000,000,000}, 0x2935 }, /* arrow right curve down */
- {{001,005,011,036,010,004,000,000,000}, 0x2936 }, /* arrow down curve left */
- {{020,024,022,017,002,004,000,000,000}, 0x2937 }, /* arrow down curve right */
- {{000,024,030,037,020,020,000,000,000}, 0x2952 }, /* harpoons to bars... */
- {{000,005,003,037,001,001,000,000,000}, 0x2953 },
- {{000,037,006,005,004,004,000,000,000}, 0x2954 },
- {{000,004,004,005,006,037,000,000,000}, 0x2955 },
- {{000,020,020,037,030,024,000,000,000}, 0x2956 },
- {{000,001,001,037,003,005,000,000,000}, 0x2957 },
- {{000,037,014,024,004,004,000,000,000}, 0x2958 },
- {{000,004,004,024,014,037,000,000,000}, 0x2959 },
- {{000,005,011,037,001,001,000,000,000}, 0x295a }, /* ... and from bars */
- {{000,024,022,037,020,020,000,000,000}, 0x295b },
- {{000,004,006,005,004,037,000,000,000}, 0x295c },
- {{000,037,004,005,006,004,000,000,000}, 0x295d },
- {{000,001,001,037,011,005,000,000,000}, 0x295e },
- {{000,020,020,037,022,024,000,000,000}, 0x295f },
- {{000,004,014,024,004,037,000,000,000}, 0x2960 },
- {{000,037,004,024,014,004,000,000,000}, 0x2961 },
+ {{000,037,016,025,004,004,000,000,000}, U(2912) }, /* arrowupbar */
+ {{000,004,004,025,016,037,000,000,000}, U(2913) }, /* arrowdownbar */
+ {{000,004,016,025,004,030,000,000,000}, U(2934) }, /* arrow right curve up */
+ {{000,030,004,025,016,004,000,000,000}, U(2935) }, /* arrow right curve down */
+ {{001,005,011,036,010,004,000,000,000}, U(2936) }, /* arrow down curve left */
+ {{020,024,022,017,002,004,000,000,000}, U(2937) }, /* arrow down curve right */
+ {{000,024,030,037,020,020,000,000,000}, U(2952) }, /* harpoons to bars... */
+ {{000,005,003,037,001,001,000,000,000}, U(2953) },
+ {{000,037,006,005,004,004,000,000,000}, U(2954) },
+ {{000,004,004,005,006,037,000,000,000}, U(2955) },
+ {{000,020,020,037,030,024,000,000,000}, U(2956) },
+ {{000,001,001,037,003,005,000,000,000}, U(2957) },
+ {{000,037,014,024,004,004,000,000,000}, U(2958) },
+ {{000,004,004,024,014,037,000,000,000}, U(2959) },
+ {{000,005,011,037,001,001,000,000,000}, U(295A) }, /* ... and from bars */
+ {{000,024,022,037,020,020,000,000,000}, U(295B) },
+ {{000,004,006,005,004,037,000,000,000}, U(295C) },
+ {{000,037,004,005,006,004,000,000,000}, U(295D) },
+ {{000,001,001,037,011,005,000,000,000}, U(295E) },
+ {{000,020,020,037,022,024,000,000,000}, U(295F) },
+ {{000,004,014,024,004,037,000,000,000}, U(2960) },
+ {{000,037,004,024,014,004,000,000,000}, U(2961) },
 
  /* Miscellaneous mathematical symbols-A */
- {{025,025,025,025,025,025,025,000,000}, 0x2980 }, /* triple vertical bar */
+ {{025,025,025,025,025,025,025,000,000}, U(2980) }, /* triple vertical bar */
 
  /* Supplemental mathematical operators */
- {{025,025,025,025,025,025,025,000,000}, 0x2af4 }, /* triple v bar operator */
- {{025,025,025,025,025,025,025,025,025}, 0x2afc }, /* large triple vert bar */
+ {{025,025,025,025,025,025,025,000,000}, U(2AF4) }, /* triple v bar operator */
+ {{025,025,025,025,025,025,025,025,025}, U(2AFC) }, /* large triple vert bar */
 
  /* Miscellaneous symbols and arrows */
- {{000,025,000,021,000,025,000,000,000}, 0x2b1a }, /* dottedsquare */
+ {{000,025,000,021,000,025,000,000,000}, U(2B1A) }, /* dottedsquare */
 
  /* Latin extended-C */
- {{000,000,022,025,024,024,010,000,000}, 0x2c71 }, /* vhook */
+ {{000,000,022,025,024,024,010,000,000}, U(2C71) }, /* vhook */
 
  /* Private use */
  /* U+EE00--U+EE7F: zvbi mosaic graphics */
-#define M(x) {{(x)}, 0xee00 + (x), NULL, MOS}
- M(0x00), M(0x01), M(0x02), M(0x03), M(0x04), M(0x05), M(0x06), M(0x07),
- M(0x08), M(0x09), M(0x0a), M(0x0b), M(0x0c), M(0x0d), M(0x0e), M(0x0f),
- M(0x10), M(0x11), M(0x12), M(0x13), M(0x14), M(0x15), M(0x16), M(0x17),
- M(0x18), M(0x19), M(0x1a), M(0x1b), M(0x1c), M(0x1d), M(0x1e), M(0x1f),
- M(0x20), M(0x21), M(0x22), M(0x23), M(0x24), M(0x25), M(0x26), M(0x27),
- M(0x28), M(0x29), M(0x2a), M(0x2b), M(0x2c), M(0x2d), M(0x2e), M(0x2f),
- M(0x30), M(0x31), M(0x32), M(0x33), M(0x34), M(0x35), M(0x36), M(0x37),
- M(0x38), M(0x39), M(0x3a), M(0x3b), M(0x3c), M(0x3d), M(0x3e), M(0x3f),
- M(0x40), M(0x41), M(0x42), M(0x43), M(0x44), M(0x45), M(0x46), M(0x47),
- M(0x48), M(0x49), M(0x4a), M(0x4b), M(0x4c), M(0x4d), M(0x4e), M(0x4f),
- M(0x50), M(0x51), M(0x52), M(0x53), M(0x54), M(0x55), M(0x56), M(0x57),
- M(0x58), M(0x59), M(0x5a), M(0x5b), M(0x5c), M(0x5d), M(0x5e), M(0x5f),
- M(0x60), M(0x61), M(0x62), M(0x63), M(0x64), M(0x65), M(0x66), M(0x67),
- M(0x68), M(0x69), M(0x6a), M(0x6b), M(0x6c), M(0x6d), M(0x6e), M(0x6f),
- M(0x70), M(0x71), M(0x72), M(0x73), M(0x74), M(0x75), M(0x76), M(0x77),
- M(0x78), M(0x79), M(0x7a), M(0x7b), M(0x7c), M(0x7d), M(0x7e), M(0x7f),
+#define M(x) {{0x##x}, U(EE##x), MOS}
+ M(00), M(01), M(02), M(03), M(04), M(05), M(06), M(07),
+ M(08), M(09), M(0A), M(0B), M(0C), M(0D), M(0E), M(0F),
+ M(10), M(11), M(12), M(13), M(14), M(15), M(16), M(17),
+ M(18), M(19), M(1A), M(1B), M(1C), M(1D), M(1E), M(1F),
+ M(20), M(21), M(22), M(23), M(24), M(25), M(26), M(27),
+ M(28), M(29), M(2A), M(2B), M(2C), M(2D), M(2E), M(2F),
+ M(30), M(31), M(32), M(33), M(34), M(35), M(36), M(37),
+ M(38), M(39), M(3A), M(3B), M(3C), M(3D), M(3E), M(3F),
+ M(40), M(41), M(42), M(43), M(44), M(45), M(46), M(47),
+ M(48), M(49), M(4A), M(4B), M(4C), M(4D), M(4E), M(4F),
+ M(50), M(51), M(52), M(53), M(54), M(55), M(56), M(57),
+ M(58), M(59), M(5A), M(5B), M(5C), M(5D), M(5E), M(5F),
+ M(60), M(61), M(62), M(63), M(64), M(65), M(66), M(67),
+ M(68), M(69), M(6A), M(6B), M(6C), M(6D), M(6E), M(6F),
+ M(70), M(71), M(72), M(73), M(74), M(75), M(76), M(77),
+ M(78), M(79), M(7A), M(7B), M(7C), M(7D), M(7E), M(7F),
 #undef M
 
  /* Alphabetic presentation forms */
@@ -1547,92 +1550,94 @@ static struct glyph {
  {{006,012,012,036,012,012,017,000,000}, 0xfb02, "fl" },
 
  /* Specials */
- {{016,021,025,011,016,012,016,000,000}, 0xfffd }, /* replacement */
+ {{016,021,025,011,016,012,016,000,000}, U(FFFD) }, /* replacement */
 
  /* Shavian */
- {{030,004,004,004,004,004,004,000,000}, 0x10450 }, /* peep */
- {{014,024,004,004,004,004,004,000,000}, 0x10451 }, /* tot */
- {{004,004,004,014,020,020,014,000,000}, 0x10452 }, /* kick */
- {{004,004,004,004,004,004,030,000,000}, 0x10453 }, /* fee */
- {{014,002,001,017,021,021,016,000,000}, 0x10454 }, /* thigh */
- {{017,020,016,001,001,001,036,000,000}, 0x10455 }, /* so */
- {{001,002,004,010,020,020,016,000,000}, 0x10456 }, /* sure */
- {{015,022,004,010,020,020,016,000,000}, 0x10457 }, /* church */
- {{020,020,010,004,002,001,001,000,000}, 0x10458 }, /* yea */
- {{004,012,021,012,004,012,021,000,000}, 0x10459 }, /* hung */
- {{000,000,004,004,004,004,004,004,003}, 0x1045a }, /* bib */
- {{000,000,004,004,004,004,004,005,006}, 0x1045b }, /* dead */
- {{000,000,006,001,001,006,004,004,004}, 0x1045c }, /* gag */
- {{000,000,003,004,004,004,004,004,004}, 0x1045d }, /* vow */
- {{000,000,016,021,021,036,020,010,006}, 0x1045e }, /* they */
- {{000,000,036,001,001,001,016,020,017}, 0x1045f }, /* zoo */
- {{000,000,016,001,001,002,004,010,020}, 0x10460 }, /* measure */
- {{000,000,016,001,001,002,004,011,026}, 0x10461 }, /* judge */
- {{000,000,001,001,002,004,010,020,020}, 0x10462 }, /* woe */
- {{000,000,021,012,004,012,021,012,004}, 0x10463 }, /* ha-ha */
- {{000,000,017,020,020,020,017,000,000}, 0x10464 }, /* loll */
- {{000,000,003,002,004,010,030,000,000}, 0x10465 }, /* mime */
- {{000,000,004,004,004,004,004,000,000}, 0x10466 }, /* if */
- {{000,000,004,004,004,004,003,000,000}, 0x10467 }, /* egg */
- {{000,000,004,004,004,004,030,000,000}, 0x10468 }, /* ash */
- {{000,000,003,004,004,004,004,000,000}, 0x10469 }, /* ado */
- {{000,000,030,004,004,004,004,000,000}, 0x1046a }, /* on */
- {{000,000,021,021,012,012,004,000,000}, 0x1046b }, /* wool */
- {{000,000,004,010,034,004,002,000,000}, 0x1046c }, /* out */
- {{000,000,006,010,007,002,034,000,000}, 0x1046d }, /* ah */
- {{000,000,036,001,001,001,036,000,000}, 0x1046e }, /* roar */
- {{000,000,030,010,004,002,003,000,000}, 0x1046f }, /* nun */
- {{000,000,020,023,025,031,001,000,000}, 0x10470 }, /* eat */
- {{000,000,037,020,010,004,003,000,000}, 0x10471 }, /* age */
- {{000,000,037,001,002,004,030,000,000}, 0x10472 }, /* ice */
- {{000,000,037,001,016,020,020,000,000}, 0x10473 }, /* up */
- {{000,000,016,021,021,021,016,000,000}, 0x10474 }, /* oak */
- {{000,000,004,012,012,021,021,000,000}, 0x10475 }, /* ooze */
- {{000,000,030,007,002,004,010,000,000}, 0x10476 }, /* oil */
- {{000,000,034,003,001,002,001,000,000}, 0x10477 }, /* awe */
- {{000,000,016,022,021,011,032,000,000}, 0x10478 }, /* are */
- {{000,000,013,022,021,011,016,000,000}, 0x10479 }, /* or */
- {{000,000,016,021,011,021,022,000,000}, 0x1047a }, /* air */
- {{000,000,011,021,022,021,016,000,000}, 0x1047b }, /* err */
- {{000,000,006,011,021,021,026,000,000}, 0x1047c }, /* array */
- {{000,000,026,031,021,021,026,000,000}, 0x1047d }, /* ear */
- {{000,000,027,030,020,020,020,000,000}, 0x1047e }, /* ian */
- {{000,000,020,020,022,025,015,000,000}, 0x1047f },  /* yew */
+ {{030,004,004,004,004,004,004,000,000}, U(10450) }, /* peep */
+ {{014,024,004,004,004,004,004,000,000}, U(10451) }, /* tot */
+ {{004,004,004,014,020,020,014,000,000}, U(10452) }, /* kick */
+ {{004,004,004,004,004,004,030,000,000}, U(10453) }, /* fee */
+ {{014,002,001,017,021,021,016,000,000}, U(10454) }, /* thigh */
+ {{017,020,016,001,001,001,036,000,000}, U(10455) }, /* so */
+ {{001,002,004,010,020,020,016,000,000}, U(10456) }, /* sure */
+ {{015,022,004,010,020,020,016,000,000}, U(10457) }, /* church */
+ {{020,020,010,004,002,001,001,000,000}, U(10458) }, /* yea */
+ {{004,012,021,012,004,012,021,000,000}, U(10459) }, /* hung */
+ {{000,000,004,004,004,004,004,004,003}, U(1045A) }, /* bib */
+ {{000,000,004,004,004,004,004,005,006}, U(1045B) }, /* dead */
+ {{000,000,006,001,001,006,004,004,004}, U(1045C) }, /* gag */
+ {{000,000,003,004,004,004,004,004,004}, U(1045D) }, /* vow */
+ {{000,000,016,021,021,036,020,010,006}, U(1045E) }, /* they */
+ {{000,000,036,001,001,001,016,020,017}, U(1045F) }, /* zoo */
+ {{000,000,016,001,001,002,004,010,020}, U(10460) }, /* measure */
+ {{000,000,016,001,001,002,004,011,026}, U(10461) }, /* judge */
+ {{000,000,001,001,002,004,010,020,020}, U(10462) }, /* woe */
+ {{000,000,021,012,004,012,021,012,004}, U(10463) }, /* ha-ha */
+ {{000,000,017,020,020,020,017,000,000}, U(10464) }, /* loll */
+ {{000,000,003,002,004,010,030,000,000}, U(10465) }, /* mime */
+ {{000,000,004,004,004,004,004,000,000}, U(10466) }, /* if */
+ {{000,000,004,004,004,004,003,000,000}, U(10467) }, /* egg */
+ {{000,000,004,004,004,004,030,000,000}, U(10468) }, /* ash */
+ {{000,000,003,004,004,004,004,000,000}, U(10469) }, /* ado */
+ {{000,000,030,004,004,004,004,000,000}, U(1046A) }, /* on */
+ {{000,000,021,021,012,012,004,000,000}, U(1046B) }, /* wool */
+ {{000,000,004,010,034,004,002,000,000}, U(1046C) }, /* out */
+ {{000,000,006,010,007,002,034,000,000}, U(1046D) }, /* ah */
+ {{000,000,036,001,001,001,036,000,000}, U(1046E) }, /* roar */
+ {{000,000,030,010,004,002,003,000,000}, U(1046F) }, /* nun */
+ {{000,000,020,023,025,031,001,000,000}, U(10470) }, /* eat */
+ {{000,000,037,020,010,004,003,000,000}, U(10471) }, /* age */
+ {{000,000,037,001,002,004,030,000,000}, U(10472) }, /* ice */
+ {{000,000,037,001,016,020,020,000,000}, U(10473) }, /* up */
+ {{000,000,016,021,021,021,016,000,000}, U(10474) }, /* oak */
+ {{000,000,004,012,012,021,021,000,000}, U(10475) }, /* ooze */
+ {{000,000,030,007,002,004,010,000,000}, U(10476) }, /* oil */
+ {{000,000,034,003,001,002,001,000,000}, U(10477) }, /* awe */
+ {{000,000,016,022,021,011,032,000,000}, U(10478) }, /* are */
+ {{000,000,013,022,021,011,016,000,000}, U(10479) }, /* or */
+ {{000,000,016,021,011,021,022,000,000}, U(1047A) }, /* air */
+ {{000,000,011,021,022,021,016,000,000}, U(1047B) }, /* err */
+ {{000,000,006,011,021,021,026,000,000}, U(1047C) }, /* array */
+ {{000,000,026,031,021,021,026,000,000}, U(1047D) }, /* ear */
+ {{000,000,027,030,020,020,020,000,000}, U(1047E) }, /* ian */
+ {{000,000,020,020,022,025,015,000,000}, U(1047F) },  /* yew */
 
  /* Transport and map symbols */
- {{004,012,012,012,033,033,025,000,000}, 0x1f680 }, /* rocket */
- {{000,034,010,011,027,010,000,000,000}, 0x1f681 }, /* helicopter */
- {{000,000,013,036,037,025,000,000,000}, 0x1f682 }, /* steamlocomotive */
- {{000,007,017,027,037,011,000,000,000}, 0x1f69a }, /* deliverytruck */
+ {{004,012,012,012,033,033,025,000,000}, U(1F680) }, /* rocket */
+ {{000,034,010,011,027,010,000,000,000}, U(1F681) }, /* helicopter */
+ {{000,000,013,036,037,025,000,000,000}, U(1F682) }, /* steamlocomotive */
+ {{000,007,017,027,037,011,000,000,000}, U(1F69A) }, /* deliverytruck */
 
  /* Graphics for legacy computing */
-#define M(x) {{((x) & 0x1f|((x) & 0x20) << 1)}, 0x1fb00 + (x) - 1, NULL, MOS }
- /* SP */ M(0x01), M(0x02), M(0x03), M(0x04), M(0x05), M(0x06), M(0x07),
- M(0x08), M(0x09), M(0x0a), M(0x0b), M(0x0c), M(0x0d), M(0x0e), M(0x0f),
- M(0x10), M(0x11), M(0x12), M(0x13), M(0x14), /* lfblock */
-#undef M
-#define M(x) {{((x) & 0x1f|((x) & 0x20) << 1)}, 0x1fb00 + (x) - 2, NULL, MOS }
-                                                       M(0x16), M(0x17),
- M(0x18), M(0x19), M(0x1a), M(0x1b), M(0x1c), M(0x1d), M(0x1e), M(0x1f),
- M(0x20), M(0x21), M(0x22), M(0x23), M(0x24), M(0x25), M(0x26), M(0x27),
- M(0x28), M(0x29), /* rtblock */
-#undef M
-#define M(x) {{((x) & 0x1f|((x) & 0x20) << 1)}, 0x1fb00 + (x) - 3, NULL, MOS }
-                            M(0x2b), M(0x2c), M(0x2d), M(0x2e), M(0x2f),
- M(0x30), M(0x31), M(0x32), M(0x33), M(0x34), M(0x35), M(0x36), M(0x37),
- M(0x38), M(0x39), M(0x3a), M(0x3b), M(0x3c), M(0x3d), M(0x3e), /* block */
+#define M(x, u) { {(x)}, U(u), MOS }
+ /* space */     M(0x01, 1FB00), M(0x02, 1FB01), M(0x03, 1FB02),
+ M(0x04, 1FB03), M(0x05, 1FB04), M(0x06, 1FB05), M(0x07, 1FB06),
+ M(0x08, 1FB07), M(0x09, 1FB08), M(0x0a, 1FB09), M(0x0b, 1FB0A),
+ M(0x0c, 1FB0B), M(0x0d, 1FB0C), M(0x0e, 1FB0D), M(0x0f, 1FB0E),
+ M(0x10, 1FB0F), M(0x11, 1FB10), M(0x12, 1FB11), M(0x13, 1FB12),
+ M(0x14, 1FB13), /* lfblock */   M(0x16, 1FB14), M(0x17, 1FB15),
+ M(0x18, 1FB16), M(0x19, 1FB17), M(0x1a, 1FB18), M(0x1b, 1FB19),
+ M(0x1c, 1FB1A), M(0x1d, 1FB1B), M(0x1e, 1FB1C), M(0x1f, 1FB1D),
+ M(0x40, 1FB1E), M(0x41, 1FB1F), M(0x42, 1FB20), M(0x43, 1FB21),
+ M(0x44, 1FB22), M(0x45, 1FB23), M(0x46, 1FB24), M(0x47, 1FB25),
+ M(0x48, 1FB26), M(0x49, 1FB27), /* rtblock */   M(0x4b, 1FB28),
+ M(0x4c, 1FB29), M(0x4d, 1FB2A), M(0x4e, 1FB2B), M(0x4f, 1FB2C),
+ M(0x50, 1FB2D), M(0x51, 1FB2E), M(0x52, 1FB2F), M(0x53, 1FB30),
+ M(0x54, 1FB31), M(0x55, 1FB32), M(0x56, 1FB33), M(0x57, 1FB34),
+ M(0x58, 1FB35), M(0x59, 1FB36), M(0x5a, 1FB37), M(0x5b, 1FB38),
+ M(0x5c, 1FB39), M(0x5d, 1FB3A), M(0x5e, 1FB3B), /* block */
 #undef M
- {{030,024,022,021,027,030,000,000,000}, 0x1fbb0 }, /* arrowheadptr */
- {{000,012,033,000,033,012,000,000,000}, 0x1fbbb }, /* voided Greek cross */
- {{000,037,001,005,001,037,000,000,000}, 0x1fbbc }, /* right open square dot */
- {{012,025,021,012,021,025,012,000,000}, 0x1fbc0 }, /* RISC OS close button */
- {{037,021,035,031,037,033,037,000,000}, 0x1fbc4 }, /* invquestion */
- {{004,012,012,004,037,004,004,012,021}, 0x1fbc5 }, /* stick figure */
- {{004,012,012,004,025,016,004,012,021}, 0x1fbc6 }, /* ... with arms up */
- {{004,012,012,004,015,026,004,012,011}, 0x1fbc7 }, /* ... leaning left */
- {{004,012,012,004,026,015,004,012,022}, 0x1fbc8 }, /* ... leaning right */
- {{004,012,012,004,037,012,021,037,012}, 0x1fbc9 }, /* ... wearing dress */
- {{004,012,021,021,025,033,021,000,000}, 0x1fbca }, /* white chevron up */
+ {{030,024,022,021,027,030,000,000,000}, U(1FBB0) }, /* arrowheadptr */
+ {{000,012,033,000,033,012,000,000,000}, U(1FBBB) }, /* voided Greek cross */
+ {{000,037,001,005,001,037,000,000,000}, U(1FBBC) }, /* right open square dot */
+ {{012,025,021,012,021,025,012,000,000}, U(1FBC0) }, /* RISC OS close button */
+ {{037,021,035,031,037,033,037,000,000}, U(1FBC4) }, /* invquestion */
+ {{004,012,012,004,037,004,004,012,021}, U(1FBC5) }, /* stick figure */
+ {{004,012,012,004,025,016,004,012,021}, U(1FBC6) }, /* ... with arms up */
+ {{004,012,012,004,015,026,004,012,011}, U(1FBC7) }, /* ... leaning left */
+ {{004,012,012,004,026,015,004,012,022}, U(1FBC8) }, /* ... leaning right */
+ {{004,012,012,004,037,012,021,037,012}, U(1FBC9) }, /* ... wearing dress */
+ {{004,012,021,021,025,033,021,000,000}, U(1FBCA) }, /* white chevron up */
  
  /* Latin small caps */
  {{000,000,016,021,037,021,021,000,000}, -1, "a.sc" },
@@ -1667,6 +1672,8 @@ static struct glyph {
  {{037,021,021,021,021,021,037,000,000}, -1, ".notdef" },
 };
 
+#undef U
+
 #define NGLYPHS (sizeof(glyphs) / sizeof(glyphs[0]))
 static int const nglyphs = NGLYPHS;
 
@@ -1723,22 +1730,8 @@ compare_glyphs_by_name(const void *va, const void *vb)
 {
        struct glyph const * const *ap = va, * const *bp = vb;
        struct glyph const *a = *ap, *b = *bp;
-       char a_buf[10], b_buf[10];
-       char const *an, *bn;
 
-       if (a->name) {
-               an = a->name;
-       } else {
-               sprintf(a_buf, "uni%04X.", a->unicode);
-               an = a_buf;
-       }
-       if (b->name) {
-               bn = b->name;
-       } else {
-               sprintf(b_buf, "uni%04X.", b->unicode);
-               bn = b_buf;
-       }
-       return strcmp(an, bn);
+       return strcmp(a->name, b->name);
 }
 
 int
@@ -1897,11 +1890,7 @@ main(int argc, char **argv)
        qsort(glyphs_by_name, nglyphs, sizeof(glyphs_by_name[0]),
              &compare_glyphs_by_name);
        for (i = 0; i < nglyphs; i++) {
-               if (glyphs[i].name)
-                       printf("\nStartChar: %s\n", glyphs[i].name);
-               else
-                       printf("\nStartChar: uni%04X\n",
-                           (unsigned)glyphs[i].unicode);
+               printf("\nStartChar: %s\n", glyphs[i].name);
                printf("Encoding: %d %d %d\n",
                    glyphs[i].unicode != -1 ? glyphs[i].unicode :
                    0x110000 + extraglyphs++, glyphs[i].unicode, i);
@@ -2082,10 +2071,7 @@ dolookups(struct glyph const *g)
        size_t plen;
        int i;
 
-       if (g->name)
-               plen = sprintf(prefix, "%s.", g->name);
-       else
-               plen = sprintf(prefix, "uni%04X.", g->unicode);
+       plen = sprintf(prefix, "%s.", g->name);
        assert(plen < 32);
 
        /* Look for related glyphs */
@@ -2739,10 +2725,7 @@ glyph_complement()
                        printf("(U+%04X)", g->unicode);
                else
                        printf("()");
-               if (g->name != NULL)
-                       printf("/%s ", g->name);
-               else
-                       printf("/uni%04X ", g->unicode);
+               printf("/%s ", g->name);
                printf("exemplify grestore\n");
        }
        printf("showpage\n");