Fintasys / emoji_picker_flutter

A Flutter package that provides an Emoji picker widget with 1500+ emojis in 8 categories.
MIT License
154 stars 114 forks source link

U+2639 Frowning Face Emoji renders incorrectly on Android #171

Closed emesterhazy closed 4 months ago

emesterhazy commented 7 months ago

The frowning face emoji does not render correctly on Android, even though typical Android fonts such as Noto Color Emoji support it.

Screenshot 2023-11-24 at 10 57 07

Another dev reported this issues ~2 years ago, but it was closed because technically users can override the default fonts in order to get the emoji to work.

I haven't found a solution yet that works without importing Google Fonts, which shouldn't be necessary. In theory specifying Noto Color Emoji or NotoColorEmoji should work, but it didn't when I tried it in the Android simulator.

Fintasys commented 6 months ago

I think we won't be able to fix this issue without using custom emoji font, unless Google fixes the emoji on Android directly. Wondering if we can locate the issue directly on Android open source code 🤔

emesterhazy commented 5 months ago

Coming into this I assumed that Android bundled Noto Color Emoji, or at least that Pixel phones would include it. I still suspect that this is true, but maybe for some reason Flutter isn't able to access it. I don't know enough about how Flutter and Android handle fonts to say either way. I just doubt that every Android app that uses emojis is forced to bundle an emoji font. That would be madness.

Fintasys commented 5 months ago

Yes I agree and that's probably that's the case, Flutter apps must not able to access the native fonts for some reason. I will continue to keep my eyes open for an explanation or solution.

emesterhazy commented 5 months ago

I asked a question on the Flutter repo since after searching for a while this morning I wasn't able to find any documentation explaining how Flutter interacts with system fonts. Hopefully someone can clarify.

Fintasys commented 5 months ago

@emesterhazy Good news! I was told by another Flutter dev that this issue is solved from 3.17 and I could confirm it with current beta that the frowning face and others are being rendered correctly! 🤩 Not sure which exact commit did it, tho.

Fintasys commented 4 months ago

Since Flutter 3.19 has been released and the issue is solved, I think we can close this issue 🙏 Thanks for your help !