Skip to content

v0.50.7 — variable font outlines under transforms (#405)

Choose a tag to compare

@kolkov kolkov released this 17 Jul 15:56
61f710d

Fixed

  • Variable font outlines under transforms (#405) — when dc.Shear() or dc.Rotate() was applied, variable font variations (e.g. wght=700) were silently ignored because the vector outline path called ExtractOutline() without gvar deltas. All 7 outline extraction paths now use ExtractOutlineHintedVar() with face.Variations(), matching the Skia/skrifa/FreeType invariant: gvar deltas are glyph geometry, applied unconditionally. Cache keys (OutlineCacheKey, GlyphMaskKey, msdf.GlyphKey) now include VariationHash to prevent cross-variation cache poisoning.

Added

  • GlyphMaskRasterizer.RasterizeHintedVar() — rasterize glyph masks with font variations applied (gvar + hinting in one pass).
  • GlyphMaskRasterizer.RasterizeAliasedVar() — aliased (binary coverage) variant with font variations.
  • RenderParams.Variations field — propagates font variations through GlyphRenderer.
  • GlyphMaskKey.VariationHash / msdf.GlyphKey.VariationHash — variation-aware cache keys.
  • 17 enterprise tests covering all fixed paths.

Changed

  • Updated gogpu/wgpu v0.30.21 → v0.30.22.