Fix GDI zero-ink glyph handling

This commit is contained in:
gamer147
2026-08-15 10:30:32 -04:00
parent d38511665a
commit 3289948ce7
5 changed files with 107 additions and 8 deletions

View File

@@ -60,6 +60,19 @@ public class WindowsGdiGlyphMaskRasterizerTests
Assert.All(actual.Coverage.ToArray(), value => Assert.InRange(value, (byte)0, (byte)16));
}
[Fact]
public void IdeographicSpacePreservesAdvanceWithTransparentCoverage()
{
if (!WindowsGdiGlyphMaskRasterizer.TryGetAvailability(out _)) return;
using var rasterizer = new WindowsGdiGlyphMaskRasterizer();
GlyphMask space = rasterizer.Rasterize(
NativeRequest(" 明朝", 24, -12, 0, 0x3000));
Assert.True(space.CellAdvanceX > 0);
Assert.All(space.Coverage.ToArray(), value => Assert.Equal(0, value));
}
[Fact]
public void FontHandlesUseTheSharedBoundedLruAndDisposeCleanly()
{