samuelngs/apple-emoji-linux

How to remove black-and-white emojis

Closed this issue · 11 comments

ACT-02 commented

I'm using Android 13 and I've applied the font for emojis. In some specific Apps, it displays both black-and-white and color emoji. For example, I type star⭐ and a kissing face😘, and it shows a color star and a black-and-white kissing face. I want to remove black-and-white emojis, and how can I do that? Or is there a solution to make the color emoji superior to black-and-white one?

send screenshot!?

it's might because a13 has vector system emojis and i think that counter-changing from colrv1 to bitmap or bitmap to colrv1 would do such, as yours.

ACT-02 commented

ceb40bb052e66b32b5d91f0b5015d80
c051a6908a3e9428699c5bcfaa72596
Above are screenshots. And what is 'colrv1 to bitmap or bitmap to colrv1' ? I don't know much about that... Actually I'm new to font files...

absolutely that's bitmap font, a13 has colrv1 ttf and they're vector.

  • in vectors everything is assigned in the size & the color by the strings of codes. as size changes so the pixels that would change the color, it's all calculated as drawables and the change in size doesn't affect the quality, because colors' tone and everything is more like re-drawn but all that takes a lot of cpu processing too.

a13 processes that, because any os would've the access and info about the display, they can process the vector values without giving access to like other software to do so! that's why previous android versions won't be able to display svg or colrv1 images or glyphs, unless apps use androidx vector drawable support. but the apsp won't process the vectors though.

vector ttf files need processing and the os must support vectors, or any other software must be able to.

  • bitmap ttf has the number pixels' value and the color.

size won't the color value it'd be the same and quality is bad for low res-displays, as the value of pixels actually pixelate them. bigger size of a glyph shows the real quality of image.

they don't need processing as they are just shown as images or texts.

tl;dr

ttf files are actually vector images for outlines (lines or curves) for texts. and in bitmap font glyphs are array of the pixels.

in your case i think os is taking some emojis as vector and they're black. the colored emojis must be bitmap?!

i don't that applecoloremojis.ttf contain vector!?

ACT-02 commented

Well... That's really confusing. Will you help to check the font file? Such display looks really bad...

is it only in the app?

ACT-02 commented

they must fallback to noto actually, try these they're actually from emoji replacer by cowabunga-dude but the module is provided on github by @Keinta15.

these emoji replacer emojis are compressed.(because they have to... be compressed😞)

dmlls commented

Thanks @idontveapc for the help!

@ACT-02: As @idontveapc has mentioned, it will probably easier to try with other projects targeted specifically at Android (a quick GitHub search should do). Even though Android is Linux-based, it's likely that font management differs (e.g., fonts installed in different directories).

If you still want to continue with these ones, you can try following the instructions at "Can I install the emoji on Android?". (This other repo is for WhatsApp emoji, but the build process is analogous to this one).

okay, ive got what the problem is...

ResizedImage_2023-08-05_15-43-54_2222

don't use this font from apple(it's named blah-blah but i expect it's sf pro compact bold with emojis, usually they're in private area-b but not for this one). or change your system font xml making it only for vs-15 fallback. because theyre bnw and bnw emojis are showed (for select emojis) when vs-15 unicode is used with an emoji. ...like ☺️☺︎ are two different version if system has text version (bnw) or supported. it shows bnw for vs16 too may because apple maybe using them for their any app!? it's showing bnw for both unicode so it’s maybe intended by apple to show black and white only as they use bitmap(png) truetype collection for emojis(it must be for they're app only because it wouldn't display colour version)!

it's maybe otf so it's vector i think, that is why it's bnw. may on adobe software show them coloured, or may it's just bnw.

*forgot to add...

vs = variation selector.

the 15 for a bnw (black and/or white) glyph and the 16 for a colour glyph (png or vector).

again you are getting the problem because of the font and it's showing the vs-15 kinda glyph instead the color glyph (vs-16) from the font by sameulngs. (may be because the font you're using is the main font and here the color font is working as the fallback one, which is weird as bnw glyph won't be showed by default. and on android NotoSansSymbols-subsetted or NotoSansSymbols-subsetted2 has the vs-15 version of these some emojis).

you should close this issue now...

Thanks a lot! I've been long out of GItHub. Now I am here to close this issue.