tests and fixes #123, SIGSEGV on text.NewAtlas if glyph absent

This commit is contained in:
Bruno Reis 2018-08-10 23:25:01 -07:00
parent 7cff3ce3ae
commit 85bced7801
2 changed files with 8 additions and 2 deletions

View File

@ -60,8 +60,9 @@ func NewAtlas(face font.Face, runeSets ...[]rune) *Atlas {
)) ))
for r, fg := range fixedMapping { for r, fg := range fixedMapping {
dr, mask, maskp, _, _ := face.Glyph(fg.dot, r) if dr, mask, maskp, _, ok := face.Glyph(fg.dot, r); ok {
draw.Draw(atlasImg, dr, mask, maskp, draw.Src) draw.Draw(atlasImg, dr, mask, maskp, draw.Src)
}
} }
bounds := pixel.R( bounds := pixel.R(

View File

@ -4,6 +4,7 @@ import (
"testing" "testing"
"github.com/faiface/pixel/text" "github.com/faiface/pixel/text"
"golang.org/x/image/font/inconsolata"
) )
func TestAtlas7x13(t *testing.T) { func TestAtlas7x13(t *testing.T) {
@ -22,3 +23,7 @@ func TestAtlas7x13(t *testing.T) {
} }
} }
} }
func TestAtlasInconsolata(t *testing.T) {
text.NewAtlas(inconsolata.Regular8x16, text.ASCII)
}