- Fonts:
Fontwith a dynamic glyph atlas, rasterized natively with fontdue.- The atlas grows and rebuilds when full, raising
Font.textureRebuilt. CharacterInfo,RequestCharactersInTexture,GetCharacterInfo.- Liberation Sans is the built-in font (
Resources.GetBuiltinResource<Font>("LegacyRuntime.ttf"), and the scene reference to Arial). - .ttf/.otf files load from Resources and Unity projects.
- The atlas grows and rebuilds when full, raising
TextGenerator, with Unity's whole-pixel metrics:- rounded advances; kerning truncated, shifting the glyph after its cursor position is taken;
- line steps of the floored line height; baselines at the rounded ascent.
- Also word wrap with breaks inside words too long for a line, tab stops, vertical truncation, best fit, and rich text (b, i, size, color) whose tags lay out as zero-width characters.
- Legacy
TextinUnityEngine.UI, withFontData,FontUpdateTrackerand its preferred sizes. Unity.TextMeshPro, Tassix's own assembly (name and asmdef GUID), in TextMeshPro's exact font-unit metrics:TMP_Text,TextMeshProUGUIand 3DTextMeshPro,TMP_FontAsset(CreateFontAsset),TMP_Settings;textInfo(characters, lines, words, mesh info andUpdateVertexData), preferred and rendered values;- rich text (b, i, u, s, color, alpha, size, cspace, align, br, noparse), wrapping, alignment, auto sizing, truncation,
SetTextformatting. - Glyphs draw as bitmaps at the on-screen size, not from a signed distance field.
- A new
ui_textscenario recorded in Unity with the same font file on both sides checks the following, and matches:- font metrics and advances, preferred sizes, wrapping, truncation, best fit;
- per-character pen positions for alignment, rich text, overflow and line spacing;
- TextMeshPro's preferred values, character corners and line info.
- Glyph bitmap bounds aren't compared: Unity's FreeType hints them. 32 scenarios pass.
- Package script GUIDs for UI and TextMeshPro components, so they save into Unity scenes; the recorder imports TMP Essential Resources.
- Not yet: SDF effects (outline, underlay, glow, softness), sprite assets in text, fallback fonts, OS fonts, justified alignment, ellipsis glyphs, a project's TMP Settings asset.
- Next: EventSystem raycasts and input, then Button, Toggle and Slider with UnityEvent persistent calls.
Phase 5 · Slice 5 ·