Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

Glyphix

A mod to improve font support for Minecraft.

Features

  • 100% client side. Anyone who has this mod will see emojis as properly rendered.
  • Full twemoji support by default
  • Proper width calculations. Because emojis are multiple characters, Minecraft has a hard time dealing with width, but
  • Different emoji atlases
  • Fast. This mod does not improve vanilla speed, but even with more features it does not slow down. If I can think of a way to speed up vanilla that will definitely get added to this mod.

This mod is still in beta because overhauling Minecraft's font is super finicky. If there are any bugs, please report them to the issue tracker.

How to use emojis

Just copy and paste the raw emoji. In unicode.org it's the browser column. Anything in the twitter column should work by default.

Planned Features

  • Ligature support from .ttf fonts. Emojis are essentially just ligatures so it probably won't be too hard to add more support.
  • Use an actual bold font when rendering bold. Currently Minecraft just renders text twice when it is supposed to be bold, I want to add support for a specified bold font.
  • Use an actual italic font when rendering italic. Currently minecraft just slices text.
  • Fix some weird .ttf bugs. There are some inaccuracies with spacing and .ttf font. Another goal of the project is to make it render correctly.
  • Text box weirdness with emojis. Textboxes uses string length and not glyph length for some calculations which can make rendering weird. Fixing these will require a bit of work, but should improve usability.
  • Chat hooks to automatically convert strings like :grinning_face: -> 😀 for incoming and outgoing messages.
  • Other built in emoji fonts

Changing Emoji Atlas

There is a script ./scripts/emoji_atlas.py that will convert a directory of emojis into an atlas with JSON file specifying locations. The emojis name has to be <unicode>.png with multi-character emojis as <unicode>-<unicode>.png and so on. It shouldn't be too hard to modify the python script to change the names if there is a different naming scheme for whatever emojis you choose.

The script will generate 2 files. emoji_atlas.png and emoji_positions.png. Put these into a resourcepack under assets/glyphix/emoji/. Reload texturepacks and the new emojis should render correctly.

Currently, emojis have to be square for them to render correctly.

External resources



Project members

DarkKronicle

Owner


Technical information

License
MPL-2.0
Client side
required
Server side
unsupported
Project ID