Don't crash when a glyph has no contours.
This commit is contained in:
parent
38b4c392ad
commit
d9be45aaf7
|
@ -209,6 +209,7 @@ func (g *GlyphBuf) load(recursion uint32, i Index, useMyMetrics bool) (err error
|
||||||
g.addPhantomsAndScale(len(g.Points), len(g.Points), true, true)
|
g.addPhantomsAndScale(len(g.Points), len(g.Points), true, true)
|
||||||
copy(g.phantomPoints[:], g.Points[len(g.Points)-4:])
|
copy(g.phantomPoints[:], g.Points[len(g.Points)-4:])
|
||||||
g.Points = g.Points[:len(g.Points)-4]
|
g.Points = g.Points[:len(g.Points)-4]
|
||||||
|
// TODO: also trim g.InFontUnits and g.Unhinted?
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -282,6 +283,10 @@ func (g *GlyphBuf) loadSimple(glyf []byte, ne int) (program []byte) {
|
||||||
program = glyf[offset : offset+instrLen]
|
program = glyf[offset : offset+instrLen]
|
||||||
offset += instrLen
|
offset += instrLen
|
||||||
|
|
||||||
|
if ne == 0 {
|
||||||
|
return program
|
||||||
|
}
|
||||||
|
|
||||||
np0 := len(g.Points)
|
np0 := len(g.Points)
|
||||||
np1 := np0 + int(g.Ends[len(g.Ends)-1])
|
np1 := np0 + int(g.Ends[len(g.Ends)-1])
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue