...
1
16
17 package gofpdf_test
18
19 import (
20 "bytes"
21 "fmt"
22
23 "github.com/jung-kurt/gofpdf"
24 "github.com/jung-kurt/gofpdf/internal/example"
25 )
26
27 func ExampleTtfParse() {
28 ttf, err := gofpdf.TtfParse(example.FontDir() + "/calligra.ttf")
29 if err == nil {
30 fmt.Printf("Postscript name: %s\n", ttf.PostScriptName)
31 fmt.Printf("unitsPerEm: %8d\n", ttf.UnitsPerEm)
32 fmt.Printf("Xmin: %8d\n", ttf.Xmin)
33 fmt.Printf("Ymin: %8d\n", ttf.Ymin)
34 fmt.Printf("Xmax: %8d\n", ttf.Xmax)
35 fmt.Printf("Ymax: %8d\n", ttf.Ymax)
36 } else {
37 fmt.Printf("%s\n", err)
38 }
39
40
41
42
43
44
45
46 }
47
48 func hexStr(s string) string {
49 var b bytes.Buffer
50 b.WriteString("\"")
51 for _, ch := range []byte(s) {
52 b.WriteString(fmt.Sprintf("\\x%02x", ch))
53 }
54 b.WriteString("\":")
55 return b.String()
56 }
57
58 func ExampleFpdf_GetStringWidth() {
59 pdf := gofpdf.New("", "", "", example.FontDir())
60 pdf.SetFont("Helvetica", "", 12)
61 pdf.AddPage()
62 for _, s := range []string{"Hello", "世界", "\xe7a va?"} {
63 fmt.Printf("%-32s width %5.2f, bytes %2d, runes %2d\n",
64 hexStr(s), pdf.GetStringWidth(s), len(s), len([]rune(s)))
65 if pdf.Err() {
66 fmt.Println(pdf.Error())
67 }
68 }
69 pdf.Close()
70
71
72
73
74 }
75
View as plain text