Merge branch 'emacs' of http://git.hacks-galore.org/jao/factor
[factor/jcg.git] / unmaintained / pdf / pdf-tests.factor
blob290773a89d4b1376510339cb32f040d7a1c564b5
1 USING: io.files kernel math namespaces pdf pdf.libhpdf prettyprint sequences ;
2 IN: pdf.tests
4 SYMBOL: font
6 SYMBOL: width
7 SYMBOL: height
8 SYMBOL: twidth
10 : font-list ( -- seq ) {
11     "Courier"
12     "Courier-Bold"
13     "Courier-Oblique"
14     "Courier-BoldOblique"
15     "Helvetica"
16     "Helvetica-Bold"
17     "Helvetica-Oblique"
18     "Helvetica-BoldOblique"
19     "Times-Roman"
20     "Times-Bold"
21     "Times-Italic"
22     "Times-BoldItalic"
23     "Symbol"
24     "ZapfDingbats"
25 } ;
28     ! HPDF_COMP_ALL set-compression-mode
30     ! HPDF_PAGE_MODE_USE_OUTLINE set-page-mode
32     ! Add a new page object
33     add-page
35     get-page-height height set
37     get-page-width width set
39     ! Print the lines of the page
40     1 set-page-line-width
42     50 50 width get 100 - height get 110 - page-rectangle
44     page-stroke
46     ! Print the title of the page (with positioning center)
47     "Helvetica" f get-font font set
49     font get 24 set-page-font-and-size
51     "Font Demo" page-text-width twidth set
53     [
54         width get twidth get - 2 / height get 50 - "Font Demo" page-text-out
56     ] with-text
58     ! Print subtitle
59     [
60         font get 16 set-page-font-and-size
62         60 height get 80 - "<Standard Type1 font samples>" page-text-out
64     ] with-text
66     ! Print font list
67     [
68         60 height get 105 - page-move-text-pos
70         SYMBOL: fontname
72         font-list [
74             fontname set
76             fontname get f get-font font set
78             ! print a label of text
79             font get 9 set-page-font-and-size
81             fontname get page-show-text
83             0 -18 page-move-text-pos
85             ! print a sample text
86             font get 20 set-page-font-and-size
88             "abcdefgABCDEFG12345!#$%&+-@?" page-show-text
90             0 -20 page-move-text-pos
92         ] each
94     ] with-text
96     "font_test.pdf" temp-file save-to-file
98 ] with-pdf