TeX과 LaTeX에 글꼴을 추가하는 것은 약간 복잡하다. 하지만 많은 일들이 그렇듯이, 어떻게 하는지 알고 나면 이것도 쉬운 일이다. 어떤 글꼴들은 메타글꼴 형식으로, 어떤 글꼴들은 타입1 형식으로 배포된다. 보통 타입1 형식을 이용하는 편이 더 쉽다. 하지만 메타글꼴에는 크기에 따라 형태를 맞춘다는 뛰어난 장점이 있다. 이에 비해 타입1과 트루타입 글꼴의 경우, 크기가 다른 글꼴들은 똑같은 형태를 확대하거나 축소시킨 것일 뿐이다. 크기에 따라 글꼴의 형태가 달라지는 것이 좋은 주된 이유는, 크기 외의 조건들을 무시할 경우, 글꼴은 작은 크기에서는 폭이 비교적 넓어야 하고 크기가 클 때에는 폭이 좁아야 하기 때문이다.
이 절에서는 타입1 글꼴에 촛점을 맞추기로 한다. 타입1이 더 널리 쓰이고, 설치에 더 문제가 많기 때문이다.
LaTex 글꼴에 대해 간단히 알아보기로 하자. LaTeX은 타입1 글꼴을 처리하기 위해 아래와 같은 유형의 글꼴 파일들을 사용한다.
.pl
-- 특성 목록(property list).
이것은 tex 글꼴 메트릭 파일을 사람이 읽을 수 있도록 한 것이다..vpl
-- 가상 특성 목록(virtual property list).
가상 글꼴 파일을 사람이 읽을 수 있도록 한 것..fd
-- 글꼴 정의(font definition).
글꼴의 족(family)을 정의하기 위해 사용된다..tfm
-- TeX 글꼴 메트릭(tex font metric).
용어 해설에서 설명한 바와 같이 메트릭 파일이다. 이 파일은 타입1 글꼴이
사용하는 .afm
파일과 아주 닮았다(completely analogous)..vf
-- 가상 글꼴(virtual font).
이 파일에는 부호화에 대한 세부사항이 들어있으며, 해석기의 역할을 한다.
TeX은 이 가상 글꼴들을 글꼴로서 다룬다. 예를 들어, 적은 수의 (이를테면
20개쯤) 본래 글자를 대신하는 글자(alternate character)로 이루어진
foobar-exp.pfb라는 희한한 글꼴이 있고, 이 대체 글자들 중의 일부를
사용하는 가상 글꼴이 있다고 해보자. (그리고 이 가상 글꼴은 나머지
글자들은 foobar.pfb라는 글꼴에서 가져온다고 하자.)
dvips는 "난 foo.vf 가상 글꼴의 65번 글자가 필요해요"라고 할 것이다.
dvips는 TeX 체계에서는 65번이 언제나 "a"라는 것을 알고 있다. 그러면
가상 글꼴은 TeX의 요구를 타입1 글꼴인 foobar.pfb의 14번 글자로 대응시켜
준다. (이 14번 글자는 타입1 글꼴 foobar.pfb에 있는 "a"의 대체 문자일
것이다.) 가상 글꼴 방식은 매우 유연해서 글꼴을 여러 다른 글꼴
파일들로부터 구성할 수 있도록 해준다. 이런 방식은 Adobe의 "전문가"
글꼴과 같은 글꼴을 사용할 때 편리하다..pk
-- 장치에 따라 달라지는 비트맵 글꼴.
이 글꼴은 보통 필요해졌을 때 만들어진다. (이 글꼴은 타입1이나
메타글꼴을 해당 장치에서 표현한 것이다.) 이 글꼴은 대개 약 300-1200dpi
정도로 해상도가 높으며, 프린터에 출력할 목적으로 만들어진다.
높은 해상도와 크기에 따라 모두 별개의 .pk
파일이 필요하다는
점 때문에, 이 글꼴은 상당한 디스크 용량을 필요로 하게 된다.
때문에 잠시 저장되기는 하지만, 시간이 지나면 지워진다..mf
-- 메타글꼴 파일.
메타글꼴은 글꼴 디자인에 널리 사용되는 그래픽 프로그래밍 언어이다.
(그래픽에도 쓰일 수 있다.) 이 형식은 트루타입이나 타입1 방법에 비해
많은 장점들을 가지고 있다. 하지만 트루타입이나 타입1 만큼
흔하지 않다는 큰 약점이 있다. (그리고 WYSIWYG 출판에 아주 적합하지도
않다. 물론 TeX을 주된 조판 방식으로 사용한다면 이것은 큰 약점은
되지 않는다.)
TeX의 디렉터리 구조를 알아두면 좋다. 알아두어야 할 주요 디렉터리는 다음과 같다.
$TEXMF/fonts
-- 주된 글꼴 디렉터리$TEXMF/fonts/type1
-- 타입1 글꼴 디렉터리$TEXMF/fonts/type1/foundry
-- 특정한 업체의 형태 파일
(shape file)이 들어가는 디렉터리$TEXMF/fonts/type1/foundry/fontname
-- name이라고
불리는 글꼴이 들어간다. name은 대개 평범한 영어 글꼴이며,
TeX에서 쓰이는 복잡한 글꼴 명명 방식을 따를 필요가 없다.$TEXMF/fonts/afm/foundry/fontname
-- foundry
라는
업체의 name
이라는 글꼴에 해당하는 afm
파일이 들어있는
디렉터리.$TEXMF/fonts/tfm/foundry/fontname
-- afm
디렉터리와 같지만, 대신 tfm
파일이 들어있다.$TEXMF/fonts/vf/foundry/fontname
-- 위와 마찬가지이지만
가상 글꼴이 들어있다.$TEXMF/fonts/source/foundry/fontname
-- 위와 같지만,
메타글꼴 파일이 들어있다.$TEXMF/dvips/config/psfonts.map
-- dvips를 위한 fontmap 파일.
이 파일은 고스트스크립트의 Fontmap 파일과 기능과 형식 양면에서 비슷하다.$TEXMF/tex/latex/psnfss
-- 모든 글꼴 정의 파일들이 들어가는
디렉터리이다.먼저 글꼴에 적당한 이름을 붙여야 한다. 글꼴에 이름을 짓는 방법에 대한
안내는 자신의 시스템에 있는 fontinst 관련 문서를 보도록 하라.
( 이 문서는 tetex 문서가 들어있는 디렉터리의 fontinst라는 하위 디렉터리에
있을 것이다.)
아주 간략히 말하자면, 이름 붙이는 방법은 다음과 같다.
FNW{V}E{n}
:
8a
이다.)pgad8a
이다.
이제는 다음과 같이 fontinst
를 수행할 수 있다.
latex `kpsewhich fontinst.sty`그리고 나서 프롬프트에서 다음과 같이 입력한다.
\latinfamily{font_name}{}\bye여기서
font_name
은 글꼴 파일 이름의 맨앞 세 글자이다.
(예를 들어 Adobe의 garamond 글꼴은 pad
이다.)
이제 fontinst
는 글꼴 기술(description) 파일, 특성 목록 파일,
가상 특성 목록 파일 등의 많은 파일들을 생성하게 된다.
많은 .mtx
파일들도 fontinst
에 의해 만들어지지만,
이 파일들은 사용할 필요가 없다. 다음에는 특성 목록과 가상 특성 목록을
메트릭과 가상 글꼴로 변환시켜야 한다. 이 작업에는 vptovf
와
pltotf
라는 유틸리티를 사용한다.
for X in *.pl; do pltotf $X; done for X in *.vpl; do vptovf $X; done이제는 묵은
vpl
, pl
, mtx
파일들을 삭제한다.
자신의 dvips의 설정 파일인 psfonts.map
을 편집해야 할 것이다.
예를 드는 것이 이 파일의 형식을 설명하는 가장 좋은 방법이다.
marr8r ArialMT <8r.enc <farr8a.pfa marbi8r Arial_BoldItalicMT <8r.enc <farbi8a.pfa marb8r Arial_BoldMT <8r.enc <farb8a.pfa marri8r Arial_ItalicMT <8r.enc <farri8a.pfa marr8rn Arial_Narrow <8r.enc <farr8an.pfa
8r.enc
는 단지 dvips에게 사용된 부호화 방식을 알려주기 위해 있는
것이다. (fontinst
가 가상 글꼴을 구성하는 방식 때문에, 이 문서의
모든 예에서는 부호화 방식이 8r이다.) 가장 왼쪽에 있는 열은 TeX이 사용하는
글꼴 이름이다. 두번째 열은 글꼴의 실제 이름으로서 글꼴 파일 안에 기록되어
있다. (이 이름은 afm
파일을 문서 편집기로 열어서
FontName
지시자를 찾아보면 알아낼 수 있다.) 마지막 열은 글꼴에
해당하는 형태 파일의 이름이다. 각 파일의 디렉터리는 알려줄 필요가 없다.
tex은 파일을 찾아야 할 곳을 알고 있기 때문이다.
다음과 같은 문서를 latex으로 처리해보자.
\documentclass{article} \begin{document} \usefont{T1}{pga}{m}{n}\selectfont \huge Testing a new font \dots the quick red fox jumped over the lazy brown dogs \end{document}여기에서
pga
를 시험하려는 글꼴을 나타내는 약자로 바꾼다.
latex이 제대로 처리하면, 글꼴 추가는 거의 끝난 것이다. 이제 할 일은
파일들을 정확한 디렉터리에 위치시키고(디렉터리는 입문 부분에서 설명했다),
tex이 디렉터리 목록을 갱신하도록
texconfig rehash를 수행하는 것 뿐이다.
글꼴을 더 쉽게 사용할 수 있도록 .sty 파일을 만들고 싶을 수가 있다.
그렇다면, $TEXMF/tex/latex/psnfss
파일을 바탕양식으로 이용하도록
하라.