github.com/Kintar/etxt@v0.0.0-20221224033739-2fc69f000137/esizer/impl_no_kern.go (about) 1 package esizer 2 3 import "golang.org/x/image/font" 4 import "golang.org/x/image/font/sfnt" 5 import "golang.org/x/image/math/fixed" 6 7 // A default [Sizer] without kerning (the kern function always returns 0). 8 type NoKernSizer struct{ buffer sfnt.Buffer } 9 10 // Satisfies the [Sizer] interface. 11 func (self *NoKernSizer) Metrics(font *Font, size fixed.Int26_6) font.Metrics { 12 return DefaultMetricsFunc(font, size, &self.buffer) 13 } 14 15 // Satisfies the [Sizer] interface. 16 func (self *NoKernSizer) Advance(font *Font, glyphIndex GlyphIndex, size fixed.Int26_6) fixed.Int26_6 { 17 return DefaultAdvanceFunc(font, glyphIndex, size, &self.buffer) 18 } 19 20 // Satisfies the [Sizer] interface. 21 func (self *NoKernSizer) Kern(*Font, GlyphIndex, GlyphIndex, fixed.Int26_6) fixed.Int26_6 { 22 return 0 23 }