-
Notifications
You must be signed in to change notification settings - Fork 176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Emoji That Use Zero Width Joiner Sequences Render Incorrectly #176
Comments
Thanks a lot for the feedback and the awesome bug report! I'll investigate ASAP. |
I've just tested with a newer version of Puppeteer (1.12.2) and that fixes the issue. That version comes with Chromium 73, as opposed to Chromium 71 for the current version used by Decktape. I usually wait for the newer Chromium version to land in Alpine as it used in the Docker image. I did some quick tests and it seems Puppeteer is compatible with older Chromium version (i.e. 71), so if that's urgent for you, I could do the upgrade and that would fix the issue for the NPM install. I realise another thing would be to add some Emoji font packages to the Docker image, like font-noto-emoji. |
The issue isn’t urgent by any stretch, it’s just a few wonky emoji in a
slide deck. It sounds like we just need to wait a few weeks for the new
Chromium to drop?
|
Cool. Yes, it can take a couple of weeks. |
For reference, an interesting discussion on how to enable Noto Coloraturas Emoji on Linux googlefonts/noto-emoji#36 that may help for the Docker image. |
It should be fixed in version 2.9.2. Thanks for your patience. |
Verified fixed, thanks for your help! |
Thank you for this awesome tool!
I have discovered what appears to be a bug somewhere in the decktape workflow that is causing incorrect rendering of emoji using ZWJ sequences.
(Background on ZWJ sequences: http://blog.unicode.org/2016/11/113-new-unicode-emoji-plus-skin-tones.html, cf. https://blog.emojipedia.org/emoji-zwj-sequences-three-letters-many-possibilities/)
In summary, decktape renders these characters fine: 📸 📹 📰 📬 🐦
This is because they are single unicode characters.
But decktape renders these characters incorrectly: 🧙♂️ 🧛♂️ 🤹♂️ 🧟♂️ 🧜🏻♂️
This is because these individual emoji are rendered by joining one or more single unicode characters using a ZWJ.
I've created a demo slidedeck that can be used to verify/troubleshoot: https://duaneobrien.github.io/decktape-emoji-bug/
Sourcecode and the decktape output are in https://github.com/DuaneOBrien/decktape-emoji-bug
This may ultimately be a Puppeteer bug, but I don't see any issues in either repo (open or closed)
decktape version: 2.9.1 (fresh install today)
Chrome version: 71.0.3578.98 (unsure if Puppeteer uses this or not)
The text was updated successfully, but these errors were encountered: