Files
gorpg/konstructor/entity.font.go
2023-07-06 23:51:35 +02:00

34 lines
685 B
Go

package konstructor
import (
"image/color"
"io/ioutil"
"golang.org/x/image/font"
"golang.org/x/image/font/opentype"
)
type FontLayout struct {
Path string
DPI float64
Size float64
Color color.Color
SelectedColor color.Color
cachedFontFace font.Face
}
func (fl *FontLayout) GetFontFace() font.Face {
if fl.cachedFontFace != nil {
return fl.cachedFontFace
}
file, _ := ioutil.ReadFile(fl.Path)
true_type, _ := opentype.Parse(file)
font_face, _ := opentype.NewFace(true_type, &opentype.FaceOptions{
Size: fl.DPI,
DPI: fl.Size,
Hinting: font.HintingVertical,
})
fl.cachedFontFace = font_face
return font_face
}