Lyn
조회 수 2833 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

컴퓨터의 발전과 함께 발전해온 것 중 하나가 바로 폰트(Font) 이다.

컴퓨터를 초창기에는 계산용으로 사용했고, 그 다음으로 컴퓨터가 널리 보급 된 이유는 역시나 사무용이다. 타자기를 대체하기 위한 WordProcessor 라는 프로그램이 등장 한 이후, 압도적인 수정/복제의 편리함으로 타자기를 순식간에 밀어내고 컴퓨터가 널리 쓰이게 되었는데, 타자기에서 절대 흉내낼 수 없었던 워드프로세서의 장점 중 하나가 바로 다양한 폰트를 사용 할 수 있다는 것이다.

 

당연히 많은 폰트가 개발 되어 왔고, 프로그래머들은 그 폰트를 담을 파일 포맷 역시 설계해야 했다.
 

초창기에는 컴퓨터 모니터의 해상도가 워낙 낮았고, PC 성능또한 처참했기에 폰트 하나하나를 픽셀로 표현하는 방법을 사용했다. 바로 비트맵 폰트 라고 하는 녀석인데, 이것은 FON 확장자를 사용한다.
하지만 출력물의 해상도는 당시에도 모니터보다 훨씬 높았기 때문에(이것은 현재에도 대부분의 경우 마찬가지다. 자세한것 후술) 비트맵 폰트로는 좋은 출력물을 얻을 수 없었으며, 그 연구의 결과물이 바로 Adobe 가 만든 PostScript 포맷이다.
 

그 이후 애플이 Adobe에 대응하기 위해 새 포맷을 만들었는데, 바로 트루타입 폰트이다. PS 와 한가지 다른 특징을 가지고 있는데, 바로 2차원 베지어 곡선을 이용한다는 점이다. 이는 용량,속도에서 장점이 있고, 해상도가 낮은 모니터에서도 비교적 깔끔하게 보이는 특징이 있다. 나중에 LCD 같은 고정밀도의 디스플레이에 대응하기 위해 힌팅이 추가되었다(MS에서는 ClearType 이란 이름으로 XP 이후부터 지원한다). 확장자는 TTF 를 사용한다. TTF는 패밀리 폰트(이탤릭, 굵게 등등..) 을 넣을 수 없으므로, TTF 여러개를 묶는 컨테이너 포맷이 등장하게 되는데 이 포맷의 확장자는 TTC를 사용한다.

 

90년대 들어와서 MS는 새 파일 포맷을 만드는데, PS와 TTF 의 장점만을 취한 포맷으로 확장자는 OTF이다. PS 처럼 3차원 베지어 곡선을 사용하고, 자체적으로 패밀리 폰트를 지원한다. 3차원 베지어 곡선을 사용하므로 속도가 느리고 용량도 크며, 모니터에서는 곡선의 복잡도로 인해 제대로 표현히 되지 않는다는 단점이 존재한다. 주로 PS와 마찬가지로 출력물에서 사용한다.

 

그 외 HFT 같은 한컴에서 만든 폰트 포맷도 존재한다.
 

그러나 2015년 현재 시점에는 굉장히 아이러니한 상황이 벌어졋는데, MS Windows 에서 가장 많이 쓰는 포맷이 Apple 이 만든 TTF 이고, Apple OSX 에서 가장 많이 사용하는 포맷이 MS가 만든 OTF이다 (....) 
또 디스플레이도 상황이 많이 달라졋는데, "일반적인" 출판물의 DPI 는 지금도 300정도로 변함이 없지만, 스마트폰의 경우 500이 넘는 무식한 PPI를 지원하는 녀석들이 등장했다. 마찬가지로 PC에서도 250PPI를 넘는 디스플레이들이 많이 등장했는데, 당장 지금 본인이 쓰는 노트북만 해도 13.9인치 크기에 3200*1800 해상도를 자랑한다. 비교적 "저해상도" 를 지원하기 위한 기술들이 디스플레이가 고해상도화 되면서 난감한 상황이 된것. 이 상황이 오면서 가장 치명타를 입은게 MS Windows 인데, Windows 는 속도와 가독성 양쪽을 다 잡기 위해 2차원베지어곡선을 이용하는 TTF 포맷을 쓰면서 강력한 힌팅 알고리즘과 데이터를 이용해 가독성을 올리는 방법을 택했기 때문이다. 하지만 그대로 해상도가 깡패인 (...) 환경에서 이런 알고리즘은 도움이 되지 않았고, OS의 폰트가 전체적으로 예쁘지 않게 보이는 결과를 낳게 되었다(구형 맥을 보면 생각보다 폰트가 안이쁜걸 알 수 있다... 폰트가 정말 이뻐진건 레티나 디스플레이 장착한 머신 부터. 논리 해상도를 1440*900으로 1/4토막을 내면서 까지 극단적으로 폰트의 미려함을 추구한 OS이다). Windows 8 이후 추가된 UWA(윈도우 10 이전엔 Modern UI 라고 불럿다)에서는 결국 다른 방법으로 랜더링한다. ClearType 은 낮은 해상도에서 높은 가독성을 얻기 위함이지 높은 해상도에 최적화된 방법이 아니었기때문에..

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
157 boost::interprocess::managed_shared_memory의 동작에 관하여 Lyn 2014.08.22 208528
156 VC++ 2013 을 사용 할 경우 실행환경을 정확히 확인해야할 경우가 있습니다. file Lyn 2014.10.08 190323
155 Web 솔루션의 빌드속드와 리로딩속도에 관한 비교 4 Lyn 2014.08.29 175746
154 VS2015 Preview가 출시 되었습니다. Lyn 2014.11.13 64579
153 C++ new 연산자의 진실 2 file Lyn 2009.08.19 57940
152 네... 오늘 그날입니다 그날 Lyn 2014.12.10 52329
151 Microsoft C++ MVP 리워드를 개봉 해 보았습니다. 3 file Lyn 2013.10.11 51049
150 IIS 의 Application Pool 실행 계정이 ApplicationPoolIdentity 로 되어있을 경우 폴더 권한 부여 방법 Lyn 2014.04.15 50264
149 Windows 용 Redis 설치하기 (from nuget) file Lyn 2014.11.12 46965
148 [Boost 살펴보기] 3. timer Lyn 2009.05.11 44218
147 [Boost 살펴보기] 8. Tokenizer file Lyn 2009.06.11 42742
146 사용중인 FireFox 플러그인. Lyn 2010.05.18 42347
145 [Boost 살펴보기] 7. String Algorithm2 Lyn 2009.05.20 42114
144 [Boost 살펴보기] 6. String Algorithm1 Lyn 2009.05.12 41662
143 [Boost 살펴보기] 5. lexical_cast file Lyn 2009.05.12 41401
142 Compare, Merge 툴 간의 비교. - 작성중 1 Lyn 2009.12.08 40854
141 [잡설]델파이 / C++ Builder 하는 사람들의 문제점. Lyn 2010.02.07 39636
140 Google C++ Coding Style - 번역중 Lyn 2010.03.28 39282
139 [개인자료] 윈도우 재설치 후 설치 하는 프로그램 Lyn 2010.01.03 39066
138 Delphi 2009 Generic 살펴보기 1 Lyn 2008.09.29 38845
Board Pagination Prev 1 2 3 4 5 6 7 ... 8 Next
/ 8