From: Ben Harris Date: Sun, 21 Jun 2020 13:30:20 +0000 (+0100) Subject: Rename glyphs for non-BMP characters to match AGL spec X-Git-Tag: bedstead-002.002~1 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=e467599a0d7ccc7567cc98cb4af529630e7f4b64;p=bedstead.git 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. --- diff --git a/bedstead.c b/bedstead.c index 475aca6..ba3da61 100644 --- a/bedstead.c +++ b/bedstead.c @@ -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" }, };