클리어타입

클리어타입(ClearType)은 마이크로소프트 윈도우의 글꼴 렌더링 기술로서, 문자열의 모양을 컴퓨터 디스플레이 화면의 특정한 방식으로 개선해 준다. 특히, 평판 패널 모니터에서 효과가 좋다. 문자열을 위한 서브픽셀 렌더링의 형태이다. 윈도우 XP에서 처음 선을 보였고 윈도우 프레젠테이션 파운데이션 문자열 렌더링 엔진의 구성 요소로 통합되어 있다.

윈도우 비스타부터는 동아시아 언어의 글꼴이 클리어타입 렌더링에 맞게 만들어졌다고 하며, 한국어 글꼴은 맑은 고딕이라는 이름으로 등록이 되었다. 이 글꼴은 최신 버전의 마이크로소프트 오피스의 기본 내장글꼴이기도 하다.

배경 
컴퓨터의 화면은 화소로 이루어져 있고, 이러한 화소에 보여지는 문자열은 보통 렌더링되지 않고 보이기도 한다. 이 때에는 에일리어싱 현상이 생기는데, 특히 LCD와 같은 평판 모니터를 사용하면 사람의 눈이 쉽게 피로를 느낄 수 있다. 클리어타입 렌더링 방식은 서브픽셀에서 문자열을 더 부드럽게 하고 에일리어싱을 줄여 주는 앤티 에일리어싱을 사용한다.

다른 종류의 서브픽셀 렌더링과 같이, 클리어타입 렌더링은 실제로 밝기차를 위해 화질의 한 면(색)을 희생하면서 타협을 하게 된다. 인간의 눈은 밝기가 바뀌는 것에는 민감하지만 색이 바뀌는 것에는 둔하기 때문에 좁은 범위이면 색의 바뀜은 잘 느끼지 못한다.

클리어타입 렌더링은 사용자와 시스템 응용 프로그램들이 표현되는 트루타입이나 오픈타입 글꼴에만 적용된다. 다른 그래픽 화면 요소(비트맵으로 이미 변환된 텍스트를 포함)은 클리어타입 렌더링의 영향을 받지 않는다. 예를 들어, 마이크로소프트 워드 안에 입력한 문자열은 클리어타입 렌더링 기술이 적용되어 표현된다. 그러나 포토샵이나 그림판과 같은 프로그램 안에 보이는 비트맵으로 이미 만들어진 그림 안의 문자열에는 이 기술이 적용되지 않는다. 클리어타입 렌더링 기술은 특정한 종류의 컴퓨터 디스플레이 위에 표현되는 문자열에만 적용된다. 이것은 특정 디스플레이 상에서는 화질을 떨어뜨릴 가능성이 있다는 것을 의미한다.

클리어타입 렌더링 기술은 종이에 인쇄하기 위한 기술이 아니다. 대부분의 프린터들은 앤티 에일리어싱이 전혀 문제가 되지 않은 인쇄를 위한 작은 점들을 준비하고 있다. 또한, 클리어타입은 텍스트 파일 안에 임베딩된 글꼴에 영향을 미치지 않는다. 클리어타입 렌더링은 화면에 표현되는 문자열에만 적용되는 것일 뿐이다.

앤티에일리어싱과의 비교

요구 사항 
 윈도우 XP, 윈도우 2003, 윈도우 비스타 이상의 운영 체제
 고정 픽셀을 가지는 평판 패널의 모니터 (권장)
 디스플레이 속성(또는 등록 정보)의 화면 배색(색상 및 모양)에서 효과 버튼을 눌러 ClearType을 사용

클리어타입 렌더링 기술과 에일리어싱 기술은 고정 픽셀과 서브픽셀을 사용하는 디스플레이 하드웨어를 요구한다. 정확히 말해, 화면 위의 화소와 서브픽셀의 위치들은 연결되는 모니터로 알 수 있다. 보통 LCD와 같은 평판 패널 디스플레이가 그런데, 픽셀의 위치가 화면 설계에 따라 꾸준히 고정되어 있다. 거의 모든 평판 패널들은 완벽한 직사각형 배열의 사각 픽셀들을 가지고 있으며, 각각 세 개의 직사각형 서브픽셀이 수직 띠에서 세 개의 기본 색상(빨강, 초록, 파랑)을 가지고 있다. 클리어타입은 문자열이 보일 때 픽셀을 정렬하게 된다.

클리어타입은 네이티브 해상도가 아닌 해상도로 작동하는 평판 패널 디스플레이에서는 동작하지 않을 수도 있다. 왜냐하면 오직 네이티브 해상도만이 디스플레이 화면의 픽셀 위치와 정확하게 일치하기 때문이다.

디스플레이가 클리어타입이 예측하는 고정 픽셀의 형태를 가지고 있지 않으면, 클리어타입이 표현하는 문자열은 표현하지 않은 것보다 더 나쁘게 보일 것이다. 어떠한 평판 패널들은 색 순서가 다르거나, 서브픽셀이 다르게 위치해 있거나 (3개의 수직 띠나 다른 방식), 더불어 일반적이지 않은 픽셀 배열을 갖추고 있다. 그러한 화면에서는 클리어타입은 수동으로 튜닝해 주어야 한다. (아래의 ‘외부 링크’ 참조)

이와 비슷하게, CRT 디스플레이와 같은 고정 픽셀 위치를 갖지 않는 디스플레이들은 클리어 타입을 사용하면 읽기가 더 어려워질 것이다.

오해 
클리어타입이라는 말은 종종 오픈타입이나 트루타입과 동등한 글꼴자체 기술로 오해가 되기도 하는데, 클리어타입은 글꼴 렌더링 기술이지 글꼴 자체에 대한 기술이 아니다. 그러므로 맑은 고딕 글꼴은 클리어타입 글꼴이라는 말은 잘못된 말이다. 맑은 고딕 글꼴은 특별히 클리어타입에 잘 맞는 힌팅 인스트럭션을 가지고 있는 오픈타입 글꼴이다.

일부 한국어 글꼴에는 클리어타입 렌더링이 지원되지 않는다는 사람들의 불만이 있지만 그것은 사실이 아니다. 메모장에서 굴림이나 돋움과 같은 글꼴을 20포인트 이상으로 키우고 윤곽선 테두리 픽셀을 확대해서 보면 분명히 클리어타입 랜더링이 적용되는 것을 볼 수 있다. 작은 글꼴 크기에서 클리어타입이 적용되지 않는 이유는 글꼴에 일부 크기 영역에 내장 비트맵 글꼴 정보가 포함되어 있기 때문이며, 다시 말해 반드시 내장 비트맵만 쓰게끔 하는 정보를 가지고 있기 때문이다.(트루타입의 gasp 정보가 비트맵 글꼴 영역에 대한 정보를 가지고 있다. 모든 크기의 한국어 글꼴에 클리어타입을 사용하려면 아래의 ‘외부 링크’ 참조) 이는 최초 글꼴이 만들어질 당시 클리어 타입 렌더링 기술이 없는 상황에서, 글꼴의 크기가 작을 경우 화면에 선명하게 보이지 않는 현상을 해소하기 위함이었다.

특허 
클리어타입은 등록 상표이며 미국 특허(6307566)에 의거 보호 받는다. (Methods and apparatus for performing image rendering and rasterization operations)

 Subpixel rendering:
  – Method and apparatus for displaying images such as text
  – Mapping image data samples to pixel sub-components on a striped display device
  – Weighted mapping of image data samples to pixel sub-components on a display device
  – Methods and apparatus for performing image rendering and rasterization operations
 Complex color filtering:
  – Mapping samples of foreground/background color image data to pixel sub-components
  – Method and apparatus for detecting and reducing color artifacts in images
  – Methods apparatus and data structures for enhancing the resolution of images to be rendered on patterned display devices
  – Filtering image data to obtain samples mapped to pixel sub-components of a display device
  – Filtering image data to obtain samples mapped to pixel sub-components of a display device
 Subpixel font hinting and layout:
  – Methods and apparatus for performing grid fitting and hinting operations
  – Maintaining advance widths of existing characters that have been resolution enhanced
 ClearType tuning:
  – Method and apparatus for improving the quality of displayed images through the use of user reference information

같이 보기 
 앤티 에일리어싱
 EBDT
 화소

외부 링크 
 클리어타입을 파워토이로 튜닝하기
 어떠한 한국어 글꼴에라도 클리어타입을 적용시킬 수 있다 

글꼴
윈도우 구성 요소
컴퓨터 그래픽스 알고리즘