SchemeでPostScriptするライブラリ Tiny-PS 作ったよ

テスト前になるとコードを書く速度があがりますねぇ。

そんなわけでSchemeでPostScriptするライブラリを超適当に書いたので一応公開。ad-hockな実装な上に、中途半端に作ってない部分とか、命名規則が一貫してないとかいろいろダサいですが。Gaucheのオブジェクトシステムになれるための習作ってことで。つまり、Gaucheじゃないと動かないです。

使いかた

(make-tiny-post-script)

インスタンスができます。これをdefineとかletで捕まえておきましょう。

(define *ps* (make-tiny-post-script))

PostScriptのmovetoには、movetoメソッドが対応します。

(moveto *ps* 100 100)

とかやります。前置記法だとわかりやすいね!*1
PostScriptのlinetoには、linetoメソッドが対応します。

(lineto *ps* 200 200)

描画結果はインスタンスに全て保存されてゆきます。それをPostScriptとして吐き出すには

(ps->string *ps*)

とすればPostScriptのファイル内容の文字列が戻り値になります。あとは標準出力するなりファイルに書くなりすればいいです。

ソース tiny-ps.scm

*1:ほんとかよ