굴림, 궁서의 한자 글립

거의 20년 전의 윈도우 3.0 이래로 한글판 운영체제가 내장해 온 한글 글꼴은 바탕, 돋움, 굴림, 궁서의 4종류였다. 그리고 한자 글꼴은 바탕, 돋움에만 존재하여 2종류였다. 지극히 교과서적인 기본 글꼴에만 한자 글립이 있었다는 뜻.
그때는 fallback 글꼴이라는 개념조차 없었기 때문에 궁서나 굴림 같은 글꼴을 쓰면 한자가 아예 나타나지도 않았었다.

그러던 것이 윈도우 95에서부터는 상황이 크게 개선되어 궁서의 한자는 바탕으로, 굴림의 한자는 돋움으로 좀더 유사한 글꼴의 한자 글립을 공유하게 되었다. 이것은 별도의 fallback 글꼴을 지정한 게 아니라, 아예 한 글꼴 파일이 collection으로 바탕과 궁서를 나타내고 있고 한자 글립을 내부적으로 바탕의 것으로 공유하기 때문에 가능해진 것이다.

윈도우 비스타에서 새롭게 추가된 글꼴인 ‘맑은 고딕’도 한자 글립을 갖고 있지 않다. 한자를 찍으려고 하면 돋움체의 글립이 자동으로 쓰이는데 이것은 fallback 글꼴이 쓰인 게 맞다.

한자 자체도 윈도우 95 시절까지는 고작 KS 완성형 코드에 있는 상용 한자 4888자밖에 없었다. 그러던 것이 98부터는 확장 한자 2856자가 추가되었고, XP 무렵에는 유니코드의 ‘한중일 통합 한자’ 영역의 한자가 모두 기본 제공되기 시작했다. 그리고 비스타부터는 ‘한중일 통합 한자 확장 A’까지 굴림/돋움 같은 글꼴에서 기본 제공되기 시작했고, 심지어 surrogate 영역에 존재하는 확장 B도 외국에서 제작된 별도의 글꼴을 자동으로 fallback 하여 표현할 수도 있게 되었다.

이렇게 PC 환경이 좋아지면서 컴퓨터에서 문자를 표현하는 능력이 비약적으로 향상돼 왔는데 본인이 늘 아쉽게 생각하는 게 있다. 기본 제공되는 한자 서체 자체는 20년 전이나 지금이나 바탕과 돋움 두 종류뿐이라는 점이다. 이제는 굴림과 궁서도 고유한 한자 글립을 제공할 때도 되지 않았나 싶다.

21세기가 된 지 무려 10년 가까이 지나고 온갖 기발하고 현란한 한글/영문 글꼴이 넘쳐나는 지금도, 한국에서 소위 명조와 고딕 계열 이외의 한자 글꼴을 찾기란 의외로 매우 어렵다! 사실은 신명조와 중고딕 말고 견명조, 견고딕조차도 드문 실정이다.
어지간한 운영체제나 워드 프로세서가 번들로 제공하는 글꼴에서는 거의 찾을 수 없고 최소한 별도의 글꼴 확장팩에서나 제공된다. 이런 의미에서 과거 아래아한글 2.5 확장팩은 정말 신선한 충격이었다. ‘신명 궁서’는 아래아한글이 최초로 제공한 궁서 계열 한자 글꼴이었다.

그나마 견명조, 견고딕, 궁서는 좀 사정이 나아졌다. 아래아한글이 번들로 제공하는 HY견명조, HY견고딕에도 한자 글립이 같이 들어있다. 하지만 굴림 계열의 한자 글꼴은 정말 없다. 무려 아래아한글 3.0대 내지 96의 확장팩부터 제공된 한글맵시 글꼴에서 그런 한자 글꼴을 본 기억이 나고 HFT가 아닌 범용적인 TTF 방식은 아직까지 구경조차 못 해 봤다.

둥근고딕, 세나루, 디나루 등의 명칭으로 불리는 이 굴림 계열 글꼴은 원래는 그래픽이나 헤드라인처럼 일반 PC에서 보기가 쉽지 않은 글꼴이었으며, 아래아한글도 2.5 확장팩에서부터나 제공하기 시작했다. 그런데 윈도우 95가 이 글꼴을 확 퍼뜨려 준 덕분에 굴림은 그때부터 그야말로 길바닥에 차이는 돌멩이마냥 오늘날 우리나라에서 웹과 인쇄물 등에서 제일 흔하게 쓰이는 글꼴이 되었다. ^^

워낙 흔하다 보니 굴림 말고 별도의 굴림 계열 글꼴은 거의 나오거나 쓰이지 않았다. 그런데 그 흔한 기본 글꼴에 한자 글립이 없었고, 따라서 한자 글립이 추가된 다른 둥근고딕 글꼴도 거의 볼 수 없게 된 게 아닌가 한다.

사실 굴림체 계열의 한자 글꼴이 가장 널리 쓰이고 있는 곳은 일본이다. 둥근고딕 한자로 쓰인 문장만 봐도 일본이 바로 떠오를 정도이다. 한국에서 이런 글꼴을 볼 일이 없기 때문이다.
그리고 뭔가 소프트웨어를 동아시아 환경에 맞게 localize할 때 기준으로 삼는 언어 역시 단연 일본어이다. 국력도 국력이거니와, 워낙 일본의 문자 체계와 문자 입력법이 복잡하기 때문에 일단 일본을 기준으로만 프로그램을 고쳐 놓으면 한국이나 중국어 버전은 약간만 추가 조치를 취하면 되기 때문이다.

굴림체를 비판하는 사람들은 굴림체가 한글답지 못하고 일본 한자 서체의 스타일을 그대로 베꼈다고 주장한다. 사실, 한글 윈도우 95가 돋움이 아닌 굴림을 기본 글꼴로 내세우고 나온 것도, 굴림 계열 글꼴을 즐겨 쓰는 일본 쪽 문화를 참고했던 게 아닐까 하는 생각이 들기도 한다. 실제로 각종 컴퓨터 용어를 제정하거나 심지어 한글 코드과 글꼴 같은 걸 정할 때도 우리나라 엔지니어들은 일본은 localize를 어떻게 했는지를 엄청 많이 참고해 온 것도 어쩔 수 없는 현실이다.

그런데 그렇게 굴림체를 도입해 놓고도 정작 둥근고딕 스타일의 한자 글립은 아직까지도 없다는 게 아쉽다. 예전이야 메모리 용량이 아깝고 하드디스크 용량이 아까워서 뺐다 치지만 지금은 전혀 그런 걱정이 없고 평생 쓸 일 없을 것 같은 유니코드 상의 온갖 외국어 문자도 다 글꼴이 내장되어 있다. 현실적으로 한글과 로마자 다음으로 가장 많이 쓰이는 문자인 한자를, 많이도 필요 없고 상용 한자 4888자만이라도 바탕과 돋움이라는 단조로움을 벗어나게끔 운영체제가 배려를 해 주면 어떨까 하는 생각이 든다.

Posted by 사무엘

2010/02/19 08:47 2010/02/19 08:47
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/190

윈도우 3.x 시절에 MS에 한글 글꼴을 공급한 업체는 왕년의 유명한 국내 벤처 기업이던 큐닉스 컴퓨터였습니다. 한때 프린터까지 만들던 곳인데, 지금은 망하고 글꼴 개발 부분만 모리스 디자인으로 상호를 바꿔 명맥을 유지 중인 걸로 알고 있습니다. 개성체를 비롯해 동글동글한 이솝체를 만든 곳이죠.

이 글꼴들은 같은 명조, 고딕, 궁서라 할지라도 당시 아래아한글 2.x 전문용이 번들로 제공하던 한양 글꼴 equivalent에 비해 미려함이 덜하고 단조로워 보였습니다. 하지만 외국산의 품질 좋은 래스터라이저와 힌팅 정보에 힘입어, 작은 크기에서의 품질 하나는 아래아한글이 적수가 될 수 없을 만큼 정말 좋았지요.
그때는 유니코드라는 개념 자체가 없었고 한글 글꼴은 2350자를 일일이 다 그려 넣는 것밖에 선택의 여지가 없었습니다.

그러던 것이 윈도우 95에 와서는 한글 글꼴 체계가 크게 향상됩니다. 그리고 이때 첫 라이선스 한 한양 글꼴은 그 최신 기술이 모두 반영된 작품이었습니다. 어떤 게 있는지 예를 들면 이렇습니다.

첫째, TTC. 굴림과 돋움, 바탕과 궁서가 한 글꼴 컬렉션으로 병합됨으로써 둘이서 한 한자 글립을 공유할 수 있게 되었으며, 나머지는 다 같은데 영문만 불변폭 글꼴인 ‘-체’ 글꼴 변종도 기억 장소의 낭비 없이 손쉽게 구현할 수 있게 됐습니다. 이런 기술은 작은 고유 문자와 한자를 공용하는 일본에서도 더욱 필요했을 것입니다.
(하지만 이제 굴림과 궁서도 별도의 한자 글립이 있으면 더 좋을 것 같네요. 한국에서는 지금도 명조 고딕 외의 한자 글꼴은 가정용 PC에서 좀체 보기 힘듭니다.)

둘째, 비트맵 자형 내장. 알파벳 글꼴이야 아예 비트맵밖에 없는 FON 파일만 쓰든가, 아니면 트루타입은 정교한 수제 힌팅만으로 작은 크기에서도 아주 보기 좋은 자형을 만들어 냈지만 한글/한자 같은 문자는 아예 비트맵을 만들어 넣어 주는 게 당장 더 유리합니다. 윈도우 3.1 시절엔 이런 개념이 없었던 것 같습니다. 그 바탕체 12포인트는 BT16.TBM이라고 TTF와는 완전히 별개의 파일에 글립이 저장되어 있으며 운영체제가 임의로 불러들이고 출력해 주더군요. 12포인트 말고도 15포인트용 BT20.TBM 파일도 있습니다.
TTF가 자체적으로 다양한 크기의 비트맵을 내장하게 된 것이 윈도우 95부터입니다. 덕분에 굴림, 바탕, 돋움이 모두 자체적으로 비트맵을 갖게 되고 결과적으로 윈도우 3.1보다 글꼴의 품질은 크게 향상되었죠.

끝으로 유니코드 지원입니다. 확장완성형 때문에 큰 물의를 빚긴 했으나 어쨌든 모로 가도 서울만 가면 된다고, 윈도우에서 운영체제 차원에서 11172자 한글 표현이 가능해지고 한글을 조합 글립으로 표현할 수도 있게 된 것이 95에 와서부터입니다.

윈도우 9x를 직접 설치해 본 분들은 아시겠지만 얘네 계열들은 설치 GUI가 정확하게 윈도우 3.1 커널 기반입니다. 16비트 코드와 32비트 코드가 짬뽕이어서 그런지 한글 글꼴도 두 체계가 완전히 짬뽕인 것을 볼 수 있죠. 첨부하는 그림을 보시면 설치 마법사 대화상자 안의 모든 글꼴들은 9x에서 볼 수 있는 ‘한양 시스템’ 굴림이지만, 그 바깥에 있는 약간 조악한 느낌이 드는 글씨들은 전부 윈도우 3.1 ‘큐닉스 굴림’ 10포인트입니다. 둘의 품질의 차이가 한눈에 보이시죠?

컴퓨터의 성능이 향상되고 운영체제가 발달하면서 문자 입출력 기술도 알게 모르게 더욱 정교해지고 범용성이 향상되고 있습니다. 언뜻 보기에 똑같은 기능을 하면서 덩치만 아무 이유 없이 커지는 건 아니거든요.
예전에는 동아시아 버전 아랍권 버전 이렇게 따로 적용되던 기술이 이제는 전세계 어느 기계 내지 소프트웨어에나 동일하게 들어가고 있다는 뜻입니다.

Posted by 사무엘

2010/01/31 10:01 2010/01/31 10:01
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/163

BannerMania라고 무려 1989~90년대에 나온 도스용 프로그램이 있다. 나름대로 다양한 윤곽선 폰트를 사용하여 당대로서는 환상적이기 그지없는 글자 비틀기와 특수효과를 모니터와 프린터에 동시 구현하였다. 본인도 무려 286 AT 쓰던 시절에 이 프로그램을 돌려 봤다.

지금 생각해도 정말 잘 만든 프로그램이다. 굉장히 복잡 정교한 다각형 합성/채우기 계산 알고리즘이 쓰인 것은 두말할 나위도 없거니와 다양한 그래픽 카드와 프린터 지원, 프로페셔널한 디자인 세트 등은 각 분야 최고의 전문가들의 두뇌가 결집하여 만들어진 작품임을 인정하지 않을 수 없게 만든다.

이 프로그램이 사용하는 윤곽선 글꼴 파일을 읽어서 글자를 찍어 주는 프로그램을 나는 무려 2001년에 내 홈페이지 개설과 거의 동시에 만들어 올렸었다. 물론 내가 포맷을 분석한 건 아니고, 타인이 짠 코드를 포팅한 것이었다.
http://moogi.new21.org/src11.htm

이제 그로부터 7년 반 후,
본인은 그 글꼴 파일 자체를 아예 OTF로 변환하는 데 일단 성공했다. 짠~

사용자 삽입 이미지
본디 글꼴에는 진짜 최소한의 윤곽선 데이터만 들어있지 요즘의 범용적인 TTF/OTF처럼 코드 페이지 정보라든가 힌팅, 커닝 같은 개념은 있지도 않다. 그런데 BannerMania는 다각형 경계 계산을 일일이 수동으로 함으로써 커닝을 구현하는 듯하다.

WAVE 같은 단어도 보기 좋은 간격으로 찍히고, 글자의 ascent, descent 경계 구분도 자동으로 한다. 즉, 똑같은 줄이라면 AG의 A는 Ag의 A보다 더 크게 찍힌다는 것이다. 소문자 g가 차지하는 아랫부분 공간을 계산할 필요가 없기 때문이다. 정말 꼼꼼하게 잘 만든 프로그램이다.

글꼴 파일의 관행이 다 그렇기라도 한지는 모르겠는데, BannerMania 글꼴도 빅 엔디언을 쓴다. 이는 TTF, OTF 다 마찬가지이다. 단, 글꼴이 디자인된 공간의 크기를 나타내는 EM size는 220 남짓밖에 안 된다. (요즘은 1000~2000대가 대세)

윈도우 운영체제는 3.1 시절부터 TTF를 지원하다가 2000에 와서야 OTF도 지원하게 되었다. 글꼴 관리자를 꺼내 보면 전통적인 T자 아이콘 말고 O자 아이콘이 찍힌 글꼴을 심심찮게 볼 수 있을 것이다. 이것들이 OTF이다. 단, OTF 자체는 TTF 글꼴에다가 TTF의 고유 2차 스플라인뿐만 아니라 포스트스크립트 Type 2방식의 3차 스플라인도 포함할 수 있게 규격을 확장하고 몇몇 기능을 더 추가한, TTF superset에 가까운 개념이다.

윈도우 2000에서부터 Verdana, Times 같은 주요 영문 글꼴들이 OpenType으로 표시는 되나, 이들은 내부적인 윤곽선 표현 방식은 여전히 TTF 방식인 ‘껍데기만 OTF’들이다. 그것 말고 Type 2 방식의 진짜배기 OTF 글꼴도 윈도우 2000부터 지원은 하기 시작했으나, 그 지원 수준은 윈도우 비스타에 이르기까지 여전히 미비하다(7은 잘 모르겠음). OTF는 ClearType 안티 앨리어싱이 아직 지원되지 않으며, MS 오피스의 WordArt를 만들거나 오피스 2007이 제공하는 PDF 저장 기능으로 저장을 해 보면, 서체가 윤곽선 글립이 아닌 비트맵 이미지로 저장된다! 마치 아래아한글에서 hft 고유 글꼴을 처리하듯이 말이다. 이걸 보고 적지 않게 실망했다.

90년대에 아래아한글(휴먼 컴퓨터 포함)이 통합 글꼴을 별도로 만들지 않고 TTF를 썼다면 역사가 또 많이 바뀌지 않았을까 싶다. 물론 그렇게 하더라도 코드 페이지는 독자적으로 정해서 쓰고 있었으니 아래아한글용 TTF와 윈도우용 TTF가 서로 호환될 수는 없었을 것이다.

아마 독자적인 한글 표현 방식이라든가, 글꼴 압축/암호화의 용이성, 글꼴 드라이버 계층의 독립 가능성 등으로 인해 통합 글꼴이 채택된 게 아닌가 싶지만, 결국 현재 통합 글꼴을 사용하는 제품은 지구상에서 아래아한글밖에 남아 있지 않고, 그나마도 어쩔 수 없이 legacy 차원에서 지원하고 있는 실정이다.

Posted by 사무엘

2010/01/30 09:52 2010/01/30 09:52
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/162

타자기 별 글꼴 비교

그림은 김 정수 지은 <한글의 역사와 미래> (열화당, 1990)에 있는 화보를 스캔한 것입니다.

1. 공 병우 세벌식 타자기

눈보다는 손의 편의를 철저하게 추구한 능률적인 타자 방식입니다. 글자를 알아보는 데는 지장이 없지만, 글자꼴이 뭔가 어설픈 느낌이 있습니다.

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

2. 표준 네벌식 타자기
가장 '타자기 글꼴'다운 글자꼴이 나옵니다.
사용자 삽입 이미지

3. 김 동훈 다섯벌식 타자기
손으로 쓴 글씨와 별 차이가 없을 정도로 꽤 볼 만한 사각형 글자꼴이 나옵니다. 그 대신 다섯 벌이나 되는 타법을 배우기는 어렵겠죠.
사용자 삽입 이미지

Posted by 사무엘

2010/01/12 23:55 2010/01/12 23:55
, , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/123

도스 시절의 한글 윤곽선 글꼴

사용자 삽입 이미지

도스 시절에 한글(한글에만 국한은 아니겠지만)을 출력하는 기법은 비트맵 아니면 벡터(윤곽선) 이렇게 두 갈래로 양분화해 있었다.

비트맵은 도깨비 한글의 8*4*4벌 규격에 맞게 만들어진 16*16 한글 글꼴을 찍는 것으로 사실상 통합이 되어 있었고, 윈도우 시대가 도래하기까지 널리 쓰였다. 뭔가 좀 아마추어스러운 냄새가 나고 상업/출판용 글꼴만치 고품질의 글자를 만들 수는 없지만, 그래도 가격 대 성능이 굉장히 뛰어난 좋은 방법이었기 때문이다.

본인이 아는 한, 한컴이나 MS 같은 회사가 아니라 개인이 만든 싸-_-제 프로그램이 이와 다른 기법으로 한글을 출력하는 것은 본 적이 없으며, 저 방식대로 수많은 싸제 글꼴들이 쏟아져 나오기도 했다. <날개셋> 편집기는 도깨비 글꼴도 지원하고, 임의의 조합 테이블을 가진 글꼴에다 2350 완성형 글꼴까지 지원함으로써, 한글 출력에서 그런 비트맵 글꼴 처리 분야는 완전히 마스터를 했다.

윈도우로 넘어가서도 이야기, 새롬 데이타맨처럼
그나마 고정폭 글꼴이 널리 쓰이는 VT 기반 통신 프로그램에서 비트맵 글꼴이 한동안은 명맥을 이어 나갔으나,
이마저도 이제 역사 속으로 사라져 버렸고, 오늘날 이런 16*16 한글 내지 8*16 영문 고정폭 비트맵 글꼴을 고수하고 있는 프로그램은 <날개셋> 편집기 뿐이다. ㄱㅅㄱㅅ

그럼 윤곽선 글꼴 분야로 가면 사정이 어떨까?
그 때에 도스에서 윤곽선 글꼴은 그래픽이나 워드 프로세서, 또는 그 둘의 중간에 해당하는 배너 같은 아주 특수한 분야의 전문 프로그램에서나 볼 수 있었다.

터보 C가 제공하던 BGI 라이브러리도 소위 벡터 글꼴을 지원은 했으나, 영문밖에 지원되지 않았고, 기술적으로도 진정한 의미의 곡선이 표현되지 못하며 내부 채움(래스터라이즈)도 안 되는 그냥 직선 나열일 뿐이었다.

그런 척박한 시절에 한글을 윤곽선 글꼴로 표현해 낸 프로그램이 있었으니 본인은 관심이 끌리지 않을 수 없었다. 아래의 프로그램들은 모두 1991~92년 그 시기에 제작되었다.
자형 디자인은 어떻게 하고 글꼴 파일 포맷은 어떻게 설계했을지, 래스터라이즈 루틴은 어떻게 작성했을지 모든 것이 그저 신기하게만 보인다.
(참고로 윈도우 운영체제도 3.x에서 윤곽선 트루타입 글꼴이 첫 도입된 건 이 시기이다!)

1. 하늘 (경북대 동아리)

내장하고 있는 싸제 글꼴은 형태가 심하게 조잡하긴 하다. =_=;; 이 글에서는 <하늘>만 예를 들지만, 과거 <수채화>도 글쓰기 기능의 퀄리티가 하늘과 굉장히 비슷했다. 단, <수채화>는 상업용 프로그램답게 얼추 배너 프로그램처럼 글자의 레이아웃을 변형하는 기능도 지원한다.

2. 한글 배너 (동국대 동아리?)

BannerMania라는 외산 상업용 프로그램으로부터 영감을 받아 개발된 게 분명한 프로그램이다. 영문 글꼴은 B에 있는 녀석을 그대로 쓴다. 즉, 이 프로그램의 개발자는 B의 글꼴 파일 포맷에 대한 정보를 입수했다는 뜻이다. 그 반면 한글 글꼴은 본인이 들여다본 바로는 B의 글꼴과 관계가 없는 자체 포맷이다.

학술 학회 명의로 되어 있지만 실질적인 개발은 개인이 혼자서 한 듯하다. 원전인 B보다 기능은 훨씬 더 뒤떨어지지만, 혼자서 저 정도 난이도의 프로그램 clone을 만든 거라면 지금 봐도 정말 대단한 거다.

글꼴 디자인도 개인 작품인지 궁금하다. 명조는 좀 어설픈 느낌이 나지만, 다른 글꼴인 고딕, 안상수, 샘물 등은 배너 용도로도 적합하고 은근히 볼 만하다.

3. 키다리 (개인+알파)

마우스로 조작하는 UI가 무척 특이하긴 한데, 이것도 상당히 잘 만든 공개 소프트웨어이다. 지금 <날개셋> 편집기에도 내장하고 있는 "키다리체"는 이 프로그램이 UI 출력용으로 쓰던 비트맵 글꼴이다. 그래픽체 비슷한 느낌을 낸 게 무척 참신하게 느껴지지만 좀 엉성한 느낌도 많이 들어 아쉬운 글꼴이다.

이 프로그램의 진면모는 바로 배너를 출력할 때 나오는 키다리 특유의 그래픽체이다. 신명 태그래픽을 연상시키는 이 글꼴은 개인이 디자인한 싸제이지만, 상당히 품질이 좋으며, 글꼴 전문 업체에서 만든 보급-_- 글꼴과 견주기에도 손색이 없다. 그러면서도 한글 11172자는 모두 표현 가능하다. 그래픽체는 비슷한 분위기의 영문 글꼴에서 착안하여 최초 원도를 최 정호 씨가 만든 것으로 잘 알려져 있는데, 자형 자체가 무척 깔끔하고 본문으로나 배너 장식으로나 적합해서 본인 역시 좋아한다.

엄청 옛날에 <자유>라는 프로그램도 있었다. 한번에 한두 줄짜리 배너만 출력하는 프로그램과는 달리, 얘는 한 페이지 안에 여러 배너 형태 문구들을 마치 벡터 드로잉처럼 배치하여 출력이 가능했는데 역시 윤곽선 글꼴과 다양한 효과를 지원했다. 본인이 본 버전은 무려 허큘리스에서 돌아가는 놈이었다.

4. 아래아한글 2.0 전문용

민간인이 열악한 여건 속에서 오로지 열정만으로 만들어 낸 "싸제" 글꼴과 공개 프로그램을,
한양 시스템이라는 번듯한 업체 글꼴을 사용한 상업용 프로그램과 동일선상에서 비교하는 것은 물론 무리가 있다. 그래도 역사 기록이니까 소개해 본다. 보급 글꼴은 2350자를 일일이 디자인한 것들이니, 싸제하고는 근본적으로 격이 다를 수밖에 없다. -_-;;;

그래픽체는 아래아한글 2.0 전문용에 원래는 없던 녀석이고, 아마 묵향 같은 한양 시스템 추가 패키지를 설치해야 추가되었지 싶다. (2.1 이후에 추가됨) 2.0 때는 아직 윤곽선 글꼴 파일 포맷도 굉장히 초보적이었으며, hft 파일 내부에 자기의 이름이나 제조사, 저작권/코드 페이지 정보 같은 것도 없었다. 오로지 윤곽선 벡터 드로잉의 컬렉션이었으며 이를 활용하는 방법은 전적으로 상위의 응용 프로그램에 달려 있었던 것이다.

그 당시 아래아한글 2.0 일반용 수준의 퀄리티와 가격에다, 윤곽선 글꼴 표현으로 아래아한글과 경쟁하던 프로그램으로 "21세기 워드"라는 게 있었다. 오늘날 말도 많고 탈도 많은 알툴즈의 개발사로 유명한 이스트소프트의 작품이다. 얘를 구경 못 한 채 어린 시절을 보낸 건 좀 아쉽다.

Note:

윈도우 3.1이 도입한 트루타입 글꼴은 어마어마하게 정교한 힌팅으로 유명했으며 이 기술을 이용하여 작은 크기에서도 상당히 좋은 품질의 자형을 제공했다. Arial이나 Times New Roman 같은 글꼴이 12포인트 이하의 작은 크기에서 antialiasing이 없을 때도 마치 비트맵 글꼴처럼 품질이 좋은 동시에 ClearType도 잘 받는 이유가 여기에 있다. 아예 굴림체처럼 내장 비트맵을 쓰는 글꼴은 ClearType의 영향은 받지 못한다.

윈도우 3.1 글꼴을 납품한 업체는 당시 우리나라의 유망 중소기업이던 큐닉스 컴퓨터이다. 아예 비트맵을 내장하는 게 아니라 힌팅만으로 바탕, 굴림, 돋움, 궁서 자형을 작은 크기에서 꽤 좋은 품질로 잘 만들었던 걸로 기억한다. 물론 윈도우 95 이후의 한양 시스템 서체는 아예 전부 내장 비트맵으로 대체를 해 버렸지만 말이다.

하지만 도스에서 윤곽선 글꼴을 구현하던 "싸제" 프로그램들은 그런 힌팅까지 구현할 정도로 전문적일 수는 없었다.

Posted by 사무엘

2010/01/11 10:20 2010/01/11 10:20
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/91

TTF의 글립 개수 제한

오늘날 운영체제의 표준 글꼴 포맷으로 널리 쓰이고 있는 TTF 내지 OTF는 내부적으로 쓰는 각종 구조체들이 기술하는 글립의 영역 크기가 16비트로 제한되어 있다.

이것은 TTF 파일이 제정되던 초창시에는 아주 넉넉하고 인심 쓴 공간이었다. 겨우 8비트 크기의 코드 페이지에 맞춰진 글꼴밖에 없던 서양에서, 그나마 “수천 자의 2바이트 한자를 써야 하는 동아시아 문자권”까지 국제화 차원에서 고려한답시고 크기를 넓힌 게 16비트였다. 무슨 포스트스크립트 글꼴은 그것마저 지원 안 돼서 한글 글꼴은 여러 파일로 나눠서 표현해야 하지 않았던가. 쓸데없이 비트 수가 크면, 쓰는 영역에 비해 불필요한 0만 뒤에 잔뜩 달라붙고 글꼴 래스터라이저를 더욱 ‘무겁게’ 만들게 된다.

하지만 지금은 시대가 달라졌다. 아무리 작은 임베디드 기기라도, 일단 사람과 직접적인 의사 소통을 하는 기계의 CPU는 일단 최하 32비트는 기본으로 먹고 들어간다. 실용적으로 가장 적합하면서도 가상 메모리라든가 현대적인 운영체제 기본 개념을 제대로 구현할 수 있는 최소한의 CPU 규모가 32비트가 아닌가 한다.

메모리 자원은 넉넉해지고 국제화의 중요성은 엄청 커졌다. 그래서 한컴바탕이라든가 Arial Unicode MS처럼, 모든 유니코드 영역 글꼴을 모두 담고 있는 글꼴의 필요성이 대두되고 있다.

아직 모든 문자가 16비트 안의 BMP에 있던 유니코드 2~3.0 시절까지는 그럭저럭 별 문제 없었고 6만 5천여 개라는 글립 개수 제한은 현실적으로 별 영향이 없었다. 하지만 이제 유니코드가 surrogate 영역까지 쓰고 집합 크기가 16비트 크기를 넘어서면서, 이제 단일 글꼴에다 유니코드 전영역 문자를 담을 수가 없어져 버렸다.

더구나 이 16비트라는 크기는 글자 코드 단위가 아니라, 글립이라는 그림 단위이다. 한 코드 페이지에 해당하는 글자가 여러 글립을 차지할 수가 있다. 조합형 한글 글꼴처럼 한 글자를 여러 글립의 묶음으로 표현하는 글꼴이 있다면, 그렇게 부품 글립이 들어가는 자리를 글립 인덱스 상으로 제외해 줘야 한다. 아랍어처럼 한 글자가 상황에 따라 여러 글립 중 하나로 달리 표현되는 문자가 있다면, 그런 것까지 고려해야 하기 때문에 실질적으로 표현 가능한 문자 개수는 더욱 줄어든다.

지금 컴퓨터의 두뇌가 32비트와 64비트 사이에서 달랑달랑 거리는 것처럼, 글꼴 쪽은 16비트 크기라는 글립 개수 한계를 어떻게 초월해야 할지 고민 중이다. 당연히 TTF 규격상으로 각종 구조체의 필드를 확장하고 새 버전 식별자만 부여하면 문제는 해결된다. 하지만 온갖 테이블들의 내부에서 바꿔야 하는 게 너무 많고 이 새로운 TTF는 이전의 어떤 운영체제/응용 프로그램에서도 인식 못 하는 듣보잡 포맷이 되고 말 것이다. 결국 문제는 호환성이다. =_=;;

Posted by 사무엘

2010/01/11 09:49 2010/01/11 09:49
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/71

베지어 곡선으로 표현한 원

사용자 삽입 이미지
밝은 초록색 선은 정석적인 원그리기 알고리즘으로 그린 진짜 원.
파란색 선은 제어점이 2개인 3차 베지어 곡선 하나로 사분원을 흉내낸 것,
그리고 빨간색 선은 제어점이 하나인 2차 베지어 곡선 두 개로 사분원을 흉내낸 것입니다.

베지어 곡선으로 원을 수학적으로 100% 정확하게 기술할 수는 없습니다.
단지 제어점을 잘 배치해서 원과 굉장히 비슷하게 생긴 곡선만을 그릴 수 있을 뿐입니다.

그래도 곡선이 그려진 곳에 초록색 점을 거의 찾을 수 없는 걸 알 수 있는데요, 3차 베지어 곡선(파란)만 해도 원하고 실용적으로 아무 차이가 없을 정도로 잘 근사해 냅니다.

빨간 선인 2차 베지어 곡선도 파란 선(≒ 원)과 상당히 일치하긴 하지만 그래도 파란 선이 초록 선과 일치하는 것만치 일치하지는 못합니다. 미묘하게 서로 살짝 어긋나는 오차가 보이죠?
(2차 곡선 여러 개를 모아도 3차 곡선을 근사만 할 수 있을 뿐 정확하게 일치시킬 수는 없습니다.)

컴퓨터의 벡터 드로잉에서 쓰이는 곡선들은 다 베지어 곡선(또는 이와 수학적으로 동일한 형태로 변형할 수 있는 다른 스플라인)입니다.
특히 트루타입 폰트가 쓰는 곡선은 2차 베지어 곡선이기 때문에 이렇게 빨간 선을 표현하는 방식과 동일한 방식으로 O, 이응, ● 같은 글자가 표현된다고 생각하시면 정확합니다.

Posted by 사무엘

2010/01/11 00:20 2010/01/11 00:20
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/49


블로그 이미지

철도를 명절 때에나 떠오르는 4대 교통수단 중 하나로만 아는 것은, 예수님을 사대성인· 성인군자 중 하나로만 아는 것과 같다.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2019/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Site Stats

Total hits:
1296702
Today:
176
Yesterday:
420