static void
doaltsubs(int noverrides, const struct alt_sub_override overrides[noverrides])
{
- int i, j;
+ int i, j, next_override = 0;
for (i = 1; i < nglyphs; i++) {
#define HASDOT(x) (strchr(glyphs_by_name[x]->name, '.') != NULL)
* name comes immediately after the unqualified one.
*/
if (HASDOT(i)) {
- printf(" <AlternateSet glyph='%s'>",
+ bool overridden = next_override < noverrides &&
+ strcmp(glyphs_by_name[i-1]->name,
+ overrides[next_override].base) == 0;
+ printf(" %s<AlternateSet glyph='%s'>",
+ overridden ? "<!-- " : "",
glyphs_by_name[i-1]->name);
for (; i < nglyphs && HASDOT(i); i++)
printf("<Alternate glyph='%s'/>",
glyphs_by_name[i]->name);
- printf("</AlternateSet>\n");
+ printf("</AlternateSet>%s\n",
+ overridden ? " -->" : "");
+ next_override += overridden;
}
}
+ printf(" <!-- overrides -->\n");
for (i = 0; i < noverrides; i++) {
printf(" <AlternateSet glyph='%s'>", overrides[i].base);
for (j = 0; j < MAX_ALT_SUB_OVERRIDE &&