724956278d
The font atlas was rasterized once at a fixed 16px and point-filtered, then scaled to a logical size at draw time. On HiDPI it got upscaled (acceptable); on standard-DPI it got downscaled, and point filtering dropped rows/columns of the anti-aliased glyphs, thinning stems into a faint "hyper-skinny" look. Bake the atlas at the real physical size text is drawn at (16 * GetUIScale() * GetWindowScaleDPI().y), quantized to 4px steps, and rebuild it via EnsureUIFont() once per frame when that density changes (resize, or moving between monitors of different DPI). Use mipmaps + trilinear filtering so downsampling stays smooth. Call sites are unchanged: DrawTextEx still scales the atlas glyph to the same logical size, only the backing resolution differs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>