Quick answer: Set per-character widths in the SpriteFont’s “Set character width” editor. Fixed-width spacing on variable-width glyphs looks wrong — an “i” gets the same box as a “W”.

A SpriteFont renders text with weird gaps — narrow letters float in too much space, wide letters touch. The font is using a single fixed character width.

Per-Character Widths

Double-click the SpriteFont object. Use Set character width to assign each glyph its real width. Narrow glyphs (i, l, .) get small widths; wide ones (W, M) get large ones. This is what makes proportional text look right.

Character Spacing Property

The SpriteFont object has a Character Spacing property — extra pixels added between every glyph. Use it for global tracking adjustments; don’t use it to compensate for missing per-character widths.

Match the Sprite Sheet Grid

The character set string, the sprite sheet layout, and the cell size must agree. A mismatch shifts every glyph — verify the character set order matches the sheet exactly.

Line Height & Padding

If vertical spacing is off, that’s the Line Height property, separate from character spacing. And trim transparent padding around glyphs in the sheet, or it reads as extra space.

Verifying

Render a pangram. Letters sit at natural distances — no floating narrow glyphs, no colliding wide ones. Spacing adjustments apply uniformly.

“SpriteFonts need per-character widths. Fixed spacing only looks right on a monospace sheet.”

If your glyph sheet was generated by a tool, it often exports a width table — check before setting all 90+ widths by hand.