EmojiPort

A set of open-source tweaks that enable latest emojis on your device, developed by PoomSmart.

EmojiPort: iOS 8.1 / 8.3 / 9.0 / 9.3 / 10.1

Compatibility and Dependencies

Tweak iOS Versions
5.1 6.0 - 8.2 8.3 - 8.4 9.0 - 9.3 10.0 - 10.3
EmojiPort (iOS 5.1) Yes N/A N/A N/A N/A
EmojiPort (iOS 6.0-8.2) N/A Yes N/A N/A N/A
EmojiPort (iOS 8.3-8.4) N/A N/A Yes N/A N/A
EmojiPort (iOS 9.0-9.3) N/A N/A N/A Yes N/A
EmojiPort (iOS 10) N/A N/A N/A N/A Yes
EmojiAttributes Required
EmojiLibrary Required
EmojiLocalization Required Required Required Required, < 9.1 N/A
EmojiResources N/A Required, 7.0+ Required Required, < 9.1 N/A
EmojiFontManager No iOS 7.0+ Yes Yes Unknown
EmojiDarkStyle N/A iOS 7.0+ Yes Yes < 10.2
Flexmoji Unknown Yes Yes Yes N/A

Which does what?

EmojiPort (all variants) adds latest emojis on your emoji keyboard. It may need following other tweaks depending on iOS version you are at to make everything works as intended.

EmojiAttributes

This tweak helps display emoji characters properly. Otherwise, we may see "?", "U", square or just blank space instead of actual emojis.

EmojiLocalization

This tweak adds missing localized strings on emoji keyboard.

EmojiResources

This tweak adds missing category icons on emoji keyboard.

EmojiFontManager

This tweak allows users to install correct emoji font without filesystem modification.

EmojiLibrary

It is rather a library but required for all EmojiPort tweaks to handle any kind of emoji correctly.

EmojiDarkStyle

This tweak is optional. It enables dark variants of emoji category icons available on iOS 10.2+.

Flexmoji

This tweak is partially optional. It removes emoji size limit on web browsers which had been the issue until iOS 10. Apparently, it fixes emoji separation issue in gender emojis too.

Read first about EmojiPort

Emoji has been integrated into iOS as a keyboard. All emojis you see on the keyboard are defined as lists within the system and vary across iOS versions. Newer OS versions usually include more emojis so users at lower version won't be able to use unless they update their iOS.

All emoji images that you see are packed as a font, named AppleColorEmoji. In other words, an emoji font is crucial in order to display emojis correctly. Of course, the font gets updated too to include images of new emojis.

EmojiPort tweak will override the original emoji list with the up-to-date one. It means your emoji keyboard will have more emojis, also latest. In addition, EmojiPort requires an up-to-date font that contains all emoji images needed. Without new font installed, users are going to see blank emojis - in other words, new emojis don't show up.

How can I get the correct emoji font?

Assuming this Cydia repository has been added: https://poomsmart.github.io/repo

It is recommended to backup the original fonts before installing a new one

Option #1: BytaFont

Installation

  1. Make sure you have enough space on system partition (over 50 MB is recommended)
  2. If BytaFont app cannot be run as root (for example: on iOS 9.3.5 with stashing tweak), you cannot proceed and have to choose another method
  3. Install BytaFont app ( BytaFont 3 if iOS 9, BytaFont 2 if iOS 7-8, BytaFont if iOS 5-6)
  4. Add this Cydia repository: https://vxbakerxv.github.io/repo
  5. Install Emoji iOS 11 font
  6. Open BytaFont app, go to Swap Mode > Emoji and tap Emoji11 to enable the font, respring after that

Uninstallation

  1. Open BytaFont app, go to Swap mode > Emoji then tap on Restore BytaFont Backup to restore the default emoji font, respring after that
  2. Open Cydia to uninstall Emoji iOS 11 (font) and EmojiPort (tweak) of your iOS version
  3. Respring your device

Option #2: EmojiFontManager (iOS 7 - 9)

Note: Some users reported that this approach doesn't work. You may give it a try or just try another approach.

Installation

  1. If you use Anemone to theme the emoji font, disable it first because this tweak simply overrides it
  2. Add this Cydia repository: https://vxbakerxv.github.io/repo
  3. Install EmojiFontManager and Emoji iOS 11 (EFM) (font)
  4. Go to Settings > EmojiFontManger, select Emoji11 to enable the font and tap Respring button to apply changes

Uninstallation

  1. Open Cydia to uninstall Emoji iOS 11 (EFM) and EmojiFontManager
  2. Respring your device

Option #3: Manual

Download

  1. iOS 11 beta font for iOS 10+
  2. iOS 11 beta font for iOS <=9.3
  3. Original (iOS 9.3), iOS 8.3 - 9.x (Retina version) CCF and TTF
  4. Original (iOS 9.3), iOS 8.3 - 9.x (Non-retina version) CCF and TTF

Installation

  1. For iOS 5.1 - 8.1 users, place downloaded files at /System/Library/Fonts/Cache on your device
  2. For iOS 8.2 - 10.x users, place downloaded files at /System/Library/Fonts/Core on your device

iOS 10 Installation

  1. Backup the default AppleColorEmoji@2x.ttc and AppleColorEmoji@2x.ccf in /System/Library/Fonts/Core of your device (Rename by adding .bak or simply move them to somewhere else)
  2. Copy the downloaded font into that directory, only the new AppleColorEmoji@2x.ttc (of size ~30 MB) will be inside /System/Library/Fonts/Core
  3. Respring your device

Important Notes

  1. If you choose iOS 11 beta font for iOS <=9.3 and you are using non-Retina device (iOS <= 9.3), rename the font name from AppleColorEmoji@2x.ttf to AppleColorEmoji.ttf (iOS != 8.2), or from AppleColorEmoji@2x.ttf to AppleColorEmoji_1x.ttf otherwise.
  2. If you choose iOS 11 beta font for iOS <=9.3 and you are at iOS 8.3+, make sure you don't have the original CCF file in the same directory. You can either move this CCF to somewhere else or rename it to something else.
  3. You may watch the video tutorial from here, just that get the font from the link provided above instead

Troubleshooting

General problem

Many people don't use the correct emoji font after they install the tweaks. The original font won't contain any new emoji, so users experience bugs at displaying emoji characters.

Issues with font

BytaFont (well, any version) is known to cause problems more than profits because it has to swap a new emoji font with the default one. If the swap fails or there is no enough disk space for the font, emoji keyboard is messed up.

To get around this problem, you have to see what happened inside the directory /System/Library/Fonts/Core (iOS 8.2+) or /System/Library/Fonts/Cache otherwise. The original font should still be there, but maybe with a wrong file extension.

  • For iOS 5.1 - 8.1, the exactly correct name of the emoji font is AppleColorEmoji@2x.ttf (retina devices) or AppleColorEmoji.ttf otherwise
  • For iOS 8.2, the exactly correct name of the emoji font is AppleColorEmoji_2x.ttf (retina devices) or AppleColorEmoji_1x.ttf otherwise
  • For iOS 8.3 - 9.3, similar to 5.1 - 8.1 ones but you will also have AppleColorEmoji@2x.ccf (or AppleColorEmoji.ccf), which is larger than the ttf
  • For iOS 10.0+, similar to 8.3 - 9.3 but AppleColorEmoji@2x.ttc instead of AppleColorEmoji@2x.ttf

If you see something different, you are likely to have issues with the font. To restore default fonts, there are multiple ways:

  • Get BytaFont Backup fonts that should be in Cydia for you to recover lost fonts
  • /User/Library/Preferences/BytaFontBackup should keep all default fonts (provided that you use BytaFont), you can get the old emoji font from there
  • I do provide some system-default emoji fonts here that you may use
  • There are also some links to the font that you may find on the internet, or reddit /r/jailbreak
  • Download firmware or OTA update corresponding to your iOS version, extract files (decrypt if needed) and copy the original ones to the font directory

By installing the correct font, this should fix 90% of problems installing EmojiPort that new users usually encounter.

Especially for iOS 8.2, Apple named emoji font to be AppleColorEmoji (underscore)(2 or 1)x.ttf. BytaFont might not be able to handle and you might need to rename the file, by changing from "@ " to "_ ".

Font on non-retina devices

Some font management tool like Anemone may not handle the new emoji font correctly. Most of the emoji font packages have only AppleColorEmoji@2x.ttf. In other words, only the font recognized by retina devices. The simplist recommedation is, you install the font manually so that you can make sure the font name contains no @2x nor _2x.

Emoji duplication bug

This problem can occur on iOS 8.3 and above with (the old) Emoji10 installation. The latest versions already prevent that from happening, but users could still see. This bug persists even after uninstallation. To fix it, you can either:

  • Delete /User/Library/Preferences/com.apple.EmojiPreferences.plist and respring your device
  • Tap Reset emoji preferences in the settings page of EmojiFontManager that you are supposed to install just for resetting process

Known issues

EmojiPort (iOS 5.1)

  • Unforseen issue about keyboard
  • Emoji HUD may accidentially show as swiping across emoji pages

EmojiPort (iOS 6.0-8.2)

  • Keyboard appearance issue in rare cases
  • Emoji HUD may accidentially show as swiping across emoji pages

EmojiPort (iOS 8.3-8.4)

  • None at the moment

EmojiPort (iOS 9.0-9.3)

  • None at the moment

EmojiPort (iOS 10)

  • None at the moment

EmojiAttributes

  • Display issue of the three flag emojis
  • Emoji split and wrong glyph size issues on websites (iOS < 10)
  • Emoji won't combine (iOS 5.1, WebCore version too old)
  • Atomic deletion doesn't work with profession emojis (iOS < 10.2)

EmojiFontManager

  • May not work on sandboxed applications
  • Could lead to crashing on iOS 6 and lower

Of course, iOS 6 is not forgotten