[여행] 제부도

날짜는 10월 14일. 대학교 시절에 같은 학교울타리에 있다가, 몇년전에 나는 서울로, 하나는 대전으로.. 또 하나는 경기도 화성으로 각자의 길을 찾아 떠났던 친구들.. 지난 추석때 모두 함께 만나지 못하다가, 어쩐일로 모이게 되어 떠난 제부도 여행. 제부도 조개가 유명하다고 해서 갔다..








조개를 케는 사람들도 제법 있었고, 연인.. 가족들과 나들이 나오신 분들도 많았고.. 주말이라 많은 사람들로 붐볐다. 서로 자기집에서 조개구이를 먹으라고 문앞에서 호객행위를 하는 환하게 웃으며 우스꽝스러운 행동을 하던 아저씨들. 사람들이 그냥 지나가면 한마디 뱃는데.. ㅅㅂㄹㅁ라고.. 똑똑히 봤어요.. ㅡ_ㅡ ㅅㅂㄹㅁ!

조개는 실망. 니가 정녕 제부도 조개냐.. 그냥 저기 앞바다 조개냐.. 묻고 싶었다. 서울 신림에서 먹었던 조개구이보다 별로였다. 너도 중국산이냐? 조개구이 맛에 대한 아쉬움을 뒤로 하고 돌아오는 길의 순대국밥은 정말 맛있었다. 오던 길에 도로에서 산 포도도 맛있었고…

처음 출발때 약속 시간을 지키지 못하고 늦어, 친구들에게 너무 미안했었다.. 찍고 싶었던 갈매기는 못찍었지만, 집에서 몇년 묶은 디카를 꺼내들었고, 오랜만에 쏘인 바다바람과 날씨까지 좋았고.. 친구들과 오랜만에 모여 기분 좋은 여행이 되었다.

FreeType을 이용한 Font 처리

FreeType의 주된 용도는 Anti-Aliasing 처리가 된 세련된 폰트의 출력에 있습니다. FreeType은 Windows는 물론이고, Linux나 MacOS에서 특히 더 많이 사용되고 있는 오픈소스 라이브러리입니다. 3D에서 한글출력을 위해 FreeType을 사용하는데, 류광님의 주도하에 개발된 glan이라는 한글출력 라이브러리도 안티알리아싱 처리된 문자의 출력을 위해서 FreeType을 활용하고 있는 것으로 알고 있습니다. OpenGL에서 한글출력을 고민하고 계시다면 반드시 glan에 관심을 가져보시길 바랍니다.

저 역시 FreeType에 관심을 가지게 된 이유도 3D에서의 한글출력 문제 때문이였습니다. 하지만 기존의 한글출력 방식은 하나의 이미지에 한글을 그려 놓고, 출력하고자 하는 문자을 텍스쳐 맵핑 방식으로 출력하는 방법을 사용합니다. 장점은 속도가 무척 빠르기 때문에 게임에서 주로 사용됩니다. 하지만 단점은 큰 크기의 한글을 출력하고자 할때 텍스쳐 이미지가 그에 따라 확대되어 커지게 되므로 뭉개지는 결과가 발생하게 되고, 다양한 한글 폰트를 사용하기 위해서 그 다양한 한글 폰트의 종류만큼 한글 맵핑 이미지를 미리 생성해 놓아야 합니다.


그러나 어찌되었든지 게임이라는 장르에서는 한글을 크게 출력할 필요가 없고 다양한 폰트를 사용할 필요가 없기때문에 이러한 단점이 문제가 되지 않습니다. 그러나 게임이 아닌 경우에 다양한 한글 포트와 한글의 크기에 상관없이 미려한 한글 출력을 원할 경우에 다른 방법은 없을지 고민이였습니다.

쉽게 생각할 수 있는 것이 한글을 구성하는 좌표를 구해서 Mesh 형태로 뿌리는 것이였습니다. 물론 속도면에서의 희생이 따르는 방법이긴 합니다만, 경험상 화면상에 문제 출력은 사실 수십자 정도에 불과합니다. 즉, 많아봐야 수백자라는 이야기이지요. 하지만 여려운 점은 글자를 구성하는 좌표를 얻어오는 방법이였습니다. 방법은 2가지인데, 하나는 Windows API를 이용하는 방법과 앞서 언급한 FreeType을 이용하는 방법이 있습니다.

저는 FreeType을 사용하기로 결정하였는데, OpenGL과 같은 플렛폼 독립적인 라이브러리와 궁합이 정확히 맞아 떨어진다는 생각에서 였습니다. 제가 시험삼에 작성한 코드의 그 결과 화면은 위와 같습니다.

지정된 폰트의 글자에 대한 Anti-Aliasing 처리된 한글 표시와 그 글자의 구성 좌표를 표시하고 있습니다. 구성좌표는 박스로 나타내었는데, 빨강색 박스는 곡선처리를 위한 제어점(Control Point)입니다.

FreeType의 초기화, 안티알리아싱 처리된 글자의 출력, 글자의 구성 좌표를 얻는 방법에 대한 전체 코드가 담긴 첨부파일을 참고하시길 바랍니다. 2006년이라는 시대에 한글처리 문제로 고민해야 하는 웃지 못할 상황에 도움이 되길 바라는 마음에서 글을 올립니다.