]> gitweb.factorcode.org Git - factor-unmaintained.git/blobdiff - pdf/pdf-tests.factor
unmaintained: New home for misfit Factor vocabularies.
[factor-unmaintained.git] / pdf / pdf-tests.factor
diff --git a/pdf/pdf-tests.factor b/pdf/pdf-tests.factor
new file mode 100644 (file)
index 0000000..290773a
--- /dev/null
@@ -0,0 +1,98 @@
+USING: io.files kernel math namespaces pdf pdf.libhpdf prettyprint sequences ;
+IN: pdf.tests
+
+SYMBOL: font
+
+SYMBOL: width
+SYMBOL: height
+SYMBOL: twidth
+
+: font-list ( -- seq ) {
+    "Courier"
+    "Courier-Bold"
+    "Courier-Oblique"
+    "Courier-BoldOblique"
+    "Helvetica"
+    "Helvetica-Bold"
+    "Helvetica-Oblique"
+    "Helvetica-BoldOblique"
+    "Times-Roman"
+    "Times-Bold"
+    "Times-Italic"
+    "Times-BoldItalic"
+    "Symbol"
+    "ZapfDingbats"
+} ;
+
+[
+    ! HPDF_COMP_ALL set-compression-mode
+
+    ! HPDF_PAGE_MODE_USE_OUTLINE set-page-mode
+
+    ! Add a new page object
+    add-page
+
+    get-page-height height set
+
+    get-page-width width set
+
+    ! Print the lines of the page
+    1 set-page-line-width
+
+    50 50 width get 100 - height get 110 - page-rectangle
+
+    page-stroke
+
+    ! Print the title of the page (with positioning center)
+    "Helvetica" f get-font font set
+
+    font get 24 set-page-font-and-size
+
+    "Font Demo" page-text-width twidth set
+
+    [
+        width get twidth get - 2 / height get 50 - "Font Demo" page-text-out
+
+    ] with-text
+
+    ! Print subtitle
+    [
+        font get 16 set-page-font-and-size
+
+        60 height get 80 - "<Standard Type1 font samples>" page-text-out
+
+    ] with-text
+
+    ! Print font list
+    [
+        60 height get 105 - page-move-text-pos
+
+        SYMBOL: fontname
+
+        font-list [
+
+            fontname set
+
+            fontname get f get-font font set
+
+            ! print a label of text
+            font get 9 set-page-font-and-size
+
+            fontname get page-show-text
+
+            0 -18 page-move-text-pos
+
+            ! print a sample text
+            font get 20 set-page-font-and-size
+
+            "abcdefgABCDEFG12345!#$%&+-@?" page-show-text
+
+            0 -20 page-move-text-pos
+
+        ] each
+
+    ] with-text
+
+    "font_test.pdf" temp-file save-to-file
+
+] with-pdf