Displaying zero-width characters
Submitted by Behdad Esfahbod
Link to original bug (#357256)
Description
Current we filter these zero-width characters out and insert an empty glyph for them:
/* Zero Width characters: *
- 00AD SOFT HYPHEN
- 034F COMBINING GRAPHEME JOINER
- 200B ZERO WIDTH SPACE
- 200C ZERO WIDTH NON-JOINER
- 200D ZERO WIDTH JOINER
- 200E LEFT-TO-RIGHT MARK
- 200F RIGHT-TO-LEFT MARK
- 2028 LINE SEPARATOR
- 202A LEFT-TO-RIGHT EMBEDDING
- 202B RIGHT-TO-LEFT EMBEDDING
- 202C POP DIRECTIONAL FORMATTING
- 202D LEFT-TO-RIGHT OVERRIDE
- 202E RIGHT-TO-LEFT OVERRIDE
- 2060 WORD JOINER
- 2061 FUNCTION APPLICATION
- 2062 INVISIBLE TIMES
- 2063 INVISIBLE SEPARATOR
- FEFF ZERO WIDTH NO-BREAK SPACE */
We should have an option to not delete them and let them produce whatever glyph they have in the font, or a hexbox. It's a bit complicated though, as some fonts like Scheherezade from SIL "removes" some of these characters, ZWNJ specifically IIRC.