작성날짜 09.12.30
08 스크린폰트를 지원하는 OS환경들
폰트를 지원하는 OS환경이란 폰트파일로부터 오는 정보를 처리하는 환경을 말한다. 폰트프로그램이 레스트라이징 되어 분사이미지 결과를 표현해주는 방식으로 3가지 종류로 나뉠 수 있다.
첫번째는 스케일러블비트(scalable-bit)방식이다. 이것은 분사된 이미지를 흑백으로만 계산하여 이를 흑백의 점으로 표현해주는 방식이다. 분사된 이미지의 농도가 50%가 넘으면 흑, 이하면 백으로 표현해준다. 윈도우즈2000 이전의 버전에서는 이 스케일러블비트 환경이 표준이다. 이 환경에서는 아웃라인 폰트라도 모니터에서는 비트맵 방식으로 나타나는데, 이것이 화면에서 글자가 찌그러지거나 다른 것보다 터무니 없이 굵게 보이게 만드는 원인이 된다.
![]() |
예9 스케일러블비트 상태에서 글자의 모습과 확대된 모습 |
두번째가 그레이스케일 환경이다. 앞서 말한대로 스무딩 폰트기법이란 분사이미지 정보를 흑백 점이 아닌 회색조로 표현해주는 것을 말한다. 이것을 (예10)에서 보듯이 글자의 획이 두 개의 픽셀 사이를 지나갈 때 두개의 픽셀이 회색조로 보임으로써 글자가 흐리게 보이도록 만드는 윈인이 된다. 그러므로 그레이스케일 환경에서 아웃라인폰트를 사용하려면 힌팅이 필요해진다. 윈도우즈XP에는 이 그레이스케일 환경이 표준이다.
![]() |
예10 그레이스케일 상태에서 글자의 모습과 확대된 모습 |
세번째로는 클리어타입 환경이다. 클리어타입은 분사이미지 정보를 회색조가 아닌 색깔로 표현해준다. 그렇게 함으로써 글자가 가지고 있는 굵기와 곡선미를 표현해주는데, 이것은 기존의 글자보다 글자의 획을 더욱 굵게 표현한다는 결과를 가져온다. 윈도우즈의 차세대 버전인 비스타에서는 클리어타입 환경이 표준이라고 한다.(예11)
![]() |
예11 클리어타입 상태에서 글자의 모습과 확대된 모습 |
앞의 3가지 환경은 폰트를 표현하는 기술의 발전과정을 의미한다고 볼 수 있다. 하지만 그것은 라틴어 계열의 문자에 한한 것이라고 할 수 있다. 클리어타입 환경은 글자의 획을 굵게 표현해 주는 효과를 가져오는데 이를 CJK(china,japan,korea)문자의 입장에서 본다면 오히려 치명적이라고 할 수 있다. 굵게 표현해주는 것이 글자를 거칠게 혹은 뭉개지도록 만드는데 일조하는 경우도 일어나기 때문이다. 특히 한자같이 획이 많은 경우는 획끼리 붙는 현상이 생겨 무슨 글자인지 알지도 못하도록 만들어 버리는 경우도 있다.(예12)
![]() |
예12 클리어타입 환경에서 쓰여진 한문. 획끼리 붙는 현상이 일어난다. |
이런 점에서 볼 때, 그레이스케일 환경이든 클리어타입 환경이든 선진 기반기술을 가지고 있는 구미의 회사들이 만든 환경은 그 모두가 그들에게 중요한 라틴어 계열의 글자만을 위한 기술환경이지 한글과 한자인 CJK 문자의 특성을 고려한 것은 결코 아니라는 것을 먼저 인식하고 있어야 한다.
그런 점은 MS사가 그레이스케일로 표현되는 환경을 윈도우즈95에서부터 만들어 놓고 그런 환경이 있다는 것을 홍보하지도 않았고 사용하도록 권장하지도 않은 점을 통해서도 알 수 있다. 당사가 조사한 바로는 전문적인 뉴스 언론사에서도 그레이스케일 환경을 사용하지 않고 스케일러블비트 환경을 사용하고 있었다. 이처럼 MS사의 윈도우즈가 그레이스케일 환경을 제공하는 지, 컬러안티알리어싱이 되는 클리어타입 환경을 제공하는 지에 대해서 일반 PC사용자는 거의 모르는 실정이며 관심을 가지지도 않는다.
왜 그런 것일까?
그것은 윈도우즈의 환경이 어떤 것이든 한국 사람들과는 아무런 관계가 없는 일이기 때문이다.
MS사가 그레이스케일이든 클리어타입이든 이를 선전하고 권장하지 않았던 근본적인 이유는 그들이 자부하는 폰트 표현 기술 환경과는 상관 없이 한글폰트를 비트맵 폰트로 제작하여 트루타입폰트 파일 속에 내장(임베디드: embedded)시켜 놓았기 때문이었다.
윈도우즈3.1부터 현재의 XP에 이르기까지 기본폰트로 들어있는 한글폰트는 ‘굴림’, ‘돋움’,‘바탕’, ‘궁서’이다. 이것들은 트루타입폰트 파일형식을 가지고 있다. 즉, 아웃라인폰트라는 말이다. 그러나 모니터에서 8-18pt까지의 크기는 비트맵으로 나온다.
비트맵 폰트와 스케일러블비트
비트맵 폰트란 처음부터 아웃라인이 아닌 비트맵으로 그려진 폰트를 의미한다. 이것은 어떤 환경에서도 비트맵으로 자신을 드러낸다. 반면 스케일러블비트란 스케일러블비트 환경이거나, 다른 환경이라도 해당 크기에서 비트맵 방식으로 출력되라는 명령에 의하여 비트맵으로 화면에 나오는 것을 말한다.
그래서 화면에서 거의 완벽한 수준의 비트맵으로 보여지는 글자가 있다 하더라도 그것은 비트맵 폰트일 수도 있고 스케일러블비트일 경우도 있음을 알아야 한다.
그것은 폰트 표현환경에 따라서 스케일러블비트로는 비트맵 폰트처럼 글자들이 비트맵으로 표현되지 않는 경우가 있다. 이것을 제대로 표현하려면 스케일러블비트에 의해 흐트러져 있는 픽셀의 위치를 재배열하거나 조정해야 하는데 이런 작업을 가능하도록 만들어 주는 것이 5장에서 설명하고 있는 힌팅인 것이다.

예13 그레이스케일 환경에서 비트맵 폰트
(상)와 스케일러블비트 폰트(하)의 비교.
비트맵 폰트인 굴림과 스케일러블비트
폰트인 우리굴림의 차이가 없다

예14 클리어타입 환경에서 비트맵 폰트(상)와
스케일러블비트 폰트(하)의 비교.
비트맵 폰트인 굴림은 변화가 없지만 스케일
러블비트 폰트인 우리굴림은 컬러로
표현되는 것을 알 수있다.
MS가 CJK폰트에 비트맵을 넣고 방치한 이유
그레이스케일 환경은 폰트가 가지고 있는 원도의 벡터 정보값을 자체 레스트라이저를 통하여 내보내는 것을 의미한다. 이 레스트라이저에서는 폰트를 스케일러블비트 혹은 그레이스케일로 내보낼 수 있다. 어떤 상태로 화면에 출력할 것인가는 폰트디자이너가 결정하는데, 트루타입 폰트 에디트 프로그램에서 조정할 수 있다. 이렇게 결정하는 기능을 GASP(Gridfitting And Scan-conversion Procedure)라고 한다. GASP에 대한 MS사의 설명에서 볼 수 있듯이 이것은 그레이스케일을 보여줄 수 있는 환경에서만 조정할 수 있다. (예15)
예15 GASP에 대한 MS사의 설명 :출처 마이크로소프트사의 홈페이지 |
![]() |
예16 그레이스케일 상태에서 글자의 모습과 확대된 모습 |
예16 그레이스케일 환경에서 HY신명조 14pt로 이루어진 타이포그래피 |
예17 스케일러블비트 환경에서 HY신명조 14pt로 이루어진 타이포그래피 |
즉 PC의 OS 환경이 그레이스케일로 보여줄 수 있다 하더라도 트루타입으로 된 글자가 저해상도 화면의 특성에 맞추어 제대로 재조정(이를 힌팅이라고 한다)되도록 만들어져 있지 않으면 그레이스케일이라는 환경으로 인하여 글자는 흐려져 보일 수 밖에 없다. 그런데 라틴어에 비해 글자구조가 복잡하고 획수가 많은 한글과 한자는 힌팅을 넣기가 무척 어렵기도 하거니와 어떻게 힌팅을 넣어야 제대로 된 글자가 나올 수 있을 지를 파악하기도 힘들다. 그래서 MS사도 CJK문자에 대해서는 힌팅 넣는 것을 포기해버렸다. 그리하여 우리는 컬러 안티알리어싱이 되는 XP에서도 원시적인 비트맵 폰트를 윈도우즈의 기본 폰트로 사용하고 있는 것이다.





