over 4 years ago - Tyler "MoltonMontro" - Direct link

With the 3.20.6.0 update on July 10, 2020, we upgraded the text meshes to use TextMesh Pro. They look nicer and offer better performance, and apply to the vanilla flags, placards, and signs. Additionally, they come with a handful of new features for sign enthusiasts to enjoy.

RGBA colors

From left to right: all predefined colors, alpha from 100% to 0%, and color and alpha combined.

Relevant tags: ,

The simplest way to change color is to use a predefined color name, with colorName">. The predefined colors are case-sensitive: black, blue, green, orange, purple, red, white, yellow. For other colors, a hexadecimal number should be specified in the form of FFFFFF">.

Opacity can be changed with FF>, and is also based on hexadecimal values.

To use both with a single tag, FFFFFFFF"> can be used, with the last two digits being reserved for the alpha value. This reduces the amount of characters used up on formatting, as signs and such have a character limit.

Visual distinction

Relevant tags: , , , , .

Text can be marked over (highlighted), with the FFFFFFFF> tag, with the last two digits being reserved for the alpha value of the mark. As an example, Some Text.

Capitalization and typeface anatomy

Left: demonstration of lowercase, uppercase, and smallcaps. Right: demonstration of subscript and superscript.

Relevant tags: lowercase, uppercase, allcaps, smallcaps, sub, sup

The capitalization of text can be altered via one of three tags. However, due to the character limit, it is often more efficient to manually assign capitalization rather than use a tag.

lowercase and uppercase are rather self-explanatory, with allcaps being an alias for uppercase.

The third unique option is smallcaps, which makes everything capitalized but reduces the size of text that was not already capitalized beforehand.

Line and paragraph typography

Relevant tags: align, line-height, line-indent, pos, indent, width, margin, margin-left, margin-right

Default text alignment can be overridden by the tag. All four basic types of horizontal alignment are valid: left, center, right, justified.

The tag can be used to manually adjust the line height (how much space is between the current and following line)—with values being in pixels (px), ems (em), or percentages (%). Lines can be closer together, or farther apart.

The tag specifies an indentation for the start of each new line—with values being in pixels (px), ems (em), or percentages (%). It does not affect word-wrapped lines.

allows for the adjusting of the horizontal position—with values being in pixels (px), ems (em), or percentages (%). It can be put anywhere on a line, and will only affect the text that comes after it. It does not persist across lines, and is best used with a left alignment for an easier reference point.

The tag functions the same as the tag, but persists across multiple lines (including word-wrapped lines)—with values being in pixels (px), ems (em), or percentages (%).

The horizontal width of the text area can be adjusted with the tag—with values being in pixels (px), ems (em), or percentages (%). The size is adjusted from the right side alignment, going inwards. The horizontal width cannot be larger than the original size of the text object.

Adjust horizontal margins of the text with the tag—with values being in pixels (px), ems (em), or percentages (%). The tag adjusts from both sides of the text object. To only adjust from the left or the right, you can use the or tags.

Spacing

From left to right: usage of monospacing, demonstration of character spacing and horizontal space, and usage of non-breaking spaces.

Relevant tags: space, cspace, mspace, nobr

Insert a specifiable amount of horizontal space via , using pixels (px) or ems (em) as unit values.

Use to adjust the character spacing, using pixels (px) or ems (em) as unit values. Positive values push characters farther apart, and negative values bring them closer together.

Override the default character spacing to be a monospace font with the tag, using pixels (px) or ems (em) as unit values.

Prevent words from getting separated by word-wrapping by using the tag to forcefully insert non-breaking spaces.

Other tags

Relevant tag: noparse

Disable rich text with in order to display text that would otherwise be interpreted as a tag.

Both and are currently supported as tags, but have no functionality when it comes to vanilla assets. Page breaks will not occur, and it is not possible for players to create a clickable link.

Some common tags—such as font, size, and voffset—are outright disabled and cannot be used. Such tags are disabled due to their abusability.