FORUMS
Remove All Ads from XDA

[GUIDE] Fix emoji displaying black version instead of colored version

75 posts
Thanks Meter: 36
 
By LanderN, Member on 7th July 2015, 07:36 PM
Post Reply Email Thread
Hello everyone!

Ever noticed some of the emoji on your Android device displaying a black version of the emoji instead of the better colored one (for example the red heart or the peace emoji)?
I found a very simple fix, but it requires root and changing some xml files in your system partition.

So basically, find the fonts.xml file in the /system/etc/ directory and open it with a text editor.
Almost at the bottom of the file, you'll find a line which contains "NotoColorEmoji.ttf". This is the colored emoji font (as you might have guessed).
Notice how it is positioned below "NotoSansSymbols-Regular-Subsetted.ttf", this means that, when a symbol is rerquested, Android first checks the NotoSansSymbols font, and only if it is not found in there, it looks for it in the NotoColorEmoji font.
Guess where those ugly black versions of the emoji are stored... Yup, in the NotoSansSymbols font!
So, how do we make Android always use the colored emoji? Just cut
Code:
    <family>
        <font weight="400" style="normal">NotoColorEmoji.ttf</font>
    </family>
and paste it above
Code:
    <family>
        <font weight="400" style="normal">NotoSansSymbols-Regular-Subsetted.ttf</font>
    </family>
Pretty simple, right? You now have to do a very similar thing in the fallback_fonts.xml file in the same directory. I'm sure you guys can figure that one out on your own

And that's it! Reboot your phone, and no more black versions of emoji!

Enjoy!

Note: If someone could push this fix into CyanogenMod or make a flashable zip or make an app that does this, I would be very grateful, cause it's really annoying to have to do this after each ROM flash!
The Following 6 Users Say Thank You to LanderN For This Useful Post: [ View ] Gift LanderN Ad-Free
 
 
20th July 2016, 07:16 PM |#2  
Member
Thanks Meter: 4
 
More
Hi!
I recently flash the Android N emojis onto my LG G3( fulmics 5.3)
When I had previously flashed this pack onto my stock LG Rom (5.0 Lollipop), all emojis were normal in appearance.
After I flashed fulmics and flashed this pack, I have been getting these black and white emojis for some of them( crossbones, writing hand, etc)
What should I do? When I go to edit fonts.xml I cant save my changes
17th August 2016, 12:23 PM |#3  
Junior Member
Thanks Meter: 0
 
Donate to Me
More
Question
Thanks LanderN, really good guide
some of the emoji which where black before are fine now, but I still have got some that are still black&white. I even tried to move the font entry up but it either didn't change a thing or resulted in bootloop. Anyone with the same problem or even a solution? I'm on latest CM for jactivelte.
9th July 2017, 08:00 PM |#4  
Junior Member
Thanks Meter: 0
 
More
Hello! This worked for me the first time I tried it, but as I was updating my emoji, the black and white emojis are back. I tried again this method but the NotoColorEmoji is still above the NotoSansSymbols-Regular-Subsetted. I tried everything, I tried using the backup and then tried this method again, no luck.
15th August 2017, 11:37 AM |#5  
github.com/eladkarako/fonts-kit-emoji
Good tip,
I've used it in this font-kit (fonts included) to provide an early Unicode 10.0 support for an old-Samsung smartphone.
12th October 2018, 05:40 PM |#6  
Junior Member
Flag Bidor
Thanks Meter: 4
 
More
Quote:
Originally Posted by LanderN

Hello everyone!

Ever noticed some of the emoji on your Android device displaying a black version of the emoji instead of the better colored one (for example the red heart or the peace emoji)?
I found a very simple fix, but it requires root and changing some xml files in your system partition.

So basically, find the fonts.xml file in the /system/etc/ directory and open it with a text editor.
Almost at the bottom of the file, you'll find a line which contains "NotoColorEmoji.ttf". This is the colored emoji font (as you might have guessed).
Notice how it is positioned below "NotoSansSymbols-Regular-Subsetted.ttf", this means that, when a symbol is rerquested, Android first checks the NotoSansSymbols font, and only if it is not found in there, it looks for it in the NotoColorEmoji font.
Guess where those ugly black versions of the emoji are stored... Yup, in the NotoSansSymbols font!
So, how do we make Android always use the colored emoji? Just cut

Code:
    <family>
        <font weight="400" style="normal">NotoColorEmoji.ttf</font>
    </family>
and paste it above
Code:
    <family>
        <font weight="400" style="normal">NotoSansSymbols-Regular-Subsetted.ttf</font>
    </family>
Pretty simple, right? You now have to do a very similar thing in the fallback_fonts.xml file in the same directory. I'm sure you guys can figure that one out on your own

And that's it! Reboot your phone, and no more black versions of emoji!

Enjoy!

Note: If someone could push this fix into CyanogenMod or make a flashable zip or make an app that does this, I would be very grateful, cause it's really annoying to have to do this after each ROM flash!

Wow dude, you really helped me a lot, ThanksπŸ˜πŸ˜ŠπŸ˜†πŸ˜‰πŸ˜™
21st November 2018, 09:30 PM |#7  
Junior Member
Thanks Meter: 0
 
More
Okay, so I downloaded a file text editor and found what you were talking about, so let me get this straight.(I'm pretty dumb sorry) you want me to cut the code, "<family>
<font weight="400" style="normal">NotoColorEmoji.ttf</font>
</family>." As in delete that section of the code and then paste the replacement code, " <family>
<font weight="400" style="normal">NotoSansSymbols-Regular-Subsetted.ttf</font>
</family>?"
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes