いがらしです。

At Sat, 11 Dec 1999 17:18:03 +0900,
in [ruby-list:19421] Re: Font rotation,
Kazuhiro Yoshida <moriq.kazuhiro / nifty.ne.jp> wrote:
> 
> Ruby/Xlib では
> 1.pixmap に描画して get_image して
> 2.回転
>     rotx = cos(rad)*x+sin(rad)*y
>     roty = sin(rad)*x-cos(rad)*y
>   ..たぶんこんな感じ。
> 3.put_image
> 4.copy_area
> というようなどろくさいことになるかもですね。

Ruby/GDKになりますが、僕がやっている縦書きビューアでもGdk::Image上で
    def font_rotate(src, dest, ox, oy)
      for x in 0..(@size-1)
	for y in 0..(@size-1)
	  pixel = src.get_pixel(ox + x, oy + y)
	  dest.put_pixel(ox + (@size-y), oy + x, pixel)
	end
      end
    end
なんてやって "「" とか "。" の縦書き用フォントを生成してます
(さらに平行移動処理も必要ですが)。

> で,やってみたら 90 度回転はまだしも,30, 60 度回転は
> 文字が崩れて苦労の割には汚い。^^;

ですよね。
anti-alias処理をすればきれいに描画できると思うのですが、
FreeTypeを直に使うとできたりするのでしょうか?
もしできるならTrueType fontしか扱えないにしても
Ruby/FreeTypeは欲しいです。

--
五十嵐  宏  (Hiroshi IGARASHI)