Penny-Dreadful-Tools
Penny-Dreadful-Tools copied to clipboard
Unicode male modifier is being rendered separately rather than as a unified grapheme in a deck name
https://pennydreadfulmagic.com/decks/151339/
The unicode in question is 🦹♂️. It's currently rendering like this:
We are successfully identifying this as a single grapheme despite it consisting of multiple unicode codepoints. The idea is that we then always subset the unicode points involved from the same font so that when we render it it shows up as "male villain" as it was given to us, and not "villain", "male".
This was working end-to-end before we started merging all symbol fonts into "symbols". Possibly the merging process "breaks" this. When we had Noto Emoji (or whichever font it was) as a separately-named subset it was rendering correctly. We have to merge, though, otherwise Safari and Chrome/iOS are unable to successfully render all the symbols we want rendered in the fonts we want them rendered in.
This is really not very important although it will be confusing behavior to a user when encountered and it's annoying that it WAS working.
If I run PYTHONPATH=. pipenv run python3 maintenance/fonts.py options >/tmp/index.html && open /tmp/index.html
which still uses individually subsetted fonts I see SUPERVILLAIN+ZERO WIDTH JOINER+MALE SIGN+VARIATION SELECTOR-16 (U+129465 and U+8205 and U+9794 and U+65039) 🦹♂️
rendering as:
which is correct.
So something we do during the running of fonts.py main mode that we don't do during fonts.py options breaks it. Probably the merging.