다음 이전 차례

7. WYSIWYG 출판과 글꼴

7.1 소개와 개관

리눅스 상에서 WISIWYG 인쇄를 위해 글꼴을 설치하는 것은 상대적으로 복잡한 과제다. 이 작업은 보통 세 단계로 이루어진다.

이렇게 복잡해지는 것는 글꼴 인쇄 시스템(고스트스크립트)가 화면 글꼴 시스템과 연결되어 있지 않기 때문이다. 이를테면, 리눅스에서는 오른손이 하는 일을 왼손이 모르는 것이다. 이 문제를 해결하는 것은 간단한 일이 아니다. 인쇄용 글꼴과 화면용 글꼴이 서로 다른 기계에 존재하는 것이 가능하고, 따라서 X 클라이언트가 사용하는 모든 글꼴이 인쇄 가능하다는 보장이 없기 때문이다.

좋은 소식은 대부분의 WYSIWYG 응용 프로그램들이 이 문제에 대해 적당한 해법을 사용하고 있다는 것이다. 이 해법에는 화면 글꼴과 인쇄 글꼴 사이의 일종의 대응 관계를 만드는 것이 포함된다. (이 대응 관계가 주된 문제다. 이 밖에 굵은 변형꼴과 기울인 변형꼴, 로만 변형꼴을 하나의 글꼴 "족"으로 묶는 방법 등 다른 문제들도 있다. 불행히도, 이런 방법들에 표준이 없다. 이런 문제들을 해결하는 글꼴 관리 표준이 있다면, 모든 응용 프로그램들이 프로그램에 따라 다른 설정 대신 시스템 공통의 설정을 사용할 수 있으므로, WYSIWYG 인쇄 시스템에 글꼴을 설치하는 것은 훨씬 간단해 질 것이다.

7.2 애플릭스웨어(Applixware)

애플릭스웨어에 글꼴을 설치하는 데에는 두 가지 방법이 있다. 한 가지 방법은 애플릭스웨어 고유의 글꼴 서버인 폰타스틱을 사용하는 방법이다. 다른 하나는 이미 시스템에 설치되어 있는 글꼴을 사용하도록 애플릭스웨어의 fontmap을 편집하는 것이다. 글꼴 서버에 설치하는 쪽이 더 간편하지만, 이런 식으로 설치되는 글꼴은 300 dpi로만 인쇄될 수 있다.

폰타스틱(FontTastic)

폰타스틱을 사용하는 것이 글꼴을 설치하는 쉬운 방법이다. 새로운 글꼴을 설치하려면 단지 다음과 같이 하면 된다.

  1. root로서 애플릭스웨어를 실행한다.
  2. tools 메뉴 버튼을 클릭한다.
  3. "Font Installer"를 선택한다.
  4. 팝업 대화상자에서 "OK"에 표시한다.
  5. "Catalogs" 메뉴를 클릭하고 "create"를 선택한다.
  6. catalog name 박스를 채운다. 이 박스에 무엇을 써넣건 상관없다. 이 예에서는 "foobar"라고 했다고 가정하기로 한다.
  7. 카탈로그 조작 목록에서 foobar 카탈로그를 선택한다.
  8. "Services" 메뉴에서 "install fonts into -> FontTastic font server"를 선택한다.
  9. 카탈로그 목록에서 foobar 카탈로그가 선택되어 있는지 확인한다. 다음에는 "select files" 버튼을 누른다.
  10. 설치하려는 글꼴을 고르기 위해 select files 대화상자를 사용한다. 해당하는 파일을 선택한 뒤 "OK"를 누른다. 예컨데 /usr/share/fonts/ttfonts/ 디렉터리에서 arial.ttf를 선택하려면, "Current Directory" 대화상자 안에 /usr/share/fonts/ttfonts를 입력하고 "OK"를 클릭한다. 여러 개의 파일을 선택할 수도 있지만, 모두 같은 디렉터리에 있어야 한다는 점에 주의하도록 한다.
  11. 목록 박스 안의 글꼴을 체크하고, 필요하다면 박스 안의 글꼴을 삭제하거나 이름을 바꿈으로서 목록을 편집할 수 있다.
  12. 준비가 끝났다면, "install fonts" 버튼을 클릭한다. 다음에는 "OK"를 클릭한다.
  13. "services" 메뉴로 가서 "update"를 선택한다. annoying modal 대화상자에서 "OK"를 체크하고, services 메뉴에서 exit를 선택한다. 애플릭스웨어를 종료한다.
  14. 작업 완료를 축하한다. 새로운 글꼴은 애플릭스를 다시 시작했을 때부터 사용가능할 것이다.

애플릭스웨어에서 시스템 글꼴을 사용하기

이 방법은 좀 더 복잡하지만, 더 좋은 결과를 얻을 수 있다. 글쓴이는 정말 중요한 글꼴, 많이 사용하는 글꼴이라면 이 방법을 사용하도록 권한다. 이 방법은 몇 가지 단계로 이루어진다.

X에서 글꼴을 사용할 수 있도록 한다.

이 단계에 대해서는 앞 절에서 설명했다.

고스트스크립트에서 글꼴을 사용할 수 있도록 한다.

이 단계에 대해서도 앞 절에서 설명했다.

fontmap.dir 편집한다.

이 단계가 애플릭스에서 글꼴을 사용할 수 있도록 하기 위한 마지막 단계이며, 아울러 가장 많은 시간이 필요한 단계이다. fontmap.dir 파일은 애플릭스가 설치된 디렉터리 아래의 axdata/fontmetrics에 들어있다. 이 단계의 목적은 기본적으로 애플릭스에게 어느 스크린 글꼴이 어느 외곽선 파일에 대응되는지 알려주는 것이다. 스크린 글꼴이 항상 응용 프로그램이 설치된 컴퓨터에 있지는 않기 때문에, 이것은 그렇게 단순한 문제가 아니다.

여기서는 fontmap.dir에 글꼴을 추가하는 방법을 기술하기로 한다. 이 예에서는 Baskerville Italic 글꼴을 추가해 본다.

  1. 먼저 FontRecord = Baskerville-Normal-Italic 라는 한 줄을 추가한다. 사실 FontRecord에 쓰는 글꼴 이름은 완전히 마음대로다. 하지만, 이 글꼴 이름은 한 글꼴에 하나씩 있어야 한다. 이 때문에, 고스트스크립트에서 설치할 글꼴에 사용한 이름을 여기서도 사용하는 것이 좋은 습관이다.
  2. 다음에는, Family = Baskerville 라는 한 줄을 적는다. 글꼴의 족(family) 이름은 애플릭스의 글꼴 선택 메뉴에 나타나는 이름이다. 대개 굵은 글꼴, 기울인 글꼴, 로만 글꼴, 굵은 기울인 글꼴 등의 변형꼴이 모두 원래의 글꼴과 같은 족에 속하기 때문에, 여러 글꼴에 하나의 족 이름이 주어진다.
  3. 글꼴이 굵은 글꼴이거나 기울인 글꼴, 굵은 기울임 글꼴이라면, 다음의 줄을 추가하여야 한다. 기울인 글꼴이면
            Slant = 1 
            
    
    을 추가하고, 굵은 글꼴이면
            Weight = 1 
            
    
    을 추가한다. 만일 굵은 기울인 글꼴이라면 두 줄 모두를 더한다. 이 예에서는 다음의 줄 만을 더한다.
            Slant = 1 
            
    
  4. 다음과 같은 줄을 더한다.
            ScreenName = "-paradise-baskerville-medium-i-normal--0-0-0-0-p-0-iso8859-1"
            
    
    ScreenName은 X 서버가 사용하는 글꼴 이름이다. "bask"라는 문자열을 포함하는 글꼴 이름들을 알아내려면
            xlsfonts|grep -i bask
            
    
    라고 입력하면 된다.
  5. 이제 프린터 글꼴의 이름을 지시하는 줄을 다음과 같이 추가한다. PostScriptPrinterName = Baskerville-Normal-Italic
  6. 다음에는 글꼴 메트릭 파일과 외곽선 파일의 위치를 지시해 주어야 한다.
            MetricsFile = /usr/share/fonts/misc/baskvli.afm
            Type1FontFileName = /usr/share/fonts/misc/baskvli.pfb
            
    
    트루타입 파일을 추가한다면, 다음과 같이 afm 파일을 생성하기 위해 ttf2pt1을 사용할 수 있다.
                    ttf2pt1 -A foo.ttf - > foo.afm
                    
    
    (또는 ttfutils 꾸러미를 구해서 ttf2afm를 쓸 수도 있다.) 다음에는 다음과 같은 식으로 써준다.
            MetricsFile = /usr/share/fonts/misc/foo.afm
            
    
    Type1FontFileName 지시자를 포함해서는 안된다. 이 지시자는 고스트스크립트가 처리하도록 한다.

이상이다. 글꼴 일족을 모두 추가했다면, 다음과 같은 식으로 되어 있어야 한다.

        FontRecord = Baskerville-Normal
        Family = Baskerville
        ScreenName = "-paradise-baskerville-medium-r-normal--0-0-0-0-p-0-iso8859-1"
        PostScriptPrintName = Baskerville-Normal
        MetricsFile = /usr/share/fonts/misc/baskvl.afm
        Type1FontFileName = /usr/share/fonts/misc/baskvl.pfb

        FontRecord = Baskerville-Normal-Italic
        Family = Baskerville
        Slant = 1
        ScreenName = "-paradise-baskerville-medium-i-normal--0-0-0-0-p-0-iso8859-1"
        PostScriptPrintName = Baskerville-Normal-Italic
        MetricsFile = /usr/share/fonts/misc/baskvli.afm
        Type1FontFileName = /usr/share/fonts/misc/baskvli.pfb

        FontRecord = Baskerville-Bold
        Family = Baskerville
        Weight = 1
        ScreenName = "-paradise-baskerville-bold-r-normal--0-0-0-0-p-0-iso8859-1"
        PostScriptPrintName = Baskerville-Bold
        MetricsFile = /usr/share/fonts/misc/baskvlb.afm
        Type1FontFileName = /usr/share/fonts/misc/baskvlb.pfb     

        FontRecord = Baskerville-Bold-Italic
        Family = Baskerville
        Weight = 1
        Slant = 1
        ScreenName = "-paradise-baskerville-bold-i-normal--0-0-0-0-p-0-iso8859-1"
        PostScriptPrintName = Baskerville-Bold-Italic
        MetricsFile = /usr/share/fonts/misc/baskvlbi.afm
        Type1FontFileName = /usr/share/fonts/misc/baskvlbi.pfb     

이 설정 파일을 가지고 더 많은 일들을 할 수도 있다. 파일 자체에 설정 파일의 형식을 설명해주는 용어 해설이 들어있으므로 참고하라.

7.3 스타오피스(Star Office)

여기서는 스타오피스 5.0을 다룬다. 스타오피스 5.1에서도, 유틸리티가 psetup 대신 spadmin라고 불린다는 점을 제외하면, 절차는 비슷하다. 이 주제에 대해서는 John McLaughlin's page 가 아주 훌륭한 자료원이며, 다음 내용의 대부분이 위 페이지에서 영감을 얻은 것이라는 점을 먼저 언급해 둔다.

스타오피스 5.0과 5.1 양쪽 모두 시도해 본 결과, 글쓴이는 스타오피스 5.1이 새 글꼴을 추가할 때 더 낫다는 느낌을 받았다. 스타오피스 5.0에는 트루타입 글꼴을 추가하는데 성공하지 못했지만, 스타오피스 5.1에서는 어느 정도 쉬웠다.

시작하기 전에 설정을 백업하자!

설정을 돌이킬 수 없도록 바꿀 경우에는 백업을 해 두는 것이 현명하다. 글꼴을 변경하는 것은 xp3 내의 여러 파일들에 영향을 준다. xp3/psstd.fonts 파일은 반드시 백업해야 하며, 더 나아가 xp3 디렉터리 전체를 백업하기를 권한다. 백업을 작성하려면 자신의 스타오피스 디렉터리로 가서

        tar cvzf xp3.tgz xp3
        
를 실행하면 된다. 백업을 써서 원래 상태를 복구하려면, xp3 디렉터리를 삭제한 다음 압축 파일을 푼다.
        rm -rf xp3
        tar xvzf xp3.tgz
        

스타오피스에 타입1 글꼴 추가하기

타입1 글꼴을 스타오피스에 추가하는 것은 비교적 간단하다. 스타오피스 5.0에서 트루타입 글꼴을 사용하고 싶다면, 가장 좋은 방법은 타입1 글꼴로 변환한 뒤 여기에서 간단히 설명하는 과정을 따르는 것이다. 스타오피스 5.1을 갖고 있다면 (약간 더 어렵기는 하지만) 타입1으로 변환하는 대신 트루타입 글꼴을 설치하는 과정을 이용할 수도 있다. 먼저, 여느 때처럼 X와 고스트스크립트에서 글꼴을 쓸 수 있도록 한다. 이 작업이 끝나면, psetup을 사용하여 글꼴을 스타오피스에 설치할 수 있다. 과정은 다음과 같다.

  1. root로서, psetup을 실행한다. (스타오피스 5.1을 가지고 있다면 spadmin을 실행한다.)
  2. "add fonts" 버튼을 누른다.
  3. 다음으로 넘어가는 가장 쉬운 방법은 "initialize font paths" 버튼을 누르는 것이다. 이렇게 하면 X 글꼴 패스 안에 있는 모든 글꼴 디렉터리의 목록이 스타오피스의 목록 박스에 나타난다.
  4. 설치하려는 글꼴이 들어있는 디렉터리를 선택한 다음, "OK"를 누른다. (이 디렉터리는 박스 안에 있어야 한다.)
  5. "convert all font metrics" 버튼을 클릭한다.
끝이다. 글꼴 설치를 완료했다. 스타오피스를 종료시켜도 된다. (아니면 종료할 때 까지 "OK"를 클릭하던지.) 스타오피스를 다시 시작하면, 새로운 글꼴을 사용할 수 있을 것이다.

스타오피스에 트루타입 글꼴 추가하기

스타오피스에 트루타입 글꼴을 추가하는 것은 간단한 일은 아니지만, 가능하다. 고역을 치르고, John McLaughlin's page 를 오랜 시간 읽은 끝에, 글쓴이는 마침내 스타오피스 5.1에서 트루타입 글꼴이 작동하도록 했다. 여기서 설명하는 것은 버젼 5.0에서는 통하지 않는다는 것에 주의하기 바란다. 다음의 절차들은 고스트스크립트를 통해 인쇄를 하고 있을 경우, 적절하다.

한편, 고스트스크립트를 이용하여 인쇄하지 않는다면, 다룰 문제가 다르다. 이 경우, 프린터가 설치하려는 트루타입 글꼴을 가지고 있다고 스타오피스를 속이는 것은 좋은 생각이 아니다. 프린터의 ROM에는 그 글꼴이 없으므로, gv는 포스트스크립트 파일을 깨끗하게 보여주더라도 프린터는 그 파일을 프린트할 수가 없을 것이기 때문이다. 포스트스크립트 프린터를 가지고 있을 경우, 주된 차이점은 다음과 같다.

몇 가지 지저분한 것들(gotchas)이 있다. 스타오피스는 가끔 사용자가 원하는 스크린 글꼴을 사용하지 않을 때가 있다. 때때로 xp3/psstd.fonts를 확인할 필요가 있으며, 정말 스크린 표시용으로 마음에 두고 있는 글꼴을 스타오피스가 사용하는 것을 확실히 하기 위해 이 파일을 편집할 수도 있다. 사용하도록 또, 스타오피스는 설정 문제를 우아하게 다루지 못한다. 만약 설정에 잘못이 있으면, 워드 프로세서가 시작조차 못할 수도 있다. 때문에 xp3 디렉터리를 백업해 두어야 한다.

덮개 아래

트루타입 글꼴을 스타오피스에 설치하고 싶다면, 스타오피스가 작동하는 방식을 배울 필요가 있다. spadmin이나 psetup을 실행하면, 다음과 같은 일들이 일어난다.

이것이 간단히 xp3 디렉터리 전체를 백업해 두는 것이 좋은 까닭이다. xp3 디렉터리의 백업은 스타오피스의 설정을 깨끗하게 복구하는 가장 손쉬운 방법이다.

7.4 워드퍼펙(Word Perfect)

아직 아무 것도 정리하지 못했다. 워드퍼펙에 글꼴을 설치하는 데 관해서는 Rod Smith's webpage 가 훌륭한 자료원이다.


다음 이전 차례