Skip to content

Instantly share code, notes, and snippets.

@tryashtar
Last active October 27, 2022 09:37
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tryashtar/6b2692e11ad46124e5129614fb7856a8 to your computer and use it in GitHub Desktop.
Save tryashtar/6b2692e11ad46124e5129614fb7856a8 to your computer and use it in GitHub Desktop.
Characters with special consideration in Minecraft fonts

The following characters have special behavior in Minecraft, and care should be taken when retexturing them in a custom font:

Unusable

  • \u0000: NULL �
    • This character cannot be included in a bitmap font, since it's used as a placeholder to skip certain cells of the texture grid.
  • \u000a: LINE FEED ⏎
    • This character can be retextured and appear in text that does not support multiple lines. In chat, it will be invisible and cause a line break.
  • \u00a7: SECTION SIGN §
    • This character is never displayed. It also prevents the next character from displaying, and activates legacy formatting.

Surrogates

  • \ud800 - \udbff: High Surrogates
    • When these characters appear in a font provider, the game expects a following low surrogate character. If one is found, then the texture will apply whenever the pair are together. If none is found, it's treated like \u0000. Either way, the surrogate character by itself cannot be retextured.
  • \udc00 - \udfff: Low Surrogates
    • As above, these characters should be used after a high surrogate. They cannot be retextured by themselves.

Right to Left

Some characters render from right to left, which can be desired but is usually unexpected. All characters with the Unicode Bidirectional Class "AL" (Arabic Letter) or "R" (Right to Left) render this way, but also several characters that aren't defined in Unicode.

  • \u0590
  • \u05be
  • \u05c0
  • \u05c3
  • \u05c6
  • \u05c8 - \u05d2
  • \u05e8 - \u05ff
  • \u0608
  • \u060b
  • \u060d
  • \u061b - \u0620
  • \u0648 - \u065f
  • \u066d - \u066f
  • \u070b - \u0710
  • \u0712
  • \u072d - \u072f
  • \u074b - \u074f
  • \u07a4 - \u07a5
  • \u07b1 - \u07c2
  • \u07f4 - \u07f5
  • \u07fa - \u07fc
  • \u07fe - \u0800
  • \u081a
  • \u0824
  • \u0828
  • \u082e - \u0832
  • \u083c - \u0842
  • \u0856 - \u0858
  • \u085c - \u0862
  • \u0868 - \u0897
  • \u08a0 - \u08a2
  • \u08b2 - \u08b8
  • \u08c5 - \u08c9
  • \u200f
  • \ufb1d
  • \ufb1f
  • \ufb34 - \ufb48
  • \ufbbf - \ufbd5
  • \ufd8d - \ufd94
  • \ufdc5 - \ufdce
  • \ufdf0 - \ufdf2
  • \ufe72 - \ufe78
  • \ufefa - \ufefe
@Septicuss
Copy link

Thank you! A very useful and informative gist.
Added it to the list of resources on this page:
https://septicuss.notion.site/Fonts-ce8c8c12c313463ea01ac9b16d7e6bbb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment