서체 관련된 샘플 페이지를 만들면서 손에 익숙한 gd를 활용해왔는데, gd의 fontconfig 지원이 미약하다보니 아쉬운 점들이 눈에 보이기 시작했습니다.
가장 큰 예로 굴림체, 바탕체, 나눔고딕_코딩 글꼴 같은 고정폭(정확하게는 dual-width) 서체의 영문/한글 너비가 동일하게 보여지는 문제는 fontconfig의 global advance옵션을 통해 해결할 수 있지만, gd에서는 fontconfig의 옵션을 제대로 활용하지 않고 있기 때문에 이 문제를 해결할 수가 없었습니다.
그런 이유로 fontconfig를 제대로 활용하는 그래픽 API를 찾던 도중 Cairo가 생각났습니다. Cairo는 fdo에서 개발한 그래픽 API로 현재 모질라, Gnome 등에서 활발하게 사용되고 있는데, 의외로 X 없이도 설치가 가능하고, API도 아주 단순해서 제가 활용하려던 용도로 딱이더군요.
This entry was posted by 정태영 on Saturday, January 24th, 2009 at 2:13 AM and is taged under api, cairo, Computer, font, fontconfig, freetype, gd, graphic, OpenSource.
얼마전 네이버에서 고정폭 서체인 ‘나눔고딕_코딩’ 서체를 OFL(Open Font License)로 공개하였고, gd를 이용해서 뽑은 12pt 샘플은 다음과 같습니다.
gd의 문제로 인하여 영문과 한글의 폭이 동일하게 출력되었는데, 맥이나 윈도우, 리눅스(약간의 설정 필요) 등에서는 영문과 한글의 폭이 2:1 이다보니 서체 이름에서와 동일하게 코딩용으로 사용하기에 딱이겠네요.
* http://dev.naver.com/projects/nanumfont
덧: 서체 이름에 사용된 언더바(‘_’) 때문에 맥에서 약간의 문제가 있었는데, 서체가 업데이트 되면서 이름이 ‘나눔고딕코딩’으로 바뀌었고, 맥에서도 문제 없이 사용할 수 있게 되었습니다.
내 눈엔 순천향체가 젤 이뻐보인다. 참고로 프리뷰에서 ‘아햏햏, 똠방각하’가 제대로 보이질 않는다면 한글 2350자만을 지원하는 서체임.
| 패키지 | 서체이름 | 스타일 | 구분 | 프리뷰 |
|---|---|---|---|---|
| 나눔글꼴 | 나눔고딕 | Regular | 한글 11,172자 | ![]() |
| Bold | 한글 11,172자 | ![]() |
||
| 나눔명조 | Regular | 한글 11,172자 | ![]() |
|
| Bold | 한글 11,172자 | ![]() |
||
| 나눔고딕코딩 | 나눔고딕코딩 | Regular | 한글 11,172자 | ![]() |
| Bold | 한글 11,172자 | ![]() |
||
| 다음체 | 다음 | Regular | 한글 2,350자 | ![]() |
| SemiBold | 한글 2,350자 | ![]() |
||
| 렉시굴림 | 렉시굴림 | Regular | 한글 2,350자 | ![]() |
| 서울 서체 | 서울 남산체 | Light | 한글 11,172자 | ![]() |
| Regular | 한글 11,172자 | ![]() |
||
| Bold | 한글 11,172자 | ![]() |
||
| ExtraBold | 한글 11,172자 | ![]() |
||
| 서울 한강체 | Light | 한글 11,172자 | ![]() |
|
| Regular | 한글 11,172자 | ![]() |
||
| 순천향체 | 순천향체 | Regular | 한글 2,350자 | ![]() |
| 아리따체 | 아리따 | Light | 한글 11,172자 | ![]() |
| Regular | 한글 11,172자 | ![]() |
||
| SemiBold | 한글 11,172자 | ![]() |
||
| Bold | 한글 11,172자 | ![]() |
||
| 은글꼴 | 은돋움 | Regular | 한글 11,172자 | ![]() |
| Bold | 한글 11,172자 | ![]() |
||
| 은그래픽 | Regular | 한글 11,172자 | ![]() |
|
| Bold | 한글 11,172자 | ![]() |
||
| 은궁서 | Regular | 한글 11,172자 | ![]() |
|
| 은바탕 | Regular | 한글 11,172자 | ![]() |
|
| Bold | 한글 11,172자 | ![]() |
||
| 은필기 | Regular | 한글 11,172자 | ![]() |
|
| Bold | 한글 11,172자 | ![]() |
||
| 한겨레결체 | 한겨레결체 | Regular | 한글 11,172자 | ![]() |
| ttf-alee | 은진 | Regular | 한글 11,172자 | ![]() |
| 은진낙서 | Regular | 한글 11,172자 | ![]() |
|
| 구슬 | Regular | 한글 전용 | ![]() |
|
| 반달 | Regular | 한글 11,172자 | ![]() |
|
| 방울 | Regular | 한글 11,172자 | ![]() |
|
| 네이버 사전체 | 네이버 사전체 | Regular | 한글 11,172자 | ![]() |
| 연체체 | 연세 제목체 | Regular | 한글 2,350자 | ![]() |
| 연세 소제목체 | Regular | 한글 2,350자 | ![]() |
|
| 연세 로고체 | Regular | 영문, 숫자 | ![]() |
|
| 조선일보 명조체 | 조선일보 명조체 | Regular | 한글 11,172자 | ![]() |
| 문화부 글꼴 | Regular | 한글 2,350자 | ||
| 백묵 글꼴 | Regular | 한글 11,172자 |
위 결과는 cairo+freetype을 이용해서 렌더링한 결과입니다. 사용된 소스는 아래 URL에서 확인하실 수 있습니다.








































