joypixels / emojione

[Archived] The world's largest independent emoji font. Maintained at https://github.com/joypixels/emoji-toolkit.
https://www.joypixels.com
Other
4.46k stars 533 forks source link

Android font missing many emoticons #177

Open tetsuo55 opened 8 years ago

tetsuo55 commented 8 years ago

Hello i just downloaded and installed the android font from git commit 73ecc8d. However a lot of emoticons fall back to the standard black and white one.

I have created an image based on screenshots of the emoticons pages on emojipedia. Sorry for its massive size

Can the font be fixed so these emoticons are shown too?

missingiconssmall

ikromy commented 8 years ago

because :

  1. team emojione only use "standart unicode" (already explained in other issue)
  2. latest google keyboard isn't showing all emoji, you can ask them why or you can mod by your self to show missing emoji
tetsuo55 commented 8 years ago

Thanks for your reply ikromy,

  1. My report is based on standard unicode, the team has emoji'sor all the missing ones.
  2. I use the sony keyboard and it works without issue, that said this was tested in the browser

I managed to resize the image so it should be a bit better now

thinkrick commented 8 years ago

Hi @tetsuo55 !

The issue is most likely Chrome (and/or Android), which I don't believe supports the latest Unicode 8 emoji code points. In Mac (using the Apple font we provide), I get the same results you do in Chrome but when I fire up Firefox they work great.

Should be a matter of time before support is more widespread.

tetsuo55 commented 8 years ago

Thanks for your reply. Google added support for all these emoji in the 6.0.1 update. Using google's own noto-emoji shows all of them as expected.

The problem is definitely in the emojione for android font.

Have you updated the font compiling process to the newest version?

thinkrick commented 8 years ago

Good to know, thanks for that info. I'll have to ask our font contributor, Miguel. I'll keep this open.

samantha-cruz commented 8 years ago

I have 6.0.1 and I have all of them working except the exclamation point emojis. My keycap ones don't work in the browser but works everywhere else.

ikromy commented 8 years ago

Yes, @samantha-cruz right.. I'm on 5.1 everything works. and correction the exclamation doesn't work because Android issue not emojine issue.. so my conclusion nothing wrong with emojione-android except other environment/app doesn't support latest unicode 8 code point (just like @tetsuo55 said)

to be honest, because emojione-android is working correctly.. I hope someone out there can port it with apple color font png, lol

anyway thanks has share the font free

tetsuo55 commented 8 years ago

Based on the comments made here I started to dig deeper into Android. Android uses a large and complex fallback system for the fonts which you can find here in the form of XML files: https://android.googlesource.com/platform/frameworks/base/+/master/data/fonts/

The color emoji file is very far down in the list.

Now the problem we are having is that fonts higher up in the chain contain a black and white version of the emoticon we want to display. These fonts have to manually be edited to remove that black and white version to be able to display the color version.

After testing deleting a few files which i know contain black and white emoji's i managed to get almost every emoji working.

So every emoji still failing needs to be removed by a script.

tetsuo55 commented 8 years ago

After playing with this for another 7 hours i managed to get everything working except for these: ‼️ Double Exclamation Mark http://emojipedia.org/double-exclamation-mark/ ⁉️ Exclamation Question Mark http://emojipedia.org/exclamation-question-mark/ ©️ Copyright Sign http://emojipedia.org/copyright-sign/ ®️ Registered Sign http://emojipedia.org/registered-sign/ ™️ Trade Mark Sign http://emojipedia.org/trade-mark-sign/

They also fail with the android emoji font.

Since the browsers ended up being highly erratic with their results i ended up using a keyboard that is made to support all the emoji: http://forum.xda-developers.com/moto-x-style/themes-apps/zip-updated-emoji-installer-android-6-0-t3265785

tetsuo55 commented 8 years ago

So based on the reply to those tickets over at roboto and noto the unicode standard says that by default a whole lot of emoticons are to be shown as text and not image. And in unicode 9 there should be a modifier for every emoji to select wether or not to show a colored version by defaullt.

I would assume then it is up to the application to to select a colored emoticon for these cases where the default is the text.

so my choices are either to ask everyone in the world to update their applications to the new unicode standards.

or use hacks similar to this one to avoid the issue altogether: https://android.googlesource.com/platform/external/noto-fonts/+/5855164ed87ae7992ce641bc789567b555489dc8

I keep adding information to this ticket and keeping it open for now until i find a proper solution that i can share with others, hopefully this can be added to an FAQ for emojione.

13rac1 commented 8 years ago

Additional relevant issue I've been facing is that Font Ligatures only (I hope I am wrong) work if the glyphs all come from the same font. A fallback font's emoji variation selector doesn't work unless the font is specifically selected. Two problem characters, for example, with the Noto fonts are the:

There's no way AFAIK for those faces to show emoji representations if Noto is the default.