[MOD] Apple Color Emoji system-wide for KitKat+ (updated with unicorns)

Search This thread

Frappy

Senior Member
Aug 1, 2014
171
121
27
Kota Kinabalu
I have used the font you created in KitKat and I really likenit. Way better than the stock ones. but I think the new keyboard in android 5.0 messed up the layout. I didn't have this issue on KitKat.

For example the red heart emoji is replaced with a black one
fbaa366867f390933bfaaf41e3454fb3.jpg


And there are two extra ones added
91a417183536ad939e2fd74ecca4b9dc.jpg


(I forgot how these black emoji's are called. I think it was unicode emoji or something. I used to have them in GB (iWnn keyboard))

Is there a way to at least fix the heart by replacing it in the font itself?

Thanks in advance!

Did you managed to solve this? I just updated to Lollipop today and used Emoji Switcher but I'm facing the same problem as you :(
 

Psych0t1c20

Senior Member
Feb 19, 2010
1,052
123
Jersey
Did you managed to solve this? I just updated to Lollipop today and used Emoji Switcher but I'm facing the same problem as you :(

Hey guys. I had the same issue. I found out that you have to edit two files. I'll attach a flashable zip for the Samsung emojis. If you want a different emoji set, just replace the font file with your liking.
 

Attachments

  • tmp_7045-SamsungEmojiLollipop-2038071928.zip
    8.7 MB · Views: 230
Last edited:

iliass01

Senior Member
Feb 19, 2014
157
34
Did you managed to solve this? I just updated to Lollipop today and used Emoji Switcher but I'm facing the same problem as you :(


Hey guys. I had the same issue. I found out that you have to edit two files. I'll attach a flashable zip for the Samsung emojis. If you want a different emoji set, just replace the font file with your liking.

Hi! Yes I solved it! I found out in another thread that another file had to be modified in order to fix it. Here is a flashable zip I made: https://docs.google.com/file/d/0B9UOVv2yynmYeUVWY0tJNGtBanM/edit?usp=docslist_api

Enjoy!
 
  • Like
Reactions: GMX1PT and Frappy

shiftf7

Member
Mar 7, 2011
46
14
Well you can just replace the font file with the iOS ones. Are you on lollipop or KitKat?
That's exactly what I'm doing. I'm on Lollipop. This exact method worked just fine on Kitkat - but for some reason it's not working on Lollipop now.

Just to be clear, here's what I did:
1. Downloaded your zip and unzipped it.
2. Went into the system/fonts folder and copied the NotoColorEmoji.ttf to my device
3. Backed up the original NotoColorEmoji.ttf on my device (from system/fonts) and replaced it with the one in your zip.
4. CHMOD rw/r/r and then rebooted.

Now I can see the new samsung emojis in my text messaging app - and everything looks good.. except a bunch of random emoji's that somehow didn't get changed - such as the red heart. It's still the black heart from the google emoji set.
 
Last edited:

Psych0t1c20

Senior Member
Feb 19, 2010
1,052
123
Jersey
That's exactly what I'm doing. I'm on Lollipop. This exact method worked just fine on Kitkat - but for some reason it's not working on Lollipop now.

Just to be clear, here's what I did:
1. Downloaded your zip and unzipped it.
2. Went into the system/fonts folder and copied the NotoColorEmoji.ttf to my device
3. Backed up the original NotoColorEmoji.ttf on my device (from system/fonts) and replaced it with the one in your zip.
4. CHMOD rw/r/r and then rebooted.

Now I can see the new samsung emojis in my text messaging app - and everything looks good.. except a bunch of random emoji's that somehow didn't get changed - such as the red heart. It's still the black heart from the google emoji set.

You're doing it wrong. Lollipop reads emoji font differently. All you need to do is put your iOS emoji file inside the zip and flash in recovery. Then you'll be good.
 
  • Like
Reactions: shiftf7

Illstatic

Senior Member
Dec 16, 2012
103
4
Atlanta
I flashed the IOS Emojis LP zip on a gs5 ROM and this is what I get a blank set emojis I can't see anything what should I do

Sent from my SAMSUNG-SGH-I747 using XDA Premium 4 mobile app
 

Attachments

  • 1424732023701.jpg
    1424732023701.jpg
    50 KB · Views: 395

DaveX2012

Senior Member
Jun 30, 2012
1,707
397
Just installed and changed but doesn't appear. Cm 12 temasek I'm using swiftkey keyboard.

N9005.
 

Attachments

  • 1424871354188.jpg
    1424871354188.jpg
    48.8 KB · Views: 289

fiz:ik

Senior Member
  • Like
Reactions: DaveX2012

fiz:ik

Senior Member
Here's a zip I made for the iOS emojis. Works on L, may work on KK. idk

Thanks to Psych0t1c20 for the modified files :good:

58 people have downloaded this... could anyone tell me if it worked for you?

I'm seeing a strange behaviour. It works flawlessly on my OPO and on a friend's Nexus 5 but yesterday I wanted to flash it on my old S2 running unofficial CM12 and it didn't bring the iOS emojis, just weird boxes.
 

Frappy

Senior Member
Aug 1, 2014
171
121
27
Kota Kinabalu
58 people have downloaded this... could anyone tell me if it worked for you?

I'm seeing a strange behaviour. It works flawlessly on my OPO and on a friend's Nexus 5 but yesterday I wanted to flash it on my old S2 running unofficial CM12 and it didn't bring the iOS emojis, just weird boxes.

You could try the one posted in this thread here. Worked flawlessly for me :D
 

Top Liked Posts

  • There are no posts matching your filters.
  • 118
    Screenshot:
    zh8nbcR.png


    To install:
    1. Grab AppleColorEmoji.ttf and place it into /system/fonts/
    2. Set /system/fonts/AppleColorEmoji.ttf to have permissions 644 (rw-r--r--) and owner:group root:root.
    3. Modify /system/etc/fonts.xml like so:
      • Find
        Code:
            <family>
                <font weight="400" style="normal">NotoSansSymbols-Regular-Subsetted.ttf</font>
            </family>
      • Above this block, add
        Code:
            <family>
                <font weight="400" style="normal">AppleColorEmoji.ttf</font>
            </family>
    4. Set /system/etc/fonts.xml to have permissions 644 (rw-r--r--) and owner:group root:root.
    5. Reboot.
    (Thanks cclaxx for mentioning permissions!)

    Old stuff:
    Not sure if this has been done before, but here is my work.

    Screenshots (warning: large)
    Pc7jjnD.png

    DqIen5J.png

    319e8yT.png

    AqwURLW.png

    W3PJYOA.png

    izGfHfp.png

    You get my point. They work the same way KitKat's colour emojis work.

    What I did:
    1. Asked someone (jakew02 on #cyanogenmod-dev) to help me grab Apple Color Emoji.ttf off an OS X 10.9 system.
    2. Used code available here to extract the PNG files from the TTF file's SBIX table.
    3. Used fonttools (ttx) to create an empty TTF file based on the original Apple Color Emoji.ttf and this template by Google
    4. Used this code by Google to add the extracted PNGs into the empty TTF file in CBDT/CBLC (the OpenType extension Google created) tables
    5. Took the resulting TTF file and threw it into /system/fonts/, modifying /system/etc/fallback_fonts.xml accordingly
    And it works. This is unlikely to work on versions of Android pre-KitKat, unless support for CBDT/CBLC tables in font files is present (or backported from KitKat).

    Update: No need to do all this anymore. Later versions of Android support sbix out of the box. Just adjust the platEncID/platformID in the cmap of AppleColorEmoji.ttf.

    The font size and kerning (all the emojis are the same size!) doesn't seem all that great, but someone who knows fonts better can fix that using ttx. If anyone wishes to create a flashable zip for this, please do so.


    Update: I've updated this for the iOS 9.1/unicorn emoji. Details here
    Update: ligatures (mostly) now work. details

    Thank Google for deciding to implement colour emoji (and releasing their tools for creating those fonts too!) in KitKat, because they essentially did all the work.
    8
    Great work.
    Is the update via zip reversible?
    If so, I'm willing to give it a try.

    Well I'm not sure. It's possible that it won't even flash because I might have done something wrong. In fact it should of course be reversible because the only thing it's supposed to do is copy the 2 files and fix the permissions of them. Still I'd rather have someone who knows how those zips work take a look at it before someone tries it, because I don't have any experience ;)

    EDIT:
    I took another look at some more recent flashable zips and changed some stuff again. I also decided to upload the unsigned zip in case someone wants to edit the zip and sign it :)
    http://ge.tt/8kOOWOB1?c

    EDIT 2:
    OK, I think, that my zip would also work, but I found an app called ZIPme and created a flashable zip with it. It works perfectly (I just tested it on my phone)
    So finally:
    Enjoy this flashable zip of this amazing mod:
    https://mega.co.nz/#!JU0nRAZY!Pbv9Gy5tS8e5pIjDX8OuZzSnkVA3zegHlXD_ImAGXIc

    PS. If some experienced DEV could take a look at my original zip tho and told me if i did everything right I would still be happy ;)
    6
    guys maybe the problem are the permissions. you must set both files to rw-r-r otherwise it does not work.

    Thank you so much it works perfectly! I love this!
    Maybe someone should create a flashable zip to make this easier tho :)

    EDIT:
    I quickly tried to make a flashable zip. Never did this before so I'm not sure if I did it right. Maybe someone can check it and tell me if everything should work :)
    I took the update-binary from CM11 because I wasn't sure if the older one from the tutorial I read would work.
    http://ge.tt/8kOOWOB1?c
    I don't know if it works and if it doesn't I am not responsible for any damage done to your devices. I just hope someone here who has more experience than me can check it out and confirm if it works :)
    5
    OK, I take that back.

    It turns out that the ligatures are stored in the morx table in the Apple fonts, which FreeType does not support.

    FontForge is able to convert most morx ligatures to GSUB ligatures, which is the kind supported in FreeType (and in fact used in Noto Color Emoji, Android's own emoji font).

    I modified the script to inject GSUB and supporting tables from FontForge (it's a bit hacky, but it'll have to do). To whoever uses the script in future: to update the GSUB table you need to open and export the Apple font in FontForge (it will convert the relevant tables), dump the resulting TTF with TTX, then remove all the tables except GSUB and GDEF (and GPOS if you want, not really needed). Or some other way, if you want, just insert those tables into the TTF the script produces.

    Here is an updated AppleColorEmoji.ttf.

    Screenshot:
    zh8nbcR.png


    The man-kiss-man and woman-kiss-woman ligatures do not work. The rest work.
    4
    Guys, OP did a great job, BUT there is an app for this in the playstore its called Emoji Switcher, you require root tho... But Its really easy just choose iOS emojis and press switch and it will reboot and done. https://play.google.com/store/apps/details?id=com.stevenschoen.emojiswitcher is the link