다음 이전 차례

4. X에서 글꼴을 사용할 수 있게 하기

X에 글꼴을 추가하는 방법은 여러 가지가 있다. XFree86은 글꼴을 찾아볼 여러 디렉터리와 글꼴 서버의 목록인 글꼴 경로를 갖고 있다. 글꼴 서버란 XFree86가 글꼴을 사용할 수 있도록 해주는 백그라운드 프로세스다. 글꼴 서버의 장점은 원격 디스플레이에도 글꼴을 보내 줄 수 있다는 점이다.

최근 xfs("X font server")가 트루타입 글꼴을 지원하고, 독립적인 (stand-alone) 프로그램으로 동작하도록 패치가 이루어졌다. 패치된 버젼은 레드햇과 레드햇에 기반한 배포판에 들어있으며, XFree86의 3.9.17에 포함되어 있다. (이것이 이 글을 쓰는 시점의 최신 버젼이다. 패치된 xfs는 XFree86 4.0에도 일부분으로 포함될 예정이다.) xfs는 사실 XFree86의 표준 글꼴 서버이며, 그 소스 코드는 XFree86의 소스 트리의 일부이다. 하지만, 최근의 배포판에는 XFree86과 독립적으로 동작하는 버젼이 들어있다. 트루타입을 지원하는 패치가 가해진 독립적인 X 글꼴 서버는 아마도 현재 가능한 최선의 글꼴 관리 방법일 것이다. (트루타입에 대한 지원은 xfsft라 불리는 글꼴 서버에 의해 이루어진다.) 이런 방식은 다음과 같은 장점을 갖는다.

여러 배포판이 저마다 다른 설정을 가지고 있기 때문에, 한 가지 방식으로 모든 배포판에 대응할 수는 없다. 다음과 같은 세 가지 그룹으로 나누어 설명하자.

4.1 글꼴 경로(The font path)

XFree86은 글꼴 경로라 불리는 글꼴이 들어있는 디렉터리(혹은 서버들 -- 여기에 대해서는 나중에 더 설명한다)의 목록을 검색함으로써 글꼴을 찾는다. 응용 프로그램이 어떤 글꼴을 요구하면, XFree86은 그 글꼴이 발견될 때 까지 글꼴 경로에 들어있는 디렉터리들을 하나 하나 검색한다. 따라서 글꼴을 사용할 수 있도록 하려면, 글꼴 경로를 지정해야 한다. 다음의 명령으로 글꼴 경로에 임의의 디렉터리를 추가할 수 있다.

        xset fp+ directory
        
일단 이 명령을 수행한 다음에는 X 서버가 가능한 글꼴을 다시 조사하도록 다음의 명령을 내려야 한다.
        xset fp rehash
        
이 명령이 자동적으로 수행되기를 원한다면, 자신의 .xinitrc 파일에 넣어두어야 한다. (혹은 .Xclients.xsession 파일에 넣어도 된다. 어느 파일에 넣는가는 X를 실행시키는 방식에 따라 다르다. 혼란을 피하기 위해서는 이 파일들을 심볼릭 링크시켜두도록 한다.) 이런 명령들이 자동적으로 실행되도록 하는 또다른 방법은 XF86Config 파일을 편집하는 것이다. 예를 들어 /usr/share/fonts/myfonts 디렉터리를 X가 시작될 때 글꼴 경로에 추가하려면 XF86Config를 다음과 같이 편집한다.
                ...
                Section "Files"
                ...
                
                FontPath /usr/share/fonts/myfonts
                ...
                EndSection
                ...
XF86Config를 편집했을 때의 장점은 시스템 전체에 걸쳐 변화를 준다는 것이다.

4.2 타입1 글꼴의 설치

type1inst 실행하기

타입1 글꼴을 X에서 사용가능하게 하는 가장 쉬운 방법은 Type1inst 유틸리티의 도움을 받는 것이다. 이 유틸리티는 타입1 글꼴을 X에서 쓰기 위해 필요한 fonts.dir와 fonts.scale 파일들을 자동적으로 만들어주는 펄스크립트이다. 간단히 글꼴 디렉터리로 이동해서, type1int를 수행한다.

        cd directory
        type1inst
        

xfs 꾸러미를 가지고 있을 경우

이제 타입1 글꼴을 글꼴 경로에 추가해야 한다. 이미 독립적인 xfs가 수행되고 있다면, xfs의 설정 파일을 편집하면 된다. 레드햇 사용자라면 chkfontpath 를 사용하기만 하면 된다. 형식은 다음과 같다. chkfontpath --add directory

이제 설치한 타입1 글꼴을 X에서 쓸 수 있게 되었다. 다음에는

        xset fp rehash
        
를 수행하기만 하면, X가 새로운 글꼴을 찾을 수 있게 될 것이다.

xfs 꾸러미가 없을 경우

이 경우에는 앞에서 설명한 것과 같이, 새로운 글꼴이 들어있는 디렉터리를 글꼴 경로에 추가해 주어야 한다.

4.3 트루타입 글꼴(True Type Fonts)

트루타입 글꼴을 추가하는 것은 타입1보다 어렵다. 트루타입 글꼴을 지원하는 글꼴 서버를 갖고 있어야 하기 때문이다. 이런 기능을 제공하는 것에는 xfstt와 xfs의 두 가지 글꼴 서버가 있다.

xfstt는 트루타입 글꼴 서버이다. 이쪽이 설정이 간편하고 상당히 유용함에도 불구하고, xfs가 더 인기를 얻어가는 듯하다. xfstt에 비해 볼 때, xfs의 주된 장점은 타입1과 트루타입 양쪽을 모두 지원한다는 점이다.

xfstt

xfstt를 사용하려면 다운받아서 설치하기만 하면 된다. rpm 기반의 배포판이라면 http://independence.seul.org/ 에 잘 패키징된 버젼이 있다. xfstt를 설치한 다음에는 다음과 같이 해 주어야 한다.

  1. 글꼴을 적절한 디렉터리에 설치한다. (꾸러미에 딸려오는 문서를 읽자.)
  2. 그 디렉터리로 가서 xfstt --sync를 실행한다. 이 명령은 xfstt에게 글꼴을 찾아서 fonts.dir 파일을 만들라고 하는 것이다.
  3. 이제 unix/:7100를 글꼴 경로에 더한다.
이제 트루타입 글꼴이 GIMP나 넷스케이프같은 응용 프로그램에 표시되고 사용될 수 있어야 한다. xfstt가 시스템이 시작될 때마다 실행되도록 설정하고 싶을 수도 있다. 먼저 시작(startup) 파일이 꾸러미에 포함되어 있는지 확인하자. (RPM을 쓰고 있다면 rpm -ql xfstt |grep init를 이용할 수 있다. 그리고 나서 /etc/rc.d/init.d/xfstt 등의 이름을 가진 파일을 살펴보자.) 만약 시작 스크립트가 없다면, /etc/rc.local 디렉터리에 다음의 두 줄(시스템에 따라 조금 다를 수도 있다)을 가진 스크립트를 만들어 넣으면 된다.
        /usr/X11R6/bin/xfstt --sync
        /usr/X11R6/bin/xfstt &
        

4.4 xfs

근래 나오는 리눅스 배포판 중에는 독립된 프로그램으로 작동하도록 설정된 X 글꼴 서버 xfs가 들어 있는 것들이 있다. 특히, 레드햇 및 레드햇 기반의 배포판들이 이렇게 트루타입을 지원하도록 컴파일된 모듈방식의 xfs를 사용하고 있다. 데비안에도 xfs가 들어있지만, 데비안의 xfs는 트루타입을 지원하도록 되어 있지 않다.

xfs를 독립적인 서버로 돌리는 것은 여러 가지 이점을 갖고 있다. 특히 트루타입을 지원하도록 컴파일되어 있다면 장점은 더욱 두드러진다. 주된 장점은 글꼴 서버가 더이상 X 서버에 결합되어 있지 않기 때문에, 원격 디스플레이로 글꼴을 제공할 수 있다는 점이다. 아울러 글꼴 경로를 변경하는 것도 훨씬 쉽게 되었다.

xfs 경로

xfs는 글꼴 서버로서 자체의 글꼴 경로를 갖는다. 이 패스가 X에서의 글꼴 사용이라는 전체 그림 상의 어느 부분에 해당되는지 궁금할 것이다. xfs는 다음과 같은 방식으로 작동한다. XFree86의 글꼴 경로에 unix/:port를 추가함으로써 xfs 글꼴 서버를 XFree86의 글꼴 경로에 넣는다. 이렇게 하면 자동적으로 xfs의 글꼴 경로 안에 있는 모든 글꼴을 XFree86에서 사용할 수 있게 된다.

xfs의 글꼴 경로는 xfs의 설정 파일에 의해 결정되는데, 이 설정 파일은 레드햇에서는 /etc/X11/fs/config이고, 데비안에서는 /etc/X11/xfs/config이다. 레드햇 사용자라면 이 파일을 직접 편집할 필요없이 chkfontpath라는 유틸리티를 사용할 수 있다. 사용법은 간단하다.

        chkfontpath --add directory
        
다른 배포판의 사용자는 다음과 같이 설정 파일을 편집할 수 있다.
        catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
        ...
        /usr/share/fonts/my_new_fonts/,
        ...
        /usr/share/fonts/some_other_directory
        # in 12 points, decipoints
        default-point-size = 120
        ...
        
위의 예는 /usr/share/fonts/my_new_fonts/ 디렉터리를 xfs의 글꼴 경로에 더하는 것이다. 디렉터리 목록의 마지막 줄 끝에 쉼표가 없다는 것에 주의하여야 한다. 글꼴 경로를 이렇게 바꾼 것이 효과를 내기 위해서는 xfs를 다시 시작시켜야 한다. xfs를 다시 시작시킨 다음에 X를 다시 시작시키는 것도 좋은 생각이다.

xfs에 글꼴을 설치하기

xfs에서 글꼴을 사용하기 위해서는 다음과 같은 단계를 거쳐야 한다.


다음 이전 차례