#!/usr/bin/newlisp

; text.lsp - L.M. July 2006

(load "postscript.lsp")

;; FONTS

(set 'fonts '(
	"Helvetica"
	"Helvetica-Oblique"
	"Helvetica-Bold"
	"Times-Roman"
	"Times-Italic"
	"Times-Bold"
	"Courier"
	"Courier-Bold"
))


; Background
(ps:goto 0 0)
(ps:fill-color 1 1 0.83)
(ps:shape '((0 792) (90 612) (90 792) (90 612)) true)


(ps:turn 90)
(ps:goto 100 690)
(ps:line-color 0.3 0.3 0.3)

(dolist (fnt fonts)
	(ps:goto 100 (sub 690 (mul $idx 30)))
	(ps:font fnt 20)
	(ps:text fnt)
	(ps:text " ")
	(ps:font fnt 24)
	(ps:textoutline fnt))

; CLIPPING WITH TEXT

(ps:goto -60 260)
(ps:angle 80)
(ps:font "Helvetica-Bold" 280)

(ps:gsave)
(ps:textclip "newLISP")
(ps:font "Helvetica-Bold" 6)
(ps:angle 110)
(ps:line-color 0.5 0.2 0.2)
(for (row 0 792 7)
	(ps:goto 0 row)
	(dotimes (i 30) (ps:text "newLISP")))
(ps:grestore)

; CIRCLULAR TEXT OUTSIDE

(ps:line-width 6)
(ps:goto 160 192)
(ps:line-color 0.7 0.7 0.7)
(ps:fill-color 1 1 1)
(ps:circle 87 true)
(ps:line-color 0.8 0.8 0.8)
(ps:circle 50)
(ps:fill-color 0.9 0 0)
(ps:circle 10 true)

(ps:font "Helvetica" 24)
(ps:line-color 0.2 0.2 0.6)
(ps:goto 100 200)
(ps:angle 0)
(set 'txt "newLISP puts the fun back in LISP")
(ps:textarc txt 60)

;(dotimes (i (length txt))
;	(ps:textarc 60 (txt i)))

; CIRCULARE TEXT INSIDE
; for inside text specifiy a negative radius
(ps:font "Helvetica" 68)
(ps:line-color "699ACC")
(ps:fill-color "f7A621")
(ps:line-width 2)
(ps:goto 300 152) 
(ps:angle 108)
(set 'txt "newLISP")
(ps:textarcoutline txt -500 true)

(ps:line-color 0.5 0.5 0.5)
(ps:goto 425 10)
(ps:angle 90)
(ps:font "Helvetica" 10)
(ps:text "made with newLISP and postscript.lsp")

(ps:render)

(exit)


syntax highlighting with newLISP and syntax.cgi