static struct glyph const *glyphs_by_name[NGLYPHS];
+/*
+ * This array defines 'aalt' mappings that should not be automatically
+ * generated from glyph names. The OpenType specification says that
+ * different fonts in the same family should order the results of the
+ * 'aalt' lookup the same, which implies that applications might
+ * reasonably record the index of an alternative. To avoid breaking
+ * such applications when Bedstead is upgraded, we want to ensure that
+ * any such indexes in an old version of a font still work in newer
+ * (minor) versions. For most AlternateSets in the 'aalt' lookup,
+ * this will happen naturally, but where it doesn't, this table
+ * explicitly specifies the list of alternative glyphs so that they
+ * match older versions.
+ */
#define MAX_ALT_SUB_OVERRIDE 3
static struct alt_sub_override {
char const *base;
{ "D", { "D.c2sc", "D.serif", "D.narrow" } },
{ "J", { "J.c2sc", "J.narrow", "J.narrow" } },
{ "L", { "L.c2sc", "L.narrow", "L.narrow" } },
- { "ccedilla", { "ccedilla.angular", "ccedilla.sc" } }, // maybe not?
+ { "ccedilla", { "ccedilla.angular", "ccedilla.sc" } },
{ "colon", { "colon.leftsmall", "colon.leftsmall" } },
- { "ocircumflex", { "ocircumflex.large", "ocircumflex.sc" } }, // maybe not?
+ { "ocircumflex", { "ocircumflex.large", "ocircumflex.sc" } },
{ "question", { "question.open", "question.open" } },
{ "semicolon", { "semicolon.left", "semicolon.left" } },
- { "ugrave", { "ugrave.roundjoined", "ugrave.sc" } }, // maybe not?
+ { "ugrave", { "ugrave.roundjoined", "ugrave.sc" } },
};
#define MAXSUBS 10