EmojiPort

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

EmojiPort: iOS 8.1 / 8.4 / 9.0 / 9.3 / 10.1 / 10.3

Compatibility and Dependencies

Tweak iOS Versions
5.1 6.0 - 8.2 8.3 - 8.4 9.0 - 9.3 10.0 - 11.0
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.0-11.0) 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 optional. It removes emoji size limit on web browsers which had been the issue until iOS 10. It also fixes emoji separation issue in gender emojis when viewing on websites.

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 to install EmojiPort?

First of all, add this Cydia repository: https://poomsmart.github.io/repo

1. Get the latest emoji font

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.2 font
  6. Open BytaFont app, go to Swap Mode > Emoji and tap Emoji11.2 to enable the font, respring after that

If you want to uninstall

  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.2 (font)
  3. Respring your device

Option #2: EmojiFontManager (iOS 7 - 9)

Note: This approach may or may not work.

Installation

  1. Disable such emoji font applied by Anemone, as this tweak simply overrides it
  2. Add this Cydia repository: https://vxbakerxv.github.io/repo
  3. Install EmojiFontManager and Emoji iOS 11.2 (EFM) (font)
  4. Go to Settings > EmojiFontManger, select Emoji11.2 to enable the font and tap Respring button to apply changes

If you want to uninstall

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

Option #3: Manual

Download a compatible font (choose one)

  1. iOS 11.2 font for iOS 10+
  2. iOS 11.2 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

Back up the original fonts

  1. Backup the default AppleColorEmoji@2x.ttc (or AppleColorEmoji@2x.ttf) and AppleColorEmoji@2x.ccf (if there is one) in /System/Library/Fonts/Core or /System/Library/Fonts/Cache of your device (Rename by adding .bak or simply move them to somewhere else)
  2. If you device is non-retina, all font names won't include @2x, instead might be _1x (in iOS 8.2)

Copy the font to the correct location

  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.0+ users, place downloaded files at /System/Library/Fonts/Core on your device

Important Notes

  1. If you choose iOS 11.2 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.2 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

2. Install EmojiPort tweak of your iOS version

  1. In Cydia, search for EmojiPort
  2. Select and install the one with the corresponding iOS version in parentheses
  3. Respring your device

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.0-11.0)

  • 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)

EmojiFontManager

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

EmojiPort iOS 6.1 / 7.1