본문 바로가기

폰트 기술

폰트 기술자는 무슨 일을 하고, 왜 필요할까?

반응형

 

많은 사람들은 폰트 디자인 및 폰트 디자이너에 대해서는 익히 알고 있습니다. 반면, 폰트 엔지니어, 즉, 폰트 기술자에 대해서는 거의 알지 못하고 있습니다. 여기에서는 폰트 엔지니어링의 범주에는 어떤 것들이 있는지, 어떤 일들이 포함되어 있는지 얘기해보고자 합니다.

1. 폰트 기술자는 무슨 일을 하는가?

1) 폰트  제작 기술 및 설치 지원

초창기 폰트 기술자들은 디자이너들이 '그린' 글자 아웃라인을 이용해 폰트를 제작하는 일들을 주로 하였습니다. 그중에 일부 기술자들은 프로그래밍 기술까지 겸비하고 있어, 각종 폰트 제작 프로그램들을 제작 및 커스터마이징 하는 경우도 자주 있었습니다. 폰트 생산 체계에 있어서, 디자이너가 이러한 일까지 같이 하기에는 많은 어려움이 있었고, 효율적으로 볼 때 큰 메리트가 없었던 것입니다. 결국, 전문적으로 디자인을 하는 폰트 디자이너와 기술적인 부분들을 담당할 기술자 및 프로그래머로 분업화가 이루어지기 시작했습니다.

폰트 디자이너들은 글자를 그리고, 그렇게 그린 글자들의 품질을 더 업그레이드하는데 전문적인 기술을 쌓도록 집중한 반면, 기술자들은 디자이너가 작업한 원도들을 후처리 하고 다양한 환경에서 사용될 수 있도록 세팅까지 하는 작업을 많이 했었습니다. 2000년대 초까지는 한글 폰트를 제작하기 위해서는 94자 단위로 쪼개진 파일들을 하나로 합치는 방식을 사용해야 했습니다. 즉, 한글 폰트 1벌을 만들기 위해서는 라틴 94자, 심볼 986자, 한글 2350자, 한자 4888자를 각각 94자 단위로 나누어 제작하고, 각 파일들을 하나의 파일로 합치는 작업 과정을 거치는 매우 번거롭고 복잡한 일이었습니다. 이는, 당시의 폰트 제작 프로그램들이 대부분 라틴 위주로 초점이 맞추어져 있다 보니, 한글용으로 제작하기에는 어려움이 있었기 때문이었습니다. 한글전용 폰트 제작 프로그램 개발은 시간과 비용이 워낙 많이 드는 데다 사용자도 한정적이다 보니, 쉽게 개발하기 어려웠습니다. 결국, 울며 겨자 먹기로 '그리는' 기능은 기존의 라틴 상용 폰트 프로그램들을 활용하고, 최종 TTF, OTF를 위해서는 추가적인 기술 개발 및 프로그래밍 개발이 절대적으로 필요할 수밖에 없었습니다. 출판을 위해서는 전문적인 조판 프로그램 및 전문적인 출력기를 사용하는 경우가 많았습니다. 이를 위해서는 디자이너가 그린 폰트 원도를 출력기용으로 변환하는 작업을 추가로 하여야 했으며, 설치 또는 기술자들이 담당하였습니다.

시간이 많이 지나면서, 라틴용으로 개발되었던 폰트 에디터들이 다양한 언어권을 지원하게 되면서, 많은 프로세스가 변경되기 시작했습니다. 아울러 출력환경 또한 예전에 비해 많이 간편화 되면서, 이전과 같은 기술이 어느덧 사장되기 시작했고, 결국, 필요한 기술도 변하기 시작했습니다.

2) 디자이너 작업 지원

한 때는 한글을 제작하기 어려웠던 폰트 프로그램들이, 이제는 다양한 언어권의 폰트들을 제작할 수 있는 환경으로 개선되고 있습니다. 그리고, 다양한 포맷들을 활용하던 시절이 지나가고, 이제는 표준 포맷인 TTF, OTF를 사용하는 것이 거의 기본 환경이 되었습니다. 그러다 보니, 이제는 기술자의 역할이 많이 줄어들게 되었습니다. 그러나, 여전히 디자이너들이 하기 어려운 것들이 존재하는 것 또한 사실입니다.

디자이너들과 20년 넘게 같이 일하면서 느낀 것은, 디자이너는 상당히 '소극적'인 자세로 폰트를 제작하는 경우가 많다는 사실입니다. 실례로, 첫 회사였던 S사에서는 폰트 제작 및 기술에 대해 자동화를 시키고, 다양한 기술들을 개발하면서, 디자이너들에게 자주 했던 얘기가 있었습니다. "필요한 것 있으면 얘기해라, 지원할 수 있는 건 개발해서 지원해 주겠다"라는 얘기였습니다. 그러나, 실제 디자이너들과 업무를 하면서, 필요하다며 개발 요청을 한 사례는 그다지 많지 않았습니다. 프로그램에 있는 기능들만을 이용해 최대한 속도를 내는 방법을 혼자서 끙끙대면서 찾으려 노력할 뿐이었습니다. 정작, 폰트를 후처리 하는 과정에서 필요해 개발한 기능들이 디자이너들에게 유용하게 사용되는 사례도 많았고, 여기저기에서 다양하게 판매하기도 했습니다.

폰트를 제작하기 위해서는 다양한 반복 작업이 절대적으로 필요할 수밖에 없습니다. 이런, 디자이너의 단순 반복 작업은 기술자(또는 프로그래머)와의 협업을 통해 단순화가 충분히 가능합니다. 반복적인 작업으로 몇 시간 걸리는 작업을 몇 분 만에 마칠 수도 있는 것이 실제 가능하다는 것입니다.

3) 폰트 생성 지원

한참 비트맵 폰트가 많이 사용되던 당시에는 비트맵 폰트를 TTF에 임베딩하거나, 비트맵 파일 자체의 용량을 줄이거나 특정 포맷으로 변환하는 등의 작업등이 상당히 자주 있었습니다. 그러나, 현재는 대부분의 경우에, TTF, OTF를 표준으로 사용하고 있습니다. 그리고, 대부분의 폰트 편집 프로그램에서는 해당 포맷들을 잘 지원합니다. 그럼에도 불구하고, 그렇게 지원되는 기능을 통해 제작된 폰트들이 제대로 작동한다 장담하기는 어렵습니다. 활용도가 떨어지는 몇몇 폰트들에서는 문제가 되지 않을 수는 있으나, 다양한 환경에서 사용되는 제대로 된 폰트를 위해서라면 제대로 된 값을 갖는 속성들을 입력해 주는 작업이 매우 중요합니다.

매달 100개 정도의 폰트를 만지는 작업을 하고 있는데, 경험상, 90% 이상의 폰트들이 제대로 된 형태의 값들을 갖지 못하고 엉터리 값들로 채워져 오는 것을 봅니다. 결국, 상당수 폰트들은 매번 수정을 거쳐 패키징 되는 경우가 많습니다. 특히, OTF를 제대로 만들 수 있는 경우는 거의 없었습니다. 한글 OTF의 경우, CID 기반으로 되어 있다 보니, 일반 TTF 형태로 폰트를 제작하는 것과는 또 다른 방식이 필요합니다. 일반적인 TTF를 제작하듯이 OTF를 제작하면 여러 가지 문제들이 발생할 수 있어, 현재는 한글 OTF를 위한 전문적인 방법이 따로 있습니다. 이런 이유로, 디자이너들이 제작한 원도를 통해 TTF, OTF, webfont 등의 다양한 포맷을 제작해서 전달하기도 합니다.

 

2. 폰트 기술자는 꼭 필요할까?

1) 디자이너가 경험하지 못한, 다양한 폰트 사용 환경

폰트는 우리가 생각하는 것보다 훨씬 더 다양한 환경에서 사용됩니다. 일반인은 잘 모르는, 수천만원의 전문적인 프로그램들에서 사용되는 경우도 많이 있습니다. 문제는, 폰트를 사용하는 방법이 모두 동일하지 않다 보니, 많은 시행착오가 필요하다는 사실입니다. 폰트 정보에는 수많은 값들이 포함되어 있습니다. 그런데, 폰트 스펙을 공부하다 보면, 모든 정보가 100% 정확히 떨어지는 값을 갖는 경우가 의외로 별로 없습니다. 예로, 'A라는 값은 A라는 용도로 사용된다'라고 정확히 명시되어 있는 값들도 있으나, 그렇지 못한 경우도 수없이 많이 있습니다. 아울러, 프로그램마다 사용하는 값들이 서로 다르기도 하고, 동일한 값을 적용하는 방식이 서로 다르기도 합니다.  폰트 기술자들은 경험이 쌓이다 보면, 특정 프로그램에서 어떤 값을 어떻게 사용하는지 쉽게 파악할 수 있습니다. 결국, 폰트에서 어떤 값을 수정하면 해당 프로그램에서 정상적인 작동을 할 수 있는지 파악하기 쉽습니다. 그렇다 보니, 20년 넘게 폰트를 디자인한 디자이너들의 경우에도 전혀 경험해보지 못한 사례가 많아, 심심치 않게 help를 외치는 경우가 많이 있습니다.

2) 원인을 찾기 어려운 현상의 해결

빠릿빠릿하고 열심이 있는 폰트 디자이너들은 다양한 시도를 하게 되나, 폰트 제작 프로그램들에서 전혀 예상치 못한 결과를 야기하는 경우도 많습니다. 실제, 디자이너가 제작한 폰트를 수령해서 제품화를 시키는 과정에서 원인을 파악하기 힘든 현상들이 나오는 경우가 종종 있습니다. 분명 폰트를 디자인하는 과정에서는 문제가 없는데, 폰트를 디자이너가 생성하고 났더니 문제가 발생하는 이상한 경우가 자주 있습니다. 문제는, 이미 최종 제품화까지 시간은 터무니없이 부족한 상황에서야 그러한 사실을 깨닫게 된다는 것입니다. 결국, 기술자들의 지원이 필요할 수밖에 없게 됩니다.

대부분의 폰트 기술자들은 소위 말하는 폰트 스펙을 영어로 최소 한 번씩 뒤져보고, 리버스 엔지니어링 형태로 폰트 데이터를 분석해 본 경험이 있습니다. 실제 폰트가 저장되는 형태의 바이너리 데이터들을 추출해서 스펙과 비교하면서 어떤 식으로 저장되는지 분석해 본 것입니다. 그러니, 디자이너가 제작한 폰트의 문제가 되는 부분을 금방 파악해 해결해낼 수 있는 것입니다.

3) 새로운 기술에 대한 교육 및 지원

새로운 기술은 늘 디자이너들에게는 어려운 과정입니다. 일종의 기초적인 코딩 형태로 명령어를 넣어야 하는 경우도 다반수인데다, 기술 자체를 이해시키는 과정이 필수적인 경우가 많이 있습니다. 실례로, 맑은고딕을 제작할 당시에, 한글 폰트에 적용한 힌팅이라는 기술은, 당시 디자이너들이 이해하기에는 매우 어려운 기술이었습니다. 기술자였던 본인은 힌팅 기술에 대해 논문부터 찾아보고, 이를 토대로 폰트 스펙과 비교하면서 기술을 이해했습니다. 관련 문서들을 한글로 번역해 디자이너에게 전달하고, 수차례의 교육을 통해 다양한 결과를 보여주면서 교육하였습니다. 그런 과정을 통해 성공적으로 프로젝트를 마칠 수 있었습니다.

오픈타입 피쳐라는 기술에 대해서도 간단한 것들은 디자이너들에게 다양한 샘플을 토대로 교육하는 과정을 통해, 디자이너들이 직접 기술을 이해 및 적용할 수 있도록 합니다. 특히, 다국어를 제작 및 복잡한 타이포그래피적인 효과를 위한 오픈타입 피쳐 정보를 추가해야 하는 환경에서는 디자이너들이 처리하기 어려운 과정이 많은 바, 기술 지원이 필수인 경우도 많이 있습니다.

 

3. 결론

일반적인 폰트 사용환경에서는 큰 문제가 없으나, 특수한 환경이라면 문제가 발생하는 경우도 많습니다. 결국, 기술자들의 손을 거치는 수밖에 없게 되는 것입니다. 특히, 회사에 속해서 폰트를 제작하는 디자이너라면 소속 기술자들이 모든 문제를 해결해 줄 것이나, 회사라는 테두리를 벗어난 폰트 디자이너들에게는 참으로 버거운 작업일 수밖에 없습니다. 결국, 큰 프로젝트를 진행할만한 능력을 갖추기 위해서는 폰트 기술자와의 협업이 절대적일 수밖에 없는 것입니다.