Common Lispで書き初め

今年は、Common Lispとか、Luaとかやりたいことを進められるようにしたいです。

ということで、Common Lispで書き初めしました。

f:id:smeghead:20100101212823p:image     f:id:smeghead:20100101212824p:image     f:id:smeghead:20100101212825p:image     f:id:smeghead:20100101212826p:image     f:id:smeghead:20100101212822p:image

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 80do (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 -8do (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件のピンバック

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください