Emojis

What Are Emojis?

Emojis are standardized pictographic characters encoded in text so that a picture can be typed, stored, transmitted, and searched using the same machinery as ordinary letters. They are not images embedded in a message but code points in the Unicode standard, which is why a smiling face survives a copy-and-paste between a chat client, a spreadsheet, and a source file. The word comes from the Japanese for picture character, and its resemblance to emotion is coincidental. Their significance to computing is that they forced text processing, font rendering, and input method design to handle color, sequences, and cultural variation in a layer that had previously assumed monochrome glyphs.

Modern emoji descend from Japanese mobile carrier sets of the late 1990s, notably the 176 pictographs designed by Shigetaka Kurita for NTT DoCoMo's i-mode service in 1999. Each carrier used an incompatible private encoding, so messages degraded when crossing networks. Unicode absorbed those sets to solve the interoperability problem, adding several hundred emoji in version 6.0 in 2010, and the repertoire has grown with each subsequent release.

Encoding and the Unicode Standard

Emoji behavior is specified in Unicode Technical Standard #51, which defines the character properties that determine whether a code point is emoji at all, whether it defaults to color or to monochrome text presentation, and which sequences implementations are expected to support. Two invisible variation selectors override the default: U+FE0F requests colorful emoji presentation and U+FE0E requests text presentation, so the same underlying character can appear as a red heart or as a typographic dingbat. The standard also designates a subset as recommended for general interchange, which tells font and keyboard vendors what they must cover for messages to render consistently across platforms.

Sequences, Modifiers, and Text Processing

Many familiar emoji are not single characters. Country flags are pairs of regional indicator symbols, skin tone variants append one of five modifier characters based on the Fitzpatrick scale, and composite images are built as emoji ZWJ sequences joined by U+200D, the zero width joiner. A four-person family emoji occupies seven code points yet is meant to display as one glyph, and if the platform lacks that glyph the joiners are ignored and the components appear separately. This construction has real consequences for software: string length, cursor movement, backspace behavior, line breaking, and truncation must all operate on grapheme clusters rather than code points, and validation logic that assumes one character equals one visual unit will misbehave.

Rendering and Cross-Platform Divergence

Displaying emoji required color font technology, and several incompatible formats emerged: embedded bitmap tables such as CBDT and sbix, a layered vector approach built on the COLR and CPAL tables, and SVG glyph descriptions inside OpenType. Because each vendor draws its own artwork, the same code point looks materially different across operating systems. That divergence is a communication problem as much as an aesthetic one, and a widely cited analysis of cross-platform emoji interpretation showed that some faces carry opposite sentiment polarity depending on the rendering, which distorts sentiment classifiers trained on unrendered text. Accessibility relies on a parallel layer: short names and keyword sets maintained in the Common Locale Data Repository give screen readers something to speak and search engines something to index.

Applications

Emojis appear across many areas of computing and communication, including:

  • Messaging platforms, social media, and reaction interfaces
  • Natural language processing, sentiment analysis, and content moderation
  • Input method editors and predictive keyboards
  • Font engineering and text layout engines
  • Localization, accessibility, and screen reader support
  • Digital forensics and the interpretation of electronic evidence
  • Marketing analytics and brand sentiment measurement
Loading…