- Grab AppleColorEmoji.ttf and place it into /system/fonts/
- Set /system/fonts/AppleColorEmoji.ttf to have permissions 644 (rw-r--r--) and owner:group root:root.
- 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>
- Set /system/etc/fonts.xml to have permissions 644 (rw-r--r--) and owner:group root:root.
Screenshots (warning: large)
You get my point. They work the same way KitKat's colour emojis work.
- Asked someone (jakew02 on #cyanogenmod-dev) to help me grab Apple Color Emoji.ttf off an OS X 10.9 system.
- Used code available here to extract the PNG files from the TTF file's SBIX table.
- Used fonttools (ttx) to create an empty TTF file based on the original Apple Color Emoji.ttf and this template by Google
- Used this code by Google to add the extracted PNGs into the empty TTF file in CBDT/CBLC (the OpenType extension Google created) tables
- Took the resulting TTF file and threw it into /system/fonts/, modifying /system/etc/fallback_fonts.xml accordingly
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: 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.