Rename glyphs for non-BMP characters to match AGL spec

I'd been calling them "uniXXXXX", but "uXXXXX" is correct.  This
requires a huge pile of aliases for backward compatibility.
This commit is contained in:
Ben Harris 2020-06-21 14:30:20 +01:00
parent 3b7e3ba4cd
commit e467599a0d

View File

@ -230,7 +230,7 @@ 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
#define U(N) 0x ## N, 0x ## N >= 0x10000 ? "u" #N : "uni" #N
#define ALIAS(alias, canonical) {{},-1,alias,0,canonical}
static struct glyph {
@ -1195,7 +1195,6 @@ static struct glyph {
/* Letterlike symbols */
{{016,021,035,033,033,035,031,021,016}, U(2117) }, /* phonographic */
{{016,021,021,021,021,012,033,000,000}, 0x2126, "Omega" },
ALIAS("uni2126", "Omega"), /* for compatibility with 002.001 */
{{033,012,021,021,021,021,016,000,000}, U(2127) }, /* mho sign */
{{000,000,010,004,004,004,006,000,000}, U(2129) }, /* turned iota */
{{001,001,001,017,001,001,037,000,000}, U(2132) }, /* turned F */
@ -1329,7 +1328,6 @@ static struct glyph {
{{000,037,021,021,021,021,000,000,000}, U(2293) }, /* square cap */
{{000,021,021,021,021,037,000,000,000}, U(2294) }, /* square cup */
{{000,016,025,037,025,016,000,000,000}, 0x2295, "circleplus" },
ALIAS("uni2295", "circleplus"), /* for compatibility with 002.001 */
{{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 */
@ -1932,7 +1930,7 @@ static struct glyph {
{{000,007,017,027,037,011,000,000,000}, U(1F69A) }, /* deliverytruck */
/* Symbols for legacy computing */
#define M(x, u) { {x}, U(u), MOS6 }, { {x}, -1, "uni" #u ".sep6", SEP6 }
#define M(x, u) { {x}, U(u), MOS6 }, { {x}, -1, "u" #u ".sep6", SEP6 }
/* 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),
@ -1998,6 +1996,43 @@ static struct glyph {
{{000,000,020,036,021,036,020,000,000}, -1, "thorn.sc" },
ALIAS("Thorn.c2sc", "thorn.sc"),
/*
* Backward compatibility aliases. These are glyphs whose name has
* changed and where we want to keep the old name working. All of
* these were added in Bedstead 002.002.
*/
ALIAS("uni2126", "Omega"),
ALIAS("uni2295", "circleplus"),
#define UA(u) ALIAS("uni" #u, "u" #u)
UA(10450), UA(10451), UA(10452), UA(10453), UA(10454), UA(10455), UA(10456),
UA(10457), UA(10458), UA(10459), UA(1045A), UA(1045B), UA(1045C), UA(1045D),
UA(1045E), UA(1045F), UA(10460), UA(10461), UA(10462), UA(10463), UA(10464),
UA(10465), UA(10466), UA(10467), UA(10468), UA(10469), UA(1046A), UA(1046B),
UA(1046C), UA(1046D), UA(1046E), UA(1046F), UA(10470), UA(10471), UA(10472),
UA(10473), UA(10474), UA(10475), UA(10476), UA(10477), UA(10478), UA(10479),
UA(1047A), UA(1047B), UA(1047C), UA(1047D), UA(1047E), UA(1047F), UA(1F680),
UA(1F681), UA(1F682), UA(1F69A), UA(1FBB0), UA(1FBBB), UA(1FBBC), UA(1FBC0),
UA(1FBC4), UA(1FBC5), UA(1FBC6), UA(1FBC7), UA(1FBC8), UA(1FBC9), UA(1FBCA),
#undef UA
#define UA6(u) ALIAS("uni" #u, "u" #u), ALIAS("uni" #u ".sep6", "u" #u ".sep6")
UA6(1FB00), UA6(1FB01), UA6(1FB02),
UA6(1FB03), UA6(1FB04), UA6(1FB05), UA6(1FB06),
UA6(1FB07), UA6(1FB08), UA6(1FB09), UA6(1FB0A),
UA6(1FB0B), UA6(1FB0C), UA6(1FB0D), UA6(1FB0E),
UA6(1FB0F), UA6(1FB10), UA6(1FB11), UA6(1FB12),
UA6(1FB13), UA6(1FB14), UA6(1FB15),
UA6(1FB16), UA6(1FB17), UA6(1FB18), UA6(1FB19),
UA6(1FB1A), UA6(1FB1B), UA6(1FB1C), UA6(1FB1D),
UA6(1FB1E), UA6(1FB1F), UA6(1FB20), UA6(1FB21),
UA6(1FB22), UA6(1FB23), UA6(1FB24), UA6(1FB25),
UA6(1FB26), UA6(1FB27), UA6(1FB28),
UA6(1FB29), UA6(1FB2A), UA6(1FB2B), UA6(1FB2C),
UA6(1FB2D), UA6(1FB2E), UA6(1FB2F), UA6(1FB30),
UA6(1FB31), UA6(1FB32), UA6(1FB33), UA6(1FB34),
UA6(1FB35), UA6(1FB36), UA6(1FB37), UA6(1FB38),
UA6(1FB39), UA6(1FB3A), UA6(1FB3B),
#undef UA6
/* and finally */
{{037,021,021,021,021,021,037,000,000}, -1, ".notdef" },
};