Characters that take up a negative width pull the next text or picture to the left. Custom menus, HUD pictures and rank icons are lined up with them. Type the shift you need and copy the characters; download the font file for your pack.
The characters in this font
Eleven characters move left and eleven move right, each twice as far as the one before. Any shift up to 2047 pixels is a few of them in a row; this page picks them for you.
Pixels
Code
Pixels
Code
The font file
How to use it
Unzip the download into your resource pack, next to pack.mcmeta, and reload the pack with F3+T.
Put the characters in front of the text or picture you want to move. A negative shift moves it left, a positive shift moves it right.
Own font: the characters only work in text that uses your font. In MiniMessage that is <font:mypack:space>, in a text component it is "font": "mypack:space". Text after it goes back to the normal font.
Default font: the characters work everywhere, also in item names, signs and plugins that cannot choose a font. The file is added to the game's own font; other packs that do the same keep working, as long as they use other characters.
This kind of font needs Minecraft Java 1.19 or newer. Older versions need a picture for every width.
Do not make the characters bold. Bold adds one pixel to every character, also to these.
In a YAML config, \uF801 is only read inside double quotes. Single quotes keep it as plain text.
The codes come from the private use area of Unicode (U+F801 to U+F82B). No real letter lives there, so nothing a player types is changed. If another pack already uses these codes, change the namespace and use your own font.
Something wrong or missing here? Tell me, requests decide what I add next. More tools: all tools.