func main() {
	f, err := os.Create(name)
	if err != nil {
		panic(err)
	}
	doc := pdf.NewDocWriter()
	ttfc, err := pdf.NewTtfFontCollection("/Library/Fonts/*.ttf")
	if err != nil {
		panic(err)
	}
	doc.AddFontSource(ttfc)

	doc.SetUnits("in")
	doc.SetLineSpacing(1.5)
	doc.MoveTo(1, 1)

	for _, info := range ttfc.FontInfos {
		if doc.Y() > 10 {
			doc.NewPage()
			doc.MoveTo(1, 1)
		}
		_, err = doc.SetFont(info.Family(), 12, pdf.Options{"style": info.Style()})
		if err != nil {
			panic(err)
		}
		fmt.Fprintln(doc, info.FullName())
	}
	doc.WriteTo(f)
	f.Close()
	exec.Command("open", name).Start()
}
func main() {
	f, err := os.Create(name)
	if err != nil {
		panic(err)
	}
	doc := pdf.NewDocWriter()
	ttfc, err := pdf.NewTtfFontCollection("/Library/Fonts/*.ttf")
	if err != nil {
		panic(err)
	}
	doc.AddFontSource(ttfc)
	doc.SetUnits("in")

	doc.NewPage()
	doc.MoveTo(1, 1)
	doc.SetFont("Courier New", 12, pdf.Options{})
	doc.SetUnderline(true)
	doc.Print("Rich Text\n\n")
	doc.SetUnderline(false)
	doc.SetLineSpacing(1.2)

	lines := []*pdf.RichText{
		makeRtLine(doc, line1),
		makeRtLine(doc, line2),
		makeRtLine(doc, line3),
		makeRtLine(doc, line4),
		makeRtLine(doc, line5),
		makeRtLine(doc, line6),
	}
	doc.PrintParagraph(lines)
	doc.WriteTo(f)
	f.Close()
	exec.Command("open", name).Start()
}
func main() {
	f, err := os.Create(name)
	if err != nil {
		panic(err)
	}
	doc := pdf.NewDocWriter()
	afmfc, err := pdf.NewAfmFontCollection("../../afm/data/fonts/*.afm")
	if err != nil {
		panic(err)
	}
	doc.AddFontSource(afmfc)
	ttfc, err := pdf.NewTtfFontCollection("/Library/Fonts/*.ttf")
	if err != nil {
		panic(err)
	}
	doc.AddFontSource(ttfc)

	doc.NewPage()
	doc.SetUnits("in")

	_, err = doc.SetFont("Helvetica", 12, pdf.Options{})
	if err != nil {
		panic(err)
	}
	doc.MoveTo(1, 1)
	doc.Print("Hello, World!")

	_, err = doc.SetFont("Arial", 14, pdf.Options{})
	if err != nil {
		panic(err)
	}
	doc.MoveTo(2, 2)
	doc.Print("Goodbye, cruel world...")

	doc.WriteTo(f)
	f.Close()
	exec.Command("open", name).Start()
}