gantt.zip

레드마인을 Bitnami 버전으로 설치해서 사용 중이다. Windows 기반의 서버에 설치해서 잘 사용 중인데, 애석하게도 Gantt 차트를 열어서 PNG로 내보내기를 하려는데, 한글이 깨져 나온다.

일단 Gantt 차트를 꺼내 보면 한글은 큰 이상 없이 나온다. ( Bitnami 버전의 레드마인 중, 1.1.2-1 버전 이상을 설치하면 무조건 UTF-8 형태로 지원된다. 지금(2012년 10월 23일 기준) 최신 버전은 2.1.2-0 이다. )


내보내기하는데, PDF의 경우에는 문제가 안되지만, PNG일 때 한글이 깨져 나오는 문제가 있다.
가끔 문서에 첨부해야 해서 PNG로 뽑아야 할 때 난감하다.

그래서 이런 저런 글들을 참고했는데, Redmine 사이트 내에서 해당 Issue가 나왔었고, 해당 Issue에 대해서 어떻게 대처하는지가 나왔다.
( http://www.redmine.org/issues/4787 )

레드마인 소스가 있는 위치를 먼저 알아야 한다. Bitnami로 설치했다면, 대개 Program Files 라든가, 기타 설치 시 결정한 경로에 설치가 되어 있는데, 그 위치를 %Bitnami% 라고 한다면...

%Bitnami%\apps\redmine\lib\redmine\helpers

라는 폴더 안에 gantt.rb 라는 파일이 있는데, 그 파일 안을 수정해야 한다.

해당 파일을 열고 아래의 소스가 있는 위치까지 이동한다.

imgl = Magick::ImageList.new
imgl.new_image(subject_width+g_width+1, height)
gc = Magick::Draw.new

# Subjects
gc.stroke('transparent')

그리고

gc = Magick::Draw.new
다음 줄에
gc.font = "C:\\Windows\\Fonts\\malgun.ttf" 
라는 코드를 넣는다.

결론 적으로 다음 코드같이 되어 있어야 한다.

imgl = Magick::ImageList.new
imgl.new_image(subject_width+g_width+1, height)
gc = Magick::Draw.new
gc.font = "C:\\Windows\\Fonts\\malgun.ttf"
		
# Subjects
gc.stroke('transparent')

즉 Draw 안에 Font 경로를 넣어 해당 TTF 폰트 파일을 읽어서 처리하도록 하는 것이다.(만일 맑은고딕이 아닌 굴림체인 경우 Gulim.ttf 라고 넣으면 된다.  )

자체적으로 컴파일 하기 때문에, gantt.rb 파일을 수정한 뒤, 다시 PNG로 내보내기를 해보면, 정상적으로 한글이 출력된 PNG를 받을 수 있다.
( 만일 내부 캐쉬가 있는 경우 새로운 PNG 파일을 안 만들고 기존에 만든 것을 자꾸 뿌려줘서 수정이 안된 것 처럼 느낄 수도 있지만, 웹 브라우저의 다시 읽기나, 완전 다시 읽기 - Ctrl + F5를 누르는 등- 의 재시도를 시도하면 정상적으로 출력되는 것을 확인할 수 있다. )

 일단 Gantt.rb 파일을 첨부하긴 했는데, 가급적 직접 소스를 손대는 것을 추천한다.
그 이유가 현재 필자가 가진 소스의 버전과 실제 적용할 소스의 버전이 틀려 오류가 발생할 수 있기 때문이다.
( 필자의 소스는 BitNami Redmine Stack 1.3.1-1 이다 )

신고
Posted by 하인도

이 글은 하인도님의 2009년 11월 18일에서 2009년 12월 10일까지의 미투데이 내용입니다.

신고
Posted by 하인도

Apple에서 Windows 웹브라우저 시장에 뛰어 들었다. 과거 MAC에서 주로 사용해왔던 이 Safari라는 브라우저를 들고 Windows 플랫폼에서도 동작하게 만들어줬다. Apple 운영체제가 애시당초 그래픽 처리 하는 루틴에 많은 개선을 했기 때문에, Safari가 원래 빠르다고 생각했다. 그런데 Windows로 넘어와서도 그 속도를 그대로 유지하는 것에 놀랬다.

개인적인 체감속도로는 IE < FireFox < Safari 같다. 물론 Active X 안되는 거랑, 일부 우리나라 사이트에서는 일그러지는 현상이 발생되긴 하지만, 최소한 웹 표준 지킨 사이트라면 매우 훌륭하게 뿌린다. 그래서 실제 외국 사이트에서 정보를 보기 위해 접속할 때는 가급적 이 Safari를 애용한다.

그런데, 이상하게 Safari로 화면이 그려질 때, 한글이 묘하게 깨져서 나온다. 영어로 된 사이트에서는 큰 차이없이 잘 보이는데, 한글로 된 사이트에 들어가면 묘하게 한글의 일부분이 안보여서 그리다 만 것 같이 나오기도 한다.

좀 보기 좋으라고 한 기능인 것 같은데, 애석하게도 한글에서는 영 잘못 나온다.
아래의 그림이 그 일례다.



이 문제의 원인은 LCD 화면에 보다 잘 보이라고 Clear-Type 기법을 써서 그런 것 같다.
해결 하는 방법은 아래와 같다.

  1. Edit -> Preferences 에 들어간다.

  2. 옵션 항목들 중 Appearance에 들어가 Font Smoothings 항목에서 Medium - best for Flat Pannel 을 Standard - best for CRT 로 변경한다.

저장 버튼은 없으니까, 변경 후 닫기만 하면 된다.

신고
Posted by 하인도


티스토리 툴바