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 {
/* 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 */
{{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 */
{{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),
{{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" },
};