리눅스 상에서 WISIWYG 인쇄를 위해 글꼴을 설치하는 것은 상대적으로 복잡한 과제다. 이 작업은 보통 세 단계로 이루어진다.
좋은 소식은 대부분의 WYSIWYG 응용 프로그램들이 이 문제에 대해 적당한 해법을 사용하고 있다는 것이다. 이 해법에는 화면 글꼴과 인쇄 글꼴 사이의 일종의 대응 관계를 만드는 것이 포함된다. (이 대응 관계가 주된 문제다. 이 밖에 굵은 변형꼴과 기울인 변형꼴, 로만 변형꼴을 하나의 글꼴 "족"으로 묶는 방법 등 다른 문제들도 있다. 불행히도, 이런 방법들에 표준이 없다. 이런 문제들을 해결하는 글꼴 관리 표준이 있다면, 모든 응용 프로그램들이 프로그램에 따라 다른 설정 대신 시스템 공통의 설정을 사용할 수 있으므로, WYSIWYG 인쇄 시스템에 글꼴을 설치하는 것은 훨씬 간단해 질 것이다.
애플릭스웨어에 글꼴을 설치하는 데에는 두 가지 방법이 있다. 한 가지 방법은 애플릭스웨어 고유의 글꼴 서버인 폰타스틱을 사용하는 방법이다. 다른 하나는 이미 시스템에 설치되어 있는 글꼴을 사용하도록 애플릭스웨어의 fontmap을 편집하는 것이다. 글꼴 서버에 설치하는 쪽이 더 간편하지만, 이런 식으로 설치되는 글꼴은 300 dpi로만 인쇄될 수 있다.
폰타스틱을 사용하는 것이 글꼴을 설치하는 쉬운 방법이다. 새로운 글꼴을 설치하려면 단지 다음과 같이 하면 된다.
이 방법은 좀 더 복잡하지만, 더 좋은 결과를 얻을 수 있다. 글쓴이는 정말 중요한 글꼴, 많이 사용하는 글꼴이라면 이 방법을 사용하도록 권한다. 이 방법은 몇 가지 단계로 이루어진다.
이 단계에 대해서는 앞 절에서 설명했다.
이 단계에 대해서도 앞 절에서 설명했다.
이 단계가 애플릭스에서 글꼴을 사용할 수 있도록 하기 위한 마지막 단계이며, 아울러 가장 많은 시간이 필요한 단계이다. fontmap.dir 파일은 애플릭스가 설치된 디렉터리 아래의 axdata/fontmetrics에 들어있다. 이 단계의 목적은 기본적으로 애플릭스에게 어느 스크린 글꼴이 어느 외곽선 파일에 대응되는지 알려주는 것이다. 스크린 글꼴이 항상 응용 프로그램이 설치된 컴퓨터에 있지는 않기 때문에, 이것은 그렇게 단순한 문제가 아니다.
여기서는 fontmap.dir에 글꼴을 추가하는 방법을 기술하기로 한다. 이 예에서는 Baskerville Italic 글꼴을 추가해 본다.
Slant = 1을 추가하고, 굵은 글꼴이면
Weight = 1을 추가한다. 만일 굵은 기울인 글꼴이라면 두 줄 모두를 더한다. 이 예에서는 다음의 줄 만을 더한다.
Slant = 1
ScreenName = "-paradise-baskerville-medium-i-normal--0-0-0-0-p-0-iso8859-1"ScreenName은 X 서버가 사용하는 글꼴 이름이다. "bask"라는 문자열을 포함하는 글꼴 이름들을 알아내려면
xlsfonts|grep -i bask라고 입력하면 된다.
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
이 설정 파일을 가지고 더 많은 일들을 할 수도 있다. 파일 자체에 설정 파일의 형식을 설명해주는 용어 해설이 들어있으므로 참고하라.
여기서는 스타오피스 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 글꼴을 스타오피스에 추가하는 것은 비교적 간단하다.
스타오피스 5.0에서 트루타입 글꼴을 사용하고 싶다면, 가장 좋은 방법은
타입1 글꼴로 변환한 뒤 여기에서 간단히 설명하는 과정을 따르는 것이다.
스타오피스 5.1을 갖고 있다면 (약간 더 어렵기는 하지만) 타입1으로 변환하는
대신 트루타입 글꼴을 설치하는 과정을 이용할 수도 있다.
먼저, 여느 때처럼 X와 고스트스크립트에서 글꼴을 쓸 수 있도록 한다.
이 작업이 끝나면, psetup
을 사용하여 글꼴을 스타오피스에 설치할
수 있다. 과정은 다음과 같다.
스타오피스에 트루타입 글꼴을 추가하는 것은 간단한 일은 아니지만, 가능하다. 고역을 치르고, John McLaughlin's page 를 오랜 시간 읽은 끝에, 글쓴이는 마침내 스타오피스 5.1에서 트루타입 글꼴이 작동하도록 했다. 여기서 설명하는 것은 버젼 5.0에서는 통하지 않는다는 것에 주의하기 바란다. 다음의 절차들은 고스트스크립트를 통해 인쇄를 하고 있을 경우, 적절하다.
afm
파일을 가지고 있어야 하므로,
afm
파일을 만들기 위해
ttf2pt1 -A foo.ttf - > foo.afm명령을 사용한다. 다른 방법으로는,
ttf2afm
을 사용할 수도 있다.
이 방법의 장점은 여러 개의 글꼴을 다음의 예와 같이 한 번에 처리할 수
있다는 것이다.
ttf2afm *.ttf
ttf
파일에 대응하는 pfb
파일이
필요한데, 다음의 명령으로 만들 수 있다.
touch foo.pfb사실 스타오피스는 이 파일을 인쇄를 위해서만 사용한다. 그리고 글꼴을 PPD 안에 집어넣어서 (고스트스크립트의 표현 체계 내에 실제로 글꼴이 들어있을 경우) 스타오피스가 글꼴이 프린터에 내장된 것으로 인식하도록 하고나면, 이 .pfb 파일을 사용할 필요가 없어진다. 스타오피스는 단지 글꼴을 설치하기 위해서
pfb
파일을 요구하는
것으로 보인다.spadmin
을 실행시킬 수 있다.foobar.ttf
이고 대응하는 afm
파일은
foobar.afm
이라면, PPD 파일에서 글꼴을 지시하기 위해서
"foobar"라는 이름을 써야 한다. 목록은 다음과 같은 꼴이어야 한다.
*Font cloistrk: Standard "(001.002)" Standard ROM
한편, 고스트스크립트를 이용하여 인쇄하지 않는다면, 다룰 문제가 다르다.
이 경우, 프린터가 설치하려는 트루타입 글꼴을 가지고 있다고 스타오피스를
속이는 것은 좋은 생각이 아니다. 프린터의 ROM에는 그 글꼴이 없으므로,
gv
는 포스트스크립트 파일을 깨끗하게 보여주더라도 프린터는 그 파일을
프린트할 수가 없을 것이기 때문이다.
포스트스크립트 프린터를 가지고 있을 경우, 주된 차이점은 다음과 같다.
pfb
파일을 만들기 위해 touch foo.pfb
를 쓰면
안된다. 그 대신, 타입42 포스트스크립트 글꼴로 된 pfb
파일이
필요하다. 타입42 글꼴은 실은 "printer TrueType font"이다.
대부분의 응용 프로그램들이 타입42 글꼴을 알아서 처리하기 때문에,
이 형식의 글꼴을 쓰더라도 실제로 타입42 글꼴을 사용자가 인식하는 일은
거의 없다.
타입42 글꼴을 만들기 위해서는
ttfps
를 쓴다.
ttfps foo.ttf foo.pfb
몇 가지 지저분한 것들(gotchas)이 있다. 스타오피스는 가끔 사용자가 원하는
스크린 글꼴을 사용하지 않을 때가 있다. 때때로 xp3/psstd.fonts
를
확인할 필요가 있으며, 정말 스크린 표시용으로 마음에 두고 있는 글꼴을
스타오피스가 사용하는 것을 확실히 하기 위해 이 파일을 편집할 수도 있다.
사용하도록
또, 스타오피스는 설정 문제를 우아하게 다루지 못한다. 만약 설정에 잘못이
있으면, 워드 프로세서가 시작조차 못할 수도 있다. 때문에 xp3
디렉터리를 백업해 두어야 한다.
트루타입 글꼴을 스타오피스에 설치하고 싶다면, 스타오피스가 작동하는 방식을
배울 필요가 있다. spadmin
이나 psetup
을 실행하면,
다음과 같은 일들이 일어난다.
xp3/pssoftfonts
디렉터리안에 pfb
외곽선 파일로의 심볼릭 링크를 만든다.afm
파일이 xp3/fontmetrics/afm/
디렉터리 안으로
복사된다.xp3/psstd.fonts
파일에 추가된다. 이 파일은
스타오피스가 사용하는 모든 스크린 글꼴의 이름을 저장하고 있다.
(특히 스크린 글꼴을 외곽선 파일의 이름으로 대응시킨다.)이것이 간단히 xp3
디렉터리 전체를 백업해 두는 것이 좋은 까닭이다.
xp3
디렉터리의 백업은 스타오피스의 설정을 깨끗하게 복구하는
가장 손쉬운 방법이다.
아직 아무 것도 정리하지 못했다. 워드퍼펙에 글꼴을 설치하는 데 관해서는 Rod Smith's webpage 가 훌륭한 자료원이다.