FORUMS
Remove All Ads from XDA

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

39 posts
Thanks Meter: 149
 
By angelsel, Member on 10th December 2013, 05:11 PM
Post Reply Subscribe to Thread Email Thread
Screenshot:


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)






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.
Last edited by angelsel; 9th November 2015 at 04:55 AM.
The Following 116 Users Say Thank You to angelsel For This Useful Post: [ View ] Gift angelsel Ad-Free
 
 
13th December 2013, 11:52 AM |#2  
Senior Member
Thanks Meter: 336
 
More
Looked for it great

How did you do the fourth step?
im running windows and couldnt launch it.
I want to port Touchwiz Smileys to KitKat.
Those looking best
The Following User Says Thank You to yener90 For This Useful Post: [ View ] Gift yener90 Ad-Free
14th December 2013, 07:23 AM |#3  
angelsel's Avatar
OP Member
Flag Singapore
Thanks Meter: 149
 
More
Use Python 2.7.

I did this all on Linux, so I'm not sure if this can be done on Windows or not. But since all the tools are written in Python, I'd imagine that it can with minimal effort.
The Following 2 Users Say Thank You to angelsel For This Useful Post: [ View ] Gift angelsel Ad-Free
21st December 2013, 09:30 PM |#4  
Member
Flag Bergamo
Thanks Meter: 4
 
Donate to Me
More
Hi, I have just tried this on Android 4.4.2 (root, stock kernel & ROM) and it didn't work although I have followed your guide step-by-step. Any thoughts?
21st December 2013, 11:53 PM |#5  
hhamzah49's Avatar
Senior Member
Flag Den Haag
Thanks Meter: 31
 
More
Also didnt work for me. Omni rom 4.4.2
25th December 2013, 09:14 PM |#6  
Senior Member
Flag Vienna
Thanks Meter: 38
 
More
Sadly it also doesn't work for me! Please could you try fixing it? I love the idea!
The Following 2 Users Say Thank You to Fusionalex For This Useful Post: [ View ] Gift Fusionalex Ad-Free
25th December 2013, 10:03 PM |#7  
cclaxx's Avatar
Senior Member
milano
Thanks Meter: 48
 
More
Quote:
Originally Posted by Jaggions

Hi, I have just tried this on Android 4.4.2 (root, stock kernel & ROM) and it didn't work although I have followed your guide step-by-step. Any thoughts?

Quote:
Originally Posted by hhamzah49

Also didnt work for me. Omni rom 4.4.2

Quote:
Originally Posted by Fusionalex

Sadly it also doesn't work for me! Please could you try fixing it? I love the idea!

guys maybe the problem are the permissions. you must set both files to rw-r-r otherwise it does not work.
The Following 2 Users Say Thank You to cclaxx For This Useful Post: [ View ] Gift cclaxx Ad-Free
25th December 2013, 10:24 PM |#8  
Member
Flag Bergamo
Thanks Meter: 4
 
Donate to Me
More
Quote:
Originally Posted by cclaxx

guys maybe the problem are the permissions. you must set both files to rw-r-r otherwise it does not work.

Oh, you're right, it worked! I feel so stupid :P Thank you!
25th December 2013, 10:30 PM |#9  
hhamzah49's Avatar
Senior Member
Flag Den Haag
Thanks Meter: 31
 
More
Quote:
Originally Posted by cclaxx

guys maybe the problem are the permissions. you must set both files to rw-r-r otherwise it does not work.

Thanks! works! love it!
26th December 2013, 08:16 AM |#10  
Senior Member
Flag Vienna
Thanks Meter: 38
 
More
Quote:
Originally Posted by cclaxx

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
Last edited by Fusionalex; 27th December 2013 at 07:19 AM. Reason: Updated link
The Following 6 Users Say Thank You to Fusionalex For This Useful Post: [ View ] Gift Fusionalex Ad-Free
26th December 2013, 04:59 PM |#11  
rezarivani's Avatar
Senior Member
Thanks Meter: 558
 
More
work for jellybean also??
The Following User Says Thank You to rezarivani For This Useful Post: [ View ] Gift rezarivani Ad-Free

Read More
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes