· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Bytecode Interpreter

애플에 patent가 있는 TrueType 힌팅 기술

image

위에서 처럼 MS의 Tahoma Verdana Georgia등등의 글꼴이 깔끔하게 나오는 것은 글꼴에 비트맵 글꼴이 자체 내장되어서 그러한 것이 아니다.

이는 TrueType힌팅 기술 때문이다.

또한 BytecodeInterpreter를 활성화한 상태에서 Subpixel 렌더링(윈도우즈의 cleartype같은 렌더링방식)을 활성화시키면 안티앨리어싱이 되어 LCD를 사용하는 경우 좀 더 미려한 글꼴을 볼 수 있다.

리눅스에서 이 글꼴이 잘 보이지 않는다면, FreeType2라이브러리가 Bytecode interpreter를 활성화하고 컴파일을 했는지 확인해 보라.
  • 데비안, FreeBSD, Gentoo등등의 배포판은 상용이 아니므로 애플의 힌팅기술을 적용해 놓고 배포하고 있다.
  • RedHat배포판은 BytecodeInterpreter가 기본적으로 꺼져있으므로, MS의 영문 글꼴을 예쁘게 보려면 FreeType2를 다음과 같이 다시 컴파일 해야 한다. (freetype.spec파일을 고치거나 다음의 방법을 씀)

Bytecode Interpreter 활성화하기

Fedora/Redhat 배포판은 BytecodeInterpreter를 활성화시켜서 Freetype를 재컴파일 해야만 MS의 CoreFonts에 대해서 좀 더 미려한 영문 글꼴을 볼 수 있다.

Fedora의 경우 without_bytecode_interpreter를 0으로 재정의 하며 컴파일하면 된다.
$ rpmbuild --define "without_bytecode_interpreter 0" --rebuild freetype-*.src.rpm


Bytecode interpreter가 활성화되지 않았을 경우는 FreeType2 자체의 오토힌팅 엔진에 의한 결과물을 보여준다. 따라서, 힌팅이 제대로 되지 않은 값싼 글꼴의 경우는 Xft2에서 오히려 예쁘게 나오는 결과가 생긴다.

힌팅이 제대로 되지 않은 글꼴을 그냥 보여주면 들쭉날쭉 계단현상이 보일 수 있다. 이러한 경우 적용할 수 있는 기술이 AA(AntiAliasing)이다. AA를 적용하면 글꼴이 살짝 뭉게지면서 계단현상이 완화되고, 글씨의 크기가 매우 작은 힌팅이 제대로 되지 않은 글꼴들에 대해서 좋은 결과를 보여준다.

그러나, 비트맵이 내장되거나 양질의 힌팅이 적용된 값비싼 글꼴은 적당히 작은 글꼴에 대해서는 AA를 끄고 힌팅만 적용한 것이 보기에 더 좋을 수 있다. 특히, 한자 한글등등의 영문보다 획이 많은 경우는 적당히 작은 글꼴들만 선택적으로 AA를 끄는 것이 더 나을 수 있다.

이러한 이유로 TrueType글꼴은 gasp라는 것을 지원하며, 특정 범위의 글꼴은 AA를 하지 말라는 정보를 가지고 있다. 그러나, 글꼴의 대부분은 쓸모 없는 gasp정보를 가지고 있으며, FreeType2는 gasp정보를 아예 쓰지 않고 FontConfig에서 AA를 켜거나 끄거나 조절할 수 있게 하였다. --WkPark

윈도우즈의 바탕(체)/굴림(체)등등에는 비트맵 내장 글꼴이 들어있다. CJK글꼴들은 획이 많아서 힌팅기술을 적용하기 힘들기 때문에 차라리 손으로 일일히 다듬어 놓은 비트맵을 내장하는 것이 더 편리하기 때문이다.



ID
Password
Join
The best prophet of the future is the past.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-02-04 18:46:38
Processing time 0.0057 sec