윤곽선 글꼴은 화면용 프린터용을 구별하지 않고 한가지 데이터를 양쪽에서 모두 활용할 수 있다는 장점이 있다.
필자는 8년 전 애플사의 리자(LISA)라는 컴퓨터를 처음 접하고 마우스라는 신기한 장치로 작동하는 그림 사용자 환경에 감탄을 금치 못했던 적이 있다. 그중에서도 화면에 여러가지 글꼴이 다양한 크기로 표시되고 그대로 프린터에 출력되는 것이 특히 인상적이었다. 지금 생각해보면 표시된 글꼴은 모두 비트맵 글꼴이었고 출력 품질 또한 이를 확대 축소한 것이라 지금의 상품과 비교하면 형편없는 것이긴 했다. 하지만 여러가지 크기의 다양한 서체를 표현한다는 것은 당시로서는 가히 혁명적인 사건이었다.
컴퓨터는 특정인의 데이터 처리를 위한 기계에서 이제 일반인의 개인적인 도구가 됐다. 개인들이 수행하는 다양한 업무중 비중이 큰 부분은 역시 문서처리 분야로, 이 부분의 발전과 더불어 글꼴의 중요성은 더해지고 있다.
컴퓨터를 사용해 문서를 작성해본 사람이라면 "이 책과 같은 책을 직접 만들 수는 없을까"라는 생각을 해본 적이 있을 것이다. 얼마 전까지만 해도 글꼴 처리 기술의 미비, 하드웨어의 성능부족, 높은 글꼴 가격 등으로 이런 일은 전문 인쇄업자나 가능한 일이었다. 그러나 이제는 윤곽선 글꼴의 대중화 추세에 따라 고품위 문서를 작성하는 것이 가능해졌으며 자가 출판도 쉽게 할 수 있는 시대가 열렸다.
확대가능한 글꼴의 대표주자
컴퓨터가 사용자와의 대화보다 사용자가 명령한 계산과정에 대부분의 힘을 소비했던 시대에는 흑백 모니터에 고정된 크기(16×16)의 비트맵 한가지 글자만 표시할 수 있으면 족했다. 16×16의 비트맵 글꼴은 가로 세로 16의 격자 안에 보기좋게 해당 위치에 점을 표시하는 방식으로 글씨를 표현한 것이다. 이는 글자의 품질도 우수하고 처리방법도 간단한데다 속도가 빠르다는 장점을 가지고 있었다.
이 방식으로 본문 크기보다 2배 정도 큰 글씨를 표현하려 한다면 점 하나를 찍는 대신 2배의 큰 점, 즉 4개의 점을 찍어야 한다. 이는 점의 모양을 그대로 보이기 때문에 이른바 계단 현상이 일어나는 것을 피할 수 없었다. 물론 2배 크기의 비트맵 글꼴이 이왕에 만들어져 있다면 별다른 문제가 없다. 하지만 글꼴을 만드는데 걸리는 시간이 적지 않을 뿐만 아니라, 이것을 저장하는 메모리 용량도 그만큼 더 들기 때문에 대개는 한가지 비트맵 글꼴을 확대 축소 및 그밖의 효과를 내 사용해 왔다.
이같은 이야기는 한글의 경우고, 영문권에서는 사정이 달랐다. 영문은 한 서체에 필요한 글꼴의 갯수가 많아봐야 3백개를 넘지 않기 때문에 서체당 크기마다 일일이 비트맵 글꼴을 만들었다. 이에 비해 한글 서체는 글자 모양이 영어 글자보다 복잡하고 다른 글꼴과 서로 균형이 맞아야 하기 때문에 영문에 비해 개발에 수십 수백의 인력과 시간이 필요했다.
사람들은 한 번의 직접으로 서체를 만들면 임의의 크기에서 균일한 품질의 모양을 만들어내는 방법을 찾기 시작했다. 이렇게 만들어진 것을 확대 가능한 글꼴(scalable font)이라 한다. 여기에는 체인코드글꼴 벡터글꼴 메타폰트 등이 있으며 가장 대표적인 것이 윤곽선 글꼴이다. 비트맵 글꼴도 확대해서 표시할 수는 있지만 확대 가능한 글꼴이라고는 하지 않는다.
한때는 벡터폰트와 윤곽선글꼴을 동일시해서 부른 적도 있었고 벡터폰트를 윤곽선 글꼴의 한 표현 방법으로 설명하기도 했다. 그러나 벡터폰트는 글꼴의 윤곽을 직선으로만 표현한 글꼴이고 윤곽선 글꼴은 글꼴의 윤곽을 직선 이외에도 원 혹은 여러 종류의 고차곡선으로 표현한 글꼴이다.
윤곽선 글꼴은 확대 가능한 글꼴 중에서도 가장 좋은 품질과 임의의 크기의 비트맵 글꼴을 만들 수 있기 때문에 보편화됐다. 윤곽선 글꼴은 글자의 윤곽을 수학 표현으로 가지고 있다가 필요한 크기에 따라 그 크기에 가장 알맞는 비트맵 글꼴을 만들어낸다. 즉 윤곽선 글꼴이란 글꼴을 표현 혹은 저장하는 방법에 따른 호칭이고 이것으로 만들어내는 최종 출력물은 임의 크기의 비트맵 글꼴인 것이다.
한편 윤곽선 글꼴로부터 비트맵 글꼴을 만들어내는 프로그램을 래스터라이저(rasterizer)라고 한다. 래스터라이저는 윤곽선 글꼴 데이터로부터 가능한 한 원도(原圖) 모양과 가까운 비트맵 글꼴을 빠른 속도로 만들어야 한다. 래스터라이저가 비트맵 글꼴을 만드는 과정은 다음과 같다.
먼저 사용자가 필요한 글자와 크기를 요청하면 래스터라이저는 그 글자의 윤곽선 글꼴 데이터의 각 좌표들을 이에 맞게 변형한다. 이 과정은 수학적인 계산으로 이루어지기 때문에 회전 경사 등 좌표변환이 가능하다. 이런 효과를 줄 수 있는 것이 윤곽선 글꼴의 장점이기도 하다. 다음에는 변형된 점들로 이루어진 직선과 곡선 조각들을 그려나간다. 이 과정이 끝나면 윤곽의 점들만이 찍혀 있고 내부는 빈 비트맵이 만들어진다. 마지막 단계는 윤곽의 빈 내부를 메꿈으로써 원하는 크기의 비트맵 글꼴이 만들어지는 것이다.
이같은 과정은 계산에 시간이 많이 걸려 그 동안 실용화되지 못했다가 하드웨어가 고속화됨에 따라 그 빛을 보았다. 그러나 여전히 처음부터 비트맵 글꼴로 처리하는 것보다는 시간이 수십배 더 걸리기 때문에 래스터라이저 및 관련 프로그램을 최적화시켜 속도를 향상시키려는 연구는 계속되고 있다.
레스터라이저의 힌트기법은 기업비밀
많은 사람들은 윤곽선 글꼴이 비트맵 글꼴보다 항상 글자 품질이 좋다는 생각을 가지고 있는 듯하다. 물론 윤곽선 글꼴은 글자가 커져도 수학적으로 정확히 윤곽을 그려 내부를 메우기 때문에 비트맵과 같은 거친 글자가 나타나지는 않는다. 하지만 만일 256×256 크기의 비트맵 글꼴을 사람이 직접 만들었다면 그 품질은 윤곽선 글꼴이 따라가지 못한다. 특히 작은 크기의 글자는 좌표 축소 계산시 오차가 발생하기 때문에 윤곽선 글꼴은 비트맵에 비해 품질이 뒤진다.
수학적으로 계산된 비트맵 글꼴은 글꼴 설계자가 세심히 점을 찍어 만든 비트맵 글꼴보다 좋을 수 없으며 최대한 이에 근접할 수 있는 품질이 나오도록 래스터라이저를 개선하고 있다. 이러한 문제점은 힌트(hint)라는 기법을 통해 해결하고 있는데, 바로 얼마나 좋은 힌트방법을 사용하고 있는가'에 따라 래스터라이저의 성능도 결정된다. 일반적으로 48×48 이하의 비트맵 글꼴을 만들 때는 힌트 기법이 필요하다.
윤곽선 글꼴 형식은 표준적인 것만 하더라도 여러가지가 있으며 각각의 형식에는 적합한 래스터라이저가 있다. 또한 각 래스터라이저마다 독자적인 힌트방법이 있는데 이는 해당 기업의 기밀사항이다.
컴퓨터에서 사용되는 전통적 윤곽선글꼴의 모체는 서체 전문가들이 붓 등으로 종이에 그린 원도다. 명조나 고딕 등 한 계열의 서체를 일관성있게 제작하려면 이러한 전문가들의 오랜 시간에 걸친 교정이 필요하다. 일차적으로 모든 글꼴의 품질은 원도의 영향을 크게 받으며 당연히 좋은 원도가 좋은 글꼴을 만드는 것이다.
윤곽선글꼴 제작 과정을 살펴보자. 먼저 원도를 스캐너로 읽어 비트맵 형태로 저장한 다음, 이를 기초로 윤곽선 데이터를 만든다. 윤곽선 데이터는 서체 편집자가 수동으로 편집하지만 사전에 미리 컴퓨터가 자동으로 윤곽을 추출해 서체 편집자는 그 결과를 교정만 하는 방법도 있다. 도형에 대한 자동 윤곽 추출 기술은 지금도 많이 연구되고 있는 분야이지만 교정을 필요로 하지 않을 만큼 완벽한 단계에 이르지는 못한 것이 현실이다.
글꼴 제작은 대부분의 경우 윤곽선 데이터를 작성하는 것에서 끝나지만, 전문적인 윤곽선 글꼴은 힌트 정보가 필수적이어서 이를 위한 작업이 이어진다. 힌트 작업은 윤곽선 편집 때 같이 할 수도 있으나 보통 윤곽선 편집 후 자동 힌트 과정을 거친 다음 다시 서체 디자이너들이 교정을 보는 방식을 취한다. 그리고 윤곽선 데이터와 힌트 데이터를 필요한 글꼴 형식으로 변환하면 윤곽선 글꼴이 만들어진다. 한 서체를 1만자 기준으로 보면 이러한 작업은 한사람이 수동으로 했을 때 약1년 반에서 2년이란 시간이 소요된다. 그래서 요즘 서체 설계자들은 새로운 서체를 개발할 때 붓으로 종이에 그리는 과정을 생략하고 직접 글꼴 편집기를 구사해 윤곽선 작업을 하고 있다.
주목받는 글꼴 표준화 작업 통합폰트
윤곽선 글꼴은 화면용 프리터용을 구별하지 않고 한가지 데이터로 양쪽에서 모두 활용할 수 있다는 장점이 있다. 또 프린터의 해상도가 달라져도 문제가 없다. 따라서 한 서체 당 한 윤곽선 글꼴만 만들면 되므로 개발자들에게 보다 다양한 서체를 제작하는데 노력을 기울일 수 있도록 한다.
하지만 윤곽선 글꼴의 이같은 장점 뒤에는 아직도 해결해야 할 문제도 남아 있다. 더구나 한글이나 한자의 경우에는 아직도 품질 개선의 여지가 남아 있다. 영문권에서 윤곽선 글꼴이 성공한 이유는 품질이 비트맵 글꼴의 수준에 근접했기 때문으로 보면 된다.
한글과 한자는 한 글자의 복잡함이 영어에 비해 수배에 이르기 때문에 한 글자의 처리 시간도 그만큼 더 걸린다. 물론 컴퓨터의 계산능력이 향상됐다고는 하지만 아직까지 만족할 만한 성능은 아니다. 이를 해결하기 위해 국내의 KAIST를 비롯, 일본 대만에서는 한글 한자를 위한 윤곽선글꼴 전용 가속 칩들이 연구 개발되고 있다.
저장용량도 만만치 않은 문제다. 영어 한 서체의 크기는 많아야 몇십KB 정도이지만 한글과 한자는 한 서체당 1-2MB가 필요하다. 한글 특성을 살려 초성 중성 종성의 기본 글꼴을 몇벌 준비했다가 필요한 글자를 조합해서 만드는 방법이 필요한데, 이 방법의 이점은 한글로 표시 가능한 모든 글자를 조합해서 표현할 수 있다는 데 있다.
요즘 새로 제작되는 탈 네모꼴과 같은 한글 글꼴들은 제작자가 미리 조합 규칙을 만들어 제작하면 되지만 기존에 만들어졌던 수많은 이외의 글꼴들은 자동적으로 분해 합성하는 방법이 필요하다. 한자의 경우도 획이나 부수 단위로 저장해야 하기 때문에 경우는 마찬가지다.
글꼴 형식의 표준화도 시급하다. 각 업체마다 각자 독자적인 형식으로 글꼴을 보유하고 있기 때문에 사용자들은 그만큼 중복해서 글꼴을 구매하고 있다. 또한 한 서체를 십수개의 서체 개발회사가 중복 투자해서 개발하기 때문에 국가적으로도 큰 낭비다. 최근 문화체육부가 바탕체, 돋움체 등을 국가 차원에서 무료로 보급하는 것은 의미있는 일이다.
영문권에서는 한차례의 폰트전쟁을 통해 TYPE 1과 TRUETYPE의 두가지 형식이 정착됐고, 응용 프로그램 개발자들도 글꼴은 시스템에서 표준으로 제공하는 것을 가정하고 개발하고 있다.
한글 윈도우 3.1의 보급으로 윤곽선 글꼴은 앞으로 더 많은 사용자를 갖게 될 것이고 그 형식은 TRUETYPE과 독자적인 형식으로 양분될 전망이다. 한글 2.1에서는 보다 많은 회사들의 추가 글꼴 상품을 준비하고 있다. 서체 제작업체들이 늘어남에 따라 서체 당 1만원의 시대는 어쩌면 예상보다 더 빨리 올지도 모른다. 그렇지만 여전히 소비자는 서체를 중복 구매해서 모두 하드디스크에 설치해야 하는 부담이 남아 있다.
이 문제를 해결하려는 움직임으로 요즘 통합폰트라는 표준화작업이 주목을 받고 있다. 이는 한글과 컴퓨터, 한 컴퓨터, 휴먼 컴퓨터 등 몇몇 소프트웨어 개발업체가 주도해 윈도우와 도스의 각 응용프로그램에서 공통으로 사용할 수 있는 서체 형식과 래스터라이저를 개발하려는 것이다. 사용자들이 한 서체를 구입하면 국내의 대부분 윤곽선글꼴 지원 프로그램에서 사용할 수 있도록 하는 것이 이 표준화 작업의 목표다. 예를 들어 글꼴지기 II의 글꼴 데이터를 마치 TRUETYPE 글꼴처럼 사용할 수 있도록 하며 한글 2.1, 사임당 등 도스 응용 프로그램에서도 역시 자신의 글꼴처럼 사용한다면 중복에 따른 부담은 덜어질 것이다.
또한 글꼴 파일의 형식을 공개해 새로운 응용 프로그램을 개발하는 경우 이 형식을 채택하면 개발자는 글꼴 처리에 대해 고민하지 않아도 된다. 이 일이 한국적 글꼴 형식의 표준화를 이룰지, 아니면 또 하나의 형식을 제안하는데 그칠지는 두고볼 일이다.