There are a limited number of ways to display text in the game Minecraft. One can either build letters out of blocks and take up a lot of space, or they can use signs.
While it is possible to add different text sizes with modifications, it would be useful in many vanilla Minecraft experiences to have an option in between.
To even begin a project like this, some research was necessary. A system that effectively recreates the appearance of Minecraft signs is needed so that the output of an image conversion can even be verified.
I began seeing how many pixels wide the Minecraft sign's writable area is. Luckily, unicode has a character that is a very thin black bar. Counting these and multiplying by two gives the exact horizontal resolution of the sign.
Minecraft uses two different ways of rendering text for menus, chat, and signs. For every common letter found in most germanic languages, a special character map exists that makes them clearer.
For every other character, something called "Unifont" is used. It is an open-source pixelated font that contains every unicode character in the Basic Multilingual Plane (BMP). In the pictures, green highlighted characters have their own sprite set, but every other character appears as-is.
Before realizing the scope of characters that could be displayed, I only used block characters. This yielded a suprisingly good result.
I also repeated the process for the recently-added hanging sign.
The result of this project is a very satisfying way to add mid-sized readable text to Minecraft worlds.Â
Adding a user interface is the obvious next move for this project, and maybe even a system for drawing inside this UI. Right now, a different program must be used and then imported. Because writing large text is the best application for this software, a system that automatically scales letters from any font into sign sizes would be very useful.