Cairo test…

서체 관련된 샘플 페이지를 만들면서 손에 익숙한 gd를 활용해왔는데, gd의 fontconfig 지원이 미약하다보니 아쉬운 점들이 눈에 보이기 시작했습니다.

가장 큰 예로 굴림체, 바탕체, 나눔고딕_코딩 글꼴 같은 고정폭(정확하게는 dual-width) 서체의 영문/한글 너비가 동일하게 보여지는 문제는 fontconfig의 global advance옵션을 통해 해결할 수 있지만, gd에서는 fontconfig의 옵션을 제대로 활용하지 않고 있기 때문에 이 문제를 해결할 수가 없었습니다.

그런 이유로 fontconfig를 제대로 활용하는 그래픽 API를 찾던 도중 Cairo가 생각났습니다. Cairo는 fdo에서 개발한 그래픽 API로 현재 모질라, Gnome 등에서 활발하게 사용되고 있는데, 의외로 X 없이도 설치가 가능하고, API도 아주 단순해서 제가 활용하려던 용도로 딱이더군요.

위 코드 정도만으로도 서체를 렌더링하고, 그 결과를 png로 저장할 수 있습니다. (surface를 resize하는 기능이 없기 때문에 저대로보단, 약간의 꼼수를 부려야할 것 같습니다.)

freetype의 경우 초기화에만 저 정도 코드가 필요하다는 것을 생각하면 -_-a 아주 편리하다고 할 수 있겠습니다.

언제 짬을 내서 서체 샘플을 새롭게 빌드해야겠네요. 카이로 만세!!!

테스트 코드나 결과물은 아래서…

http://mytears.org/tmp/dir/?path=./cairo&N

Published by

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">