func (c *Canvas) FillString(font vg.Font, x, y vg.Length, str string) { c.gc.Save() defer c.gc.Restore() data, ok := fontMap[font.Name()] if !ok { panic(fmt.Sprintf("Font name %s is unknown", font.Name())) } if !registeredFont[font.Name()] { draw2d.RegisterFont(data, font.Font()) registeredFont[font.Name()] = true } c.gc.SetFontData(data) c.gc.SetFontSize(font.Size.Points()) c.gc.Translate(x.Dots(c.DPI()), y.Dots(c.DPI())) c.gc.Scale(1, -1) c.gc.FillString(str) }