Is it possible to update macOS's emoji keyboard (to use all emojis)
Following this question, I have obtained and installed macOS Mojave's Apple Color Emoji.ttc
on macOS Sierra. While I can now see these emojis if I'm texted them, they don't show up on my emoji keyboard (even when placed in /System/Library/Fonts/
)
One of the answers to that question mentioned that this would happen:
Emoji & Symbol picker will not list the newer emoji added since your version of macOS. For that to work you would also need to update at least
/System/Library/PrivateFrameworks/CoreEmoji.framework
and maybe some other files.
Because of this, I tried switching out macOS Sierra's CoreEmoji.framework
for Mojave's. This did not go well to say the least.
As soon as I renamed the original CoreEmoji.framework
(to make sure that it still existed), Finder immediately froze, and when force quit didn't re-open, open applications stopped working, and I was unable to launch any apps or files. I was also unable to Log out, Restart, or Shutdown (except when pressing and holding the power button).
After shutting down, when attempting to restart, there was no restart sound, the progress bar didn't display any progress, after about 1 min the screen brightness was lowered a bit (like what happens when you computer is about to go to sleep or start a screensaver), and after 2-3 mins of starting up, the screen turned off completely. The computer didn't respond to any key presses or mouse activity.
I was able to undo the damage done by booting into the Recovery partition and using mv
to move the origonal CoreEmoji.framework
back into place, and was then able to restart into my regular macOS partition.
So, it turns out that changing something (that I wouldn't think make a big difference) like CoreEmoji.framework
can make it so that macOS can't restart, so I was wondering if there is any way, other than by completely replacing CoreEmoji.framework
, to get macOS Mojave's emojis to show up in the emoji keyboard. Does something like EmojiAttributes exist for macOS? Or, as ridiculous as this sounds, could EmojiAttributes be modified to work as a mySIMBL
extension? The only problem with that solution is that I have no idea how to build with theos
, as for some reason it seems that I didn't install it correctly on macOS or iOS (I followed the instructions for both, but it doesn't work).
Also, before you tell me that I did something less than optimally smart, yes, I do have backups of everything, and in the worst-case-scenario, could have reinstalled macOS.
I haven't figured out how to make new emojis to appear in the main picker panel, but I've at least gotten them to be searchable from the picker in Mojave (10.14.6) as well as showing up in the frequently-used section. Here's the process I used to get Emoji 13.1 emojis from Monterey (12.0.1) to render and to be searchable from the Mojave picker.
Replacing the entire CoreEmoji.framework
bundle DOES NOT WORK and will prevent you from booting successfully (as noted above). The Monterey version of the bundle is missing several files that Mojave seems to depend on, thus the bundles must be "merged", only files that exist in both bundle versions should be replaced.
As noted in the original post, modifying system files while booted is dangerous and probably won't work– boot to recovery mode and use terminal to replace files.
I'm not positive this works on other versions of macOS, but since Monterey → Mojave works, I'd assume Big Sur/Catalina → Mojave should work, and Monterey → Big Sur/Catalina should also work. As always, modifying core system files should be done at your own risk...
Directions:
-
Save backups of Mojave files:
- Font:
/System/Library/Fonts/Apple Color Emoji.ttc
- Framework bundle:
/System/Library/PrivateFrameworks/CoreEmoji.framework/
- Font:
-
Acquire Monterey versions of the above resource files
-
Replace the following Mojave files with the Monterey versions:
Don't replace the entire CoreEmoji.framework bundle, only replace files explicitly listed! Same goes for the
en.lproj
directory, don't replace the whole folder, just the three files listed below.-
/System/Library/Fonts/
Apple Color Emoji.ttc
-
/System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/Resources/
CharacterPicker-en.dat
emoji.bitmap
emoji.dat
emojimeta.dat
Emoticons.dat
equivalences.plist
FindReplace-en.dat
-
en.lproj/
AppleName.strings
TextToSpeech.stringsdict
Voiceover.strings
-