text/v2: add variations to glyph cache keys

This commit is contained in:
Hajime Hoshi 2023-11-16 13:15:51 +09:00
parent c7843a4e2b
commit 68d5fa46e2
2 changed files with 6 additions and 3 deletions

View File

@ -50,6 +50,8 @@ type glyphImageCacheKey struct {
xoffset fixed.Int26_6 xoffset fixed.Int26_6
yoffset fixed.Int26_6 yoffset fixed.Int26_6
variations string
} }
type glyphImageCacheEntry struct { type glyphImageCacheEntry struct {

View File

@ -341,6 +341,7 @@ func (g *GoTextFace) glyphImage(glyph glyph, origin fixed.Point26_6) (*ebiten.Im
id: uint32(glyph.shapingGlyph.GlyphID), id: uint32(glyph.shapingGlyph.GlyphID),
xoffset: subpixelOffset.X, xoffset: subpixelOffset.X,
yoffset: subpixelOffset.Y, yoffset: subpixelOffset.Y,
variations: g.ensureVariationsString(),
} }
img := theGlyphImageCache.getOrCreate(g, key, func() *ebiten.Image { img := theGlyphImageCache.getOrCreate(g, key, func() *ebiten.Image {
return segmentsToImage(glyph.scaledSegments, subpixelOffset, b) return segmentsToImage(glyph.scaledSegments, subpixelOffset, b)