// DrawFonts draws some text in all of the various // fonts along with a box to make sure that their // sizes are computed correctly. func DrawFonts(c vg.Canvas) { y := vg.Points(0) var fonts []string for fname := range vg.FontMap { fonts = append(fonts, fname) } sort.Strings(fonts) for _, fname := range fonts { font, err := vg.MakeFont(fname, 20) if err != nil { panic(err) } w := font.Width(fname + "Xqg") h := font.Extents().Ascent c.FillString(font, 0, y-font.Extents().Descent, fname+"Xqg") fmt.Println(fname) var path vg.Path path.Move(0, y+h) path.Line(w, y+h) path.Line(w, y) path.Line(0, y) path.Close() c.Stroke(path) path = vg.Path{} c.SetColor(color.RGBA{B: 255, A: 255}) c.SetLineDash([]vg.Length{vg.Points(5), vg.Points(3)}, 0) path.Move(0, y-font.Extents().Descent) path.Line(w, y-font.Extents().Descent) c.Stroke(path) c.SetColor(color.Black) c.SetLineDash([]vg.Length{}, 0) y += h } }