stride3d / stride3d/stride

Font Rendering: Inconsistent Kerning and Tracking between Offline and Runtime Rasterized Fonts

Open
#2,174 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C#
Stars
7.8k
Forks
1.2k
Avg merge
2d 17h
Merged PRs (30d)
49

Description

Release Type: Official Release 4.2

Version: 4.2.0.2067 on .NET 8.0.2

Platform(s): Windows 11, in Editor and in-Game

Describe the bug
Runtime and Offline rasterized fonts have different tracking.
Offline rasterized vetical tracking is very random (Clown Font effect).
Both have kerning issues.

To Reproduce
Steps to reproduce the behavior:

  1. download Bai Jamjuree font from Google Fonts
  2. create Offline Rasterized font
  3. create Runtime Rasterized font
  4. create two text blocks, one for each font, same text
  5. place text blocks on top or beside each other
  6. observe the fonts deviate significantly

Expected behavior
Consistent layouting and spacing (with in reason) between the fonts.

Screenshots
image
Cyan is Runtime, Yellow is Offline.

image

Related to #2172 #2171 #2173

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the Bai Jamjuree font on Windows 11 using the listed Offline Rasterized and Runtime Rasterized steps, then compare identical text blocks. Done means the two rasterization paths produce consistent layout, tracking, vertical spacing, and kerning within a reasonable range.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.