func init() { luximrTTF, err := truetype.Parse(luximr) if err != nil { common.UsageAndExit("failed to parse luximir font: %s", err) } luximr = nil // kill 72Kb of font data draw2d.RegisterFont( draw2d.FontData{Name: "luxi", Family: draw2d.FontFamilyMono, Style: draw2d.FontStyleNormal}, luximrTTF, ) }
func LoadFont(name, file string) error { f, err := ioutil.ReadFile(file) if err != nil { return err } font, err := truetype.Parse(f) if err != nil { return err } draw2d.RegisterFont(draw2d.FontData{Name: name}, font) return nil }
func initmeme() { fontfile, err := os.Open(*impact) assert(err) defer fontfile.Close() bytes, err := ioutil.ReadAll(fontfile) assert(err) font, err := freetype.ParseFont(bytes) assert(err) memeFontData = draw2d.FontData{"impact", draw2d.FontFamilySans, 0} draw2d.RegisterFont(memeFontData, font) }
func initunsplash() { fontfile, err := os.Open(*gillmt) assert(err) defer fontfile.Close() bytes, err := ioutil.ReadAll(fontfile) assert(err) font, err := freetype.ParseFont(bytes) assert(err) quoteFontData = draw2d.FontData{"gillmt", draw2d.FontFamilySans, draw2d.FontStyleBold} draw2d.RegisterFont(quoteFontData, font) }
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) }