99 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Factor
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			99 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Factor
		
	
	
		
			Executable File
		
	
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
 |