[Sony Ericsson Xperia Mini, Mini Pro, Xperia Pro, A] iridaki:
:victory: :confused: :silly: :laugh: :mad: :highfive: :good: :fingers-crossed: :p :cyclops: ;) :crying: :D :cowboy: :o :angel: :) :( :rolleyes: :cool: :eek:

Admit it, you secretly like emoji icons that iOS users seem to (ab)use in their messages.

OK maybe you don't, but you do hate the "blocks" or blank spaces appearing in their place on Twitter, Instagram, Foursquare, Email, SMS, etc.

Google knows. And has worked out a way to implement their own version in Android, starting from Jelly Bean 4.1.

Now, ICS users seem to be out of luck and that made me think and finally figure out a way to implement them in ICS.

Here is a little sneak-peek on how they look:

Note that they are black and white. This is because they are font symbols and not drawables (as they are in iPhones).

HOW?

First of all, Android uses a set of so-called "fallback fonts" for displaying characters that are not included in the primary fonts (DroidSans, Roboto, etc).

In the older days, to get emoji support, we used a modified DroidSansFallback ttf file, placed in /system/fonts. Well, if I wanted to merge AndroidEmoji font and DroidSansFallback, I'd probably lose a great part of my patience sanity and eye-vision... (there are 471 emoji icons)

So, I modified the fallback_fonts.xml in /system/etc/ and added the AndroidEmoji.ttf, as well as changing the priority with which the fallback fonts are called.

And TADA, I could view Google B/W emojis

everywhere

!

HOW DO I INSTALL IT?

I made a flashable zip that will work on all the Xperia 2011 models, on stock and stock-based ICS ROMs and probably to all Sony models that run ICS also (do not have access to those devices to check and be 100%).

DOWNLOAD ANDROID JB EMOJI FONT ENABLER

Flash with CMW.

(If you are rooted and on stock kernel, check how to get CMW here)

Preferably make a backup prior to installing.

I am

not

responsible for your device,

YOU

are!

Nandroid backups take 5-10 minutes to complete and can save lives.

Enjoy!

WHAT IF YOU DON'T HAVE AN XPERIA DEVICE OR RUN A CUSTOM ROM?

The tinkering needed for it to work on all devices is minimal.

Depending on the company, there may be different fallback fonts included.

For those you feel confident enough to edit system files, all you have to do is

add this line in the fallback_fonts.xml, save it, replace it in the CMW zip and flash:

<family>
<fileset>
<file>AndroidEmoji.ttf</file>
</fileset>
</family>

Just make sure it is before all the other entries, so that the Emoji font gets called first upon an unknown character. ;)

HOW CAN I PUT EMOJIS IN MY MESSAGES/STATUSES/TWEETS/etc?

If you also want to be able to insert them anywhere, you have some choices:

1. A brilliant choice is Multiling Keyboard, which uses the newer encoding system.

2. There is also Emoji Keyboard.

However, it uses and older encoding system, so you will also need to flash this package

. This mod is totally independent, you can flash it whether you flash the main mod or not. They will not interfere with each other at all. Having both mods means you can view emojis of both older and newer encoding.

___________________

NOTES

- If you like this, just press Thanks.

Do not post just to say how awesome I am. I know.

- If you are having questions/problems, post here, do not PM me.

Other people might also benefit from our conversation.

- If you are a ROM cooker/developer, PLEASE, ask for my permission before including this mod in your ROMs.

And I shall elaborate on this:

What I did here is no rocket science. Yes, I am sure anybody who would set their mind on it, could pull it through eventually. And maybe someone already has. However, I do enjoy being appreciated, because I took some time off my life to create this thread rather than just parading with my cool emoji-enabled phone, unwilling to spread the joy. I do wish for all the members of this community to benefit from this small tweak, but if I see something like this:

without my name mentioned anywhere and a link to this thread, I am going to be hurt. And probably mad.

That's all folks!