how do emojis work?


like, Apple emojis look different on non-Apple devices. why/how is that?

In: 1

Have you ever noticed that on some websites or in some applications, text looks wildly different? This is because of different fonts – basically just a way of telling your computer exactly what shape each character is supposed to be. So you can have the same text, but the letters look kinda different depending on which font a website or application has chosen. (See for example [FontSquirrel]( for a list of fonts)

Now consider this: Emojis are just complicated characters. Depending on which font is used to render them, they will look different from device to device, or even between applications and/or websites.

In computers, each character/letter is represented by a number.

By most common standards, an ‘a’ is 97, an ‘A’ is 65, a space is 32, a semicolon ; is 59, etc. Your computer or phone just looks at a table, and for each number it has to draw on screen a different thingie. Emoji are just other characters. The eyes emoji 👀 is just character 128064.

And, the same way that your computer or phone can display text in different fonts *(arial, verdana, comic sans, times new roman, etc..)*, each device or app has its own “font” for emoji.

if you hold the alt key in a windows pc, and while holding you press some numbers, like “234523” the result is this when you let go of alt: ←

this means that the character “←” holds the “234523” as an identifier, so this identifier is always the same, but the result may differ depending on the characters that are installed in your device, emojis aren’t much different from regular characters, but displayed in a more illustrated form.

Emojis are text. Your device reads the text before displaying it, and if it sees something jumbled up like &487# then it’s code for something else.

Your device doesn’t display that code to you, it knows to display image 487 instead.

Two different devices may not have the same exact image 487, but they’re roughly the same. As someone would have seen it makes a happy face on some other device so I should draw a happy face of my own for this device.

If you actually wanted to send the text &487# for some reason, and not make it an emoji. It would look something like &487#. The device would know to ignore putting in the image and just remove the before displaying it.

This way of doing it means you aren’t sending a whole image file all the time. Just a bit of text that takes up way less data.

(These aren’t the real codes used by devices, I just made them up for the demonstration.)

There is an international consortium who define emoji and how to name/identify them universally across platforms but each platform is free to design their own art to correspond with that emoji code.