RMagickで日本語を描画する(Mac)
RMagickはImageMagickをRubyから触るためのbindingです.すこし触ってみて,日本語の描画がなかなか盲点だったのでメモとして残しておきます.
RMagickのインストール
ImageMagickを先にインストールします.MacPortsを使えば,
% sudo port install imagemagick
とすればインストールできます.
RMagickはMacPorts,gemからでもインストールできます.
% sudo port install rmagick % sudo gem install rmagick
現時点ではMacPorts版は2.5.1,gem版では2.6.0が最新のようです.
とりあえず日本語を書く
require 'RMagick' include Magick def draw_text(draw, x, y, text, size=14, color='black', font="/Library/Fonts/ヒラギノ丸ゴ\ Pro\ W4.otf") draw.font = font draw.pointsize(size) draw.stroke(color) draw.text(x, y, text) end if __FILE__ == $0 canvas = ImageList.new canvas.new_image(250, 250) pen = Draw.new draw_text(pen, 10, 30, "日本語のテストだよ.\nちゃんと表示されるかな?") pen.draw(canvas) canvas.write("font_test.png") end
フォントの絶対パスを渡すとうまく描画してくれました.ttfフォントやotfフォントしかImageMagickでは認識しないのかよくわからないのですが,Osakaは使えませんでした.