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)

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

	for _, info := range afmfc.FontInfos {
		if doc.Y() > 10 {
			doc.NewPage()
			doc.MoveTo(1, 1)
		}
		_, err = doc.SetFont(info.PostScriptName(), 12, pdf.Options{})
		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()
	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()
}
func main() {
	doc := pdf.NewDocWriter()
	afmfc, err := pdf.NewAfmFontCollection("../../afm/data/fonts/*.afm")
	if err != nil {
		panic(err)
	}
	doc.AddFontSource(afmfc)
	doc.SetUnits("in")

	doc.NewPage()
	doc.MoveTo(1, 1)
	_, err = doc.SetFont("Helvetica", 12, pdf.Options{})
	if err != nil {
		panic(err)
	}
	doc.SetUnderline(true)
	doc.Print("I18N Text\n\n")
	doc.SetUnderline(false)
	doc.SetLineSpacing(1.2)

	for _, k := range i18nKeys {
		// fmt.Println(i18nText[k])
		if doc.Y() > 10 {
			doc.NewPage()
			doc.MoveTo(1, 1)
		}
		fmt.Fprintf(doc, "%s:\n", k)
		doc.PrintWithOptions(i18nText[k], pdf.Options{"width": 6.5})
		fmt.Fprintln(doc)
	}
	f, err := os.Create(name)
	if err != nil {
		panic(err)
	}
	doc.WriteTo(f)
	f.Close()
	exec.Command("open", name).Start()
}