From 5df050b4efbff12e99da1e788026c6504bbd11ec Mon Sep 17 00:00:00 2001 From: Nick Thomas Date: Sat, 13 Jun 2020 18:23:50 +0100 Subject: [PATCH] Substitute unknown glyphs --- internal/ui/noninteractive.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/internal/ui/noninteractive.go b/internal/ui/noninteractive.go index e370ff4..680fb31 100644 --- a/internal/ui/noninteractive.go +++ b/internal/ui/noninteractive.go @@ -320,14 +320,20 @@ func (l *label) regions(tick int) []region { pt := l.pos() for _, r := range l.str { - glyph, err := l.font.Glyph(r) - if err != nil { - log.Printf("FIXME: ignoring misssing glyph %v", r) - continue + var sprite *assetstore.Sprite + if glyph, err := l.font.Glyph(r); err != nil { + if glyph, err := l.font.Glyph('?'); err != nil { + log.Printf("FIXME: ignoring glyph %v", r) + continue + } else { + sprite = glyph + } + } else { + sprite = glyph } - out = append(out, oneRegion(pt, glyph.Image)...) - pt.X += glyph.Rect.Dx() + out = append(out, oneRegion(pt, sprite.Image)...) + pt.X += sprite.Rect.Dx() } return out