Common Lispで書き初め
2010/01/01
2010/12/13
今年は、Common Lispとか、Luaとかやりたいことを進められるようにしたいです。
ということで、Common Lispで書き初めしました。
ubuntuで、apt-get install cl-gd でcl-gdをインストールし、http://weitz.de/cl-gd/ を参考に書いてみました。
フォントは、http://musashi.or.tv/aoyagireisho.htm を使わせてもらいました。
(asdf:oos 'asdf:load-op :cl-gd) (defpackage kakizome (:use common-lisp cl-gd)) (in-package :kakizome) (defparameter *signature-font-name* "/usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf") (defparameter *font-name* "/home/smeghead/work/lisp/kakizome/aoyagireisyosimo.ttf") (defun hansi-size (str) (* 80 (length str))) (defun kakizome (str signature output-file) (with-image* (100 (hansi-size str)) (allocate-color 255 255 255) ;本文 (loop for c across str for h from 70 by 80 do (draw-freetype-string 10 h (string c) :font-name *font-name* :point-size 60 :color (allocate-color 0 0 0))) ;サイン (loop for c across (reverse signature) for h from (- (hansi-size str) (length signature)) by -8 do (draw-freetype-string 5 h (string c) :font-name *signature-font-name* :point-size 8 :color (allocate-color 0 0 0))) (write-image-to-file output-file :compression-level 6 :if-exists :supersede))) (kakizome "謹賀新年" "smeghead" "kingasinnen.png") (kakizome "創造する心" "smeghead" "souzousurukokoro.png") (kakizome "心機一転" "smeghead" "sinkiitten.png") (kakizome "日進月歩" "smeghead" "nissinngeppo.png") (kakizome "早寝早起" "smeghead" "hayanehayaoki.png") |
一応Common Lisp関連記事なので、LISP365(http://atnd.org/events/2526)に参加してみました。こんなネタですが。。。
1件のピンバック
2010年のまとめ « 週記くらい