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

Missing unicode 14.0.0 emojis #113

Closed maxkrieger closed 1 year ago

maxkrieger commented 1 year ago

I believe I'm using the latest version. I noticed several emojis are missing from the iOS set, including 🫡. Peculiarly, I see this unhappy fellow in the list as of 1.5.0:

image
RobertHeim commented 1 year ago

Here is a workaround: You could add the Noto Color Emoji Font to your app (but it is 23,7MB 😣) and use it when rendering emojis:

val emojiTextStyle = TextStyle(
    fontWeight: FontWeight.w400,
    fontSize: 15,
    fontFamily: 'NotoColorEmoji',
  );

// ...

Text(
  emoji,
  style:  emojiTextStyle,
)

Use it for the picker by setting the emojiTextStyle in the Config:

Config(
// ...
  emojiTextStyle: emojiTextStyle,
),
Fintasys commented 1 year ago

Thx for answering the question @RobertHeim ! The question must have slipped my attention 🙇

maxkrieger commented 1 year ago

That's not a workaround because the default emoji set is still incomplete, so you won't see "🫡" etc. This file needs to be updated, it's been out of date since 2021: https://github.com/Fintasys/emoji_picker_flutter/blob/63eaf3ebdefdf3cb2ef1f33cd812bab54385975a/lib/src/default_emoji_set.dart

Fintasys commented 1 year ago

@maxkrieger ah I see, that's what you meant. This was the very first issue I created #1 and we are still missing some automation. Currently Im busy, but if it's urgend feel free to help with updating the list 🙇

RobertHeim commented 1 year ago

@maxkrieger you can pass your own set to the picker. But I agree that the set should be v15 compliant. @Fintasys wrt automation I think we should use the machine readable file from the unicode standard: https://unicode.org/Public/emoji/15.0/emoji-test.txt (Note that most applications put the groups Smileys & Emotion and People & Body in the same semantic group.

Also I would suggest guiding people on how to implement the search function, because by default it does not include the CLDR keyword annotations, but only the emoji names - for example, coffee does not find the Hot Beverage emoji (☕), but a user would expect it of course. We can lookup keywords in different languages using the CLDR annotations data sets: https://github.com/unicode-org/cldr-json/tree/main/cldr-json/cldr-annotations-modern/annotations

maxkrieger commented 1 year ago

@RobertHeim not sure if I would use that dataset as many in that list are unimplemented on iOS, and it exhaustively enumerates the skin tone variants

Fintasys commented 1 year ago

@RobertHeim Thanks for the information and the links, I didn't know about those. But I found automation would be still be difficult here since the current order is different from the order in the files (all animal faces together for example). Unless we give up the order I think automation might be difficult. But I saw that Unicode 14 for example just has 36 new emojis that could be added manually in worst case for now. 🤔

Fintasys commented 1 year ago

Added missing emoji's https://github.com/Fintasys/emoji_picker_flutter/pull/129

alfalcon90 commented 11 months ago

For anyone looking in the future, I couldn't find any dart package on pub.dev that has the latest emoji unicode version (v15.1) so I ended up creating unicode-emoji-dart to help with this issue.