Replacing a glyph with itself + other glyph

Roel NieskensRoel Nieskens Posts: 133
edited June 26 in Font Technology
This works in Chrome and Edge:
<MultipleSubst index="0" Format="1">
  <Substitution in="g18" out="g10,g19"/>

But this only works in Chrome:
<MultipleSubst index="0" Format="1">
  <Substitution in="g18" out="g18,g19"/>
I want g18 to be replaced by itself and a second glyph (g19 in the second example).

In Chrome this works, but Edge will not show the glyph if it's also the in glyph. This first example doesn't have the in glyph in the out sequence, and works as expected in both browsers.

I'm using GSUB Multiple Substitution Format 1. Should I be using something else, or is this a bug in either Chrome or Edge?


  • Hrant H. PapazianHrant H. Papazian Posts: 1,569
    Wouldn't this cause infinite recursion?
  • No, it shouldn't because after replacing g18 with g18 g19 it will then process whichever glyph follows g19. A lookup won't process the same glyph twice.
  • Hrant H. PapazianHrant H. Papazian Posts: 1,569
    But aren't lookups redone when something is changed? Or even just text is highlighted? I'm not sure, but it seems that way.
  • Erwin DenissenErwin Denissen Posts: 170
    Nothing wrong with it, and it works in Windows, Firefox, Edge, etc.
  • Hrant, OpenType features may change output, but not input. When for example a selection is made, the glyph layout might need redrawing and thus recalculate what glyphs go out based on what goes in – but with the same input string, the end result will be the same.
  • Roel NieskensRoel Nieskens Posts: 133
    @Erwin Denissen Indeed it does work, the reduced test case font at least. I must be doing something else wrong that causes the first glyph to be missing.

    Thanks for your input, everyone!
Sign In or Register to comment.