Description
Currently, if I put this code into the web app:
#let emoji_test(body) = text(size: 20pt)[
#body |
#text(font: "Noto Color Emoji", fallback: false)[#body] |
#text(font: "Noto Emoji", fallback: false)[#body]
]
= Unicode 16.0
#emoji_test[#emoji.beet#emoji.face.tired#emoji.fingerprint]
= Unicode 15.0
#emoji_test[#emoji.face.shaking#emoji.heart.pink#emoji.moose]
= Unicode 14.0
#emoji_test[#emoji.face.melt#emoji.person.pregnant#emoji.troll]
I get this result:
Left is default, middle is Noto Color Emoji, and right is Noto Emoji. As you can see, emoji added in Unicode 15 and up are all falling back to monochrome Noto Emoji.
Noto Color Emoji has supported all these emoji for over a year, so it should be possible to update it, as was presumably already done for the monochrome Noto Emoji.
Use Case
Typst itself has dedicated library support for emoji as recent as Unicode 17.0 (for example, #emoji.face.distorted), so it's unexpected that using those built-in library constants on the official web app with default settings gives a degraded experience. Being able to use these emoji out of the box, without having to manually upload the current version of the font, is expected and desirable.
Description
Currently, if I put this code into the web app:
I get this result:
Left is default, middle is Noto Color Emoji, and right is Noto Emoji. As you can see, emoji added in Unicode 15 and up are all falling back to monochrome Noto Emoji.
Noto Color Emoji has supported all these emoji for over a year, so it should be possible to update it, as was presumably already done for the monochrome Noto Emoji.
Use Case
Typst itself has dedicated library support for emoji as recent as Unicode 17.0 (for example,
#emoji.face.distorted), so it's unexpected that using those built-in library constants on the official web app with default settings gives a degraded experience. Being able to use these emoji out of the box, without having to manually upload the current version of the font, is expected and desirable.