From - Tue Jun 29 13:51:55 1999
Path: xfer.HanQ.net!newsfeed.dacom.co.kr!news.bora.net.POSTED!not-for-mail
Sender: cjh@hamhae.wdb.co.kr
Newsgroups: han.comp.text,han.comp.os.freebsd,han.comp.os.linux,han.comp.os.unix
Followup-To: han.comp.text
Subject: X-TT: 내장 비트맵 쓰기
X-URL: http://www.kr.freebsd.org/~cjh
MIME-Version: 1.0
Content-Type: text/plain; charset="euc-kr"
Content-Transfer-Encoding: 8bit
From: "CHOI, Junho" <cjh@wdb.co.kr>
Message-ID: <86vhc9hs9w.fsf@hamhae.wdb.co.kr>
Lines: 97
X-Newsreader: Gnus v5.5/Emacs 20.3
Date: Mon, 28 Jun 1999 04:18:16 GMT
NNTP-Posting-Host: 210.92.121.137
X-Trace: news.bora.net 930543496 210.92.121.137 (Mon, 28 Jun 1999 13:18:16 KST)
NNTP-Posting-Date: Mon, 28 Jun 1999 13:18:16 KST
Organization: Dacom
Xref: xfer.HanQ.net han.comp.os.freebsd:1597 han.comp.os.linux:40256 han.comp.os.unix:9204
 

X-TT를 쓰는 분들 중 불만 하나가 글꼴이 윈도우에서 쓰는것만틈 깨끗하지
않다는 것인데, 최근에 그 해결책이 제시되었습니다.

Technical Background:

 트루타입에는 대충 한 글자를 만들기 위해 다음 4가지 방법을 사용할 수
 있습니다.
  1. 윤곽선 단일 글자(outline glyphs)
  2. 윤곽선 조합 글자(outline composite glyphs)
  3. 내장 비트맵 단일 글자(embedded bitmap)
  4. 내장 비트맵 조합 글자(embedded composite bitmap. strike?)

현재의 FreeType-1.2는 1과 2만을 지원합니다. 따라서 글꼴의 미려한
표시를 위해 특정 크기에서 내장 비트맵을 사용하는 글꼴의 경우(윈도우의
굴림/바탕/돋움/궁서) 3과 4를(특히 한글은 4) 사용하는데, FreeType-1.2가
이것을 지원하지 않으므로 예쁜 글씨를 볼 수 없었습니다. (물론 알짜 6.0
상용버전을 사면 이 글꼴이 비트맵으로 들어있습니다)

최근에 FreeType-1.3-current에 3과 4의 지원이 추가되었습니다. 따라서
X-TT와 FreeTYpe-1.3-current를 사용하면 미려한 글꼴 출력을 얻을 수
있습니다!

필요사항:
  X-TT 1.2.1
    http://hawk.ise.chuo-u.ac.jp/student/person/tshiozak/x-tt/dists
  X-TT 1.2.1용 FreeType-1.3-current+embedded bitmap 패치
    http://member.nifty.ne.jp/musique/ft-EB/dists/
     xtt-1.2.1-for-FT1.3.19990522.diff.bz2
  FreeType 1.3-current
    이건 매일 다시 올라옵니다. 적어도 6월 25일 이후 것을 쓰면 됩니다.
    ftp://ftp.freetype.org/pub/freetype/devel/freetype-current.tar.gz
  그리고 내장 비트맵을 쓰는 트루타입 글꼴

컴파일:
  주의할 것은 FreeType 1.3-current를 설치하고 X-TT를 컴파일하는데,
  X-TT를 빌드하기 전에 X-TT용 FreeType-current패치를 해야 하는 겁니다.
  이정도는 알아서 하시면 되고... 혹 FreeType-1.2등을 같이 쓴다면
  정말로 1.3-current를 쓰도록 빌드되었는지 확인해 보세요.

  FreeType-1.3에는 ftview -B이나 ftsbit명령으로 내장 비트맵을 볼 수
  있습니다. 내장 비트맵이 있는지는 ftdump명령으로 볼 수 있습니다.

  % ftdump gulim.ttc

  ....
  embedded bitmap table
  -------------------------------------------------------------------------

 version of embedded bitmap table:  131072
 number of embedded bitmap strikes: 15
  bitmap strike 1/15: 11x11 pixels, 1-bit depth, glyphs [66..937]
      range format (3:2) glyphs 66..160
      range format (3:2) glyphs 843..937
  bitmap strike 2/15: 12x12 pixels, 1-bit depth, glyphs [66..51910]
      range format (3:2) glyphs 66..160
      range format (3:2) glyphs 843..937
      range format (2:5) glyphs 1620..1746

  위와 같이 내장 비트맵 테이블이 나오면 됩니다.
 

사용:
  fonts.dir을 셋업할때 eb=y를 추가해 주면 됩니다. 예를 들면:

vl=y:eb=y:fn=2:gulim.ttc       -hanyang-Dotum-medium-r-normal--0-0-0-0-c-0-ksc5601.1987-0
vl=y:eb=y:fn=2:gulim.ttc       -hanyang-Dotum-medium-o-normal--0-0-0-0-c-0-ksc5601.1987-0
vl=y:eb=y:fn=3:gulim.ttc       -hanyang-DotumChe-medium-r-normal--0-0-0-0-c-0-ksc5601.1987-0
vl=y:eb=y:fn=3:gulim.ttc       -hanyang-DotumChe-medium-o-normal--0-0-0-0-c-0-ksc5601.1987-0

  vl옵션은 Very Lazy로, 메트릭이나 비트맵을 되도록이면 나중에 얻으므로
  성능을 조금(그러나 하면서) 향상시켜 줍니다.  이거 안하면 너무 뜨는데
  느려서... 혹 eb옵션과 잘 안될지도 모릅니다. :)

화면 맛보기:
  돋움체와 굴림체 샘플을 다음 URL에 두었습니다. 관심있으면 한번
  보시길..

  http://www.kr.freebsd.org/~cjh/freetime/x11/xtt/dotum.gif
  http://www.kr.freebsd.org/~cjh/freetime/x11/xtt/gulim.gif
 

주의:
 뜨는데 무지 느릴 수 있습니다. 좋은 컴퓨터를 쓰거나 xfs대신 (저같으면
 테스트 때문에 xfs를 씁니다만) X서버에 직접 링크하면 더 빠르겠죠.

테스트 환경:
 FreeBSD 3.2-STABLE
 X-TT 1.2.1+FreeType-current patch(xfs only)
 XFree86 3.3.3.1
 FreeType 1.3-current(6/28일자)

--
 ** Any opinions in this posting are my own and not those of my employers **
 CHOI, Junho                       <mailto:cjh@kr.freebsd.org>
 - Korea FreeBSD Users Group       <http://www.kr.freebsd.org/~cjh>
 - Web Data Bank Co. Seoul., ROK.  <http://www.wdb.co.kr> (+82-2-554-9676)