]> gitweb.factorcode.org Git - factor.git/blob - extra/pdf/pdf-tests.factor
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / extra / pdf / pdf-tests.factor
1 USING: io.files kernel math namespaces pdf pdf.libhpdf prettyprint sequences ;
2
3 SYMBOL: font
4
5 SYMBOL: width
6 SYMBOL: height
7 SYMBOL: twidth
8
9 : font-list ( -- seq ) {
10     "Courier"
11     "Courier-Bold"
12     "Courier-Oblique"
13     "Courier-BoldOblique"
14     "Helvetica"
15     "Helvetica-Bold"
16     "Helvetica-Oblique"
17     "Helvetica-BoldOblique"
18     "Times-Roman"
19     "Times-Bold"
20     "Times-Italic"
21     "Times-BoldItalic"
22     "Symbol"
23     "ZapfDingbats"
24 } ;
25
26 [
27     ! HPDF_COMP_ALL set-compression-mode
28
29     ! HPDF_PAGE_MODE_USE_OUTLINE set-page-mode
30
31     ! Add a new page object
32     add-page
33
34     get-page-height height set
35
36     get-page-width width set
37
38     ! Print the lines of the page
39     1 set-page-line-width
40
41     50 50 width get 100 - height get 110 - page-rectangle
42
43     page-stroke
44
45     ! Print the title of the page (with positioning center)
46     "Helvetica" f get-font font set
47
48     font get 24 set-page-font-and-size
49
50     "Font Demo" page-text-width twidth set
51
52     [
53         width get twidth get - 2 / height get 50 - "Font Demo" page-text-out
54
55     ] with-text
56
57     ! Print subtitle
58     [
59         font get 16 set-page-font-and-size
60
61         60 height get 80 - "<Standard Type1 font samples>" page-text-out
62
63     ] with-text
64
65     ! Print font list
66     [
67         60 height get 105 - page-move-text-pos
68
69         SYMBOL: fontname
70
71         font-list [
72
73             fontname set
74
75             fontname get f get-font font set
76
77             ! print a label of text
78             font get 9 set-page-font-and-size
79
80             fontname get page-show-text
81
82             0 -18 page-move-text-pos
83
84             ! print a sample text
85             font get 20 set-page-font-and-size
86
87             "abcdefgABCDEFG12345!#$%&+-@?" page-show-text
88
89             0 -20 page-move-text-pos
90
91         ] each
92
93     ] with-text
94
95     "font_test.pdf" temp-file save-to-file
96
97 ] with-pdf