ImageMagick는 방대한 옵션을 가진 사용하기 까다로운 도구이다.
그 중에서도 한글 표현을 위해서는 좀 더 까다로운 과정을 거쳐야 한다.
1. 일단 ImageMagick을 설치하자.
http://www.imagemagick.org/script/binary-releases.php#windows
내려 받아서 서버에 설치하면 된다.
물론 ASP니까 VBScript!용 OLE 어쩌구를 선택하고 설치한다.
2. 한글을 표현하려면 두 가지에 주의해야 한다.
-font와 -encoding (-encoding은 중요하지 않다. 변경)
예제)
%@Language="VBScript!" CODEPAGE="65001"%
<%option explicit%>
<%
response.charset="utf-8"
session.codepage="65001"
response.codepage="65001"
Response.ContentType="text/html;charset=UTF-8"
Dim objImg
Set objImg = Server.CreateObject("ImageMagickObject.MagickImage.1")
objImg.Convert "-background=lightblue","-fill=blue","-font=Gulim-&-GulimChe-&-Dotum-&-DotumChe","-encoding=Unicode","-pointsize=36","-size=320x","caption:한글 Test입니다.",server.mappath("test.jpg")
Set objImg = Nothing
%>
<img src=test.jpg>
흔히 gulim.ttf 정도를 쓰면 폰트 파일이 지정이 되는데 2008부터는 폰트 파일 이름이 달라서 고생 좀 했다.
서버 시스템의 폰트 이름을 확인하려면 아래 명령어를 실행하면 된다.
설치할 때 Path를 잡아 주지 않았다면 설치된 폴더에서 실행하자.
convert -list font | more
처음에는 자체 포스트스크립트 폰트(한글 미지원)가 나오고, 이후 시스템에 설치되어 있는 폰트들이 나온다.
-family로 지정해서 사용하는 방법은 실패했다.
-font 방법이 성공해서 더 이상 실험해 보지 않는다.
-encoding이 unicode일 때 이미지 생성할 때 1분 12초가 걸렸고, wansung일 때 1분 8초가 걸렸다.
이 정도는 유의미한 차이가 없다고 볼 수 있고, 둘 다 느리기는 마찬가지다.
참고로, 예제의 짧은 문장이 아니라 200자가 넘는 상당히 긴 문장으로 실험을 했다.
Malgun-Gothic으로 -font를 변경하니 1초만에 결과물이 나온다.
예제의 Gulim-&-GulimChe-&-Dotum-&-DotumChe를 Malgun-Gothic으로 바꿔서 사용하시길.
2008에서 실험한 결과임을 상기하고 2003 이하에서는 각자 실험해서 사용하시길.