Instalowanie fontów Type 1/TrueType
Spis treści: Instalowanie fontów Type 1: Omówienie :: TeX :: Dvips :: LaTeX :: pdfTeX/pdfLaTeX Instalowanie fontów True Type: TeX/LaTeX/Dvips :: pdfTeX/pdfLaTeX
Instalowanie fontów Type 1
Podczas składania tekstu TeX korzysta wyłącznie z plików
metrycznych. Pliki takie mają rozszerzenie .tfm
. Pliki
metryczne nie zawierają informacji o kształtach znaków, te są
zdefiniowane w innych plikach. Aby mieć możliwość wydrukowania
złożonego dokumentu, korzystającego z fontów wektorowych (skalowalnych,
np. Type 1) należy plik dvi
zamienić na plik w formacie
PostScript. W każdej dystrybucji TeX-a znajduje się program
dvips
wykonujący taką zamianę. Program ten korzysta z
plików z rozszerzeniem .pfb
, zawierających definicje
kształtu znaków; może także korzystać z innych, pomocniczych
plików.
Zainstalowanie fontów Type 1 w systemie TeX polega na umieszczeniu kilku plików w odpowiednich miejscach. Poniżej opisano cały proces, biorąc za przykład instalację pakietu fontów Antykwa Toruńska.
Omówienie
Ponieważ cały proces instalacji fontów Type1 może się wydać nieco skomplikowany (szczególnie dla początkujących), wymienimy tu pokrótce poszczególne kroki. Dalsza część zawiera informacje techniczne, które mogą zainteresować bardziej zaawansowanych użytkowników.
Pakiet fontowy zawiera zwykle kilka rodzajów plików:
- pliki metryczne
.tfm
, z których korzysta TeX. W strukturze katalogów zgodnej z TDS (TeX Directory Structure) instalujemy je w ramach katalogu~/texmf/fonts/tfm/
. Szczegóły (np. użytą tu interpretację znaku~
) patrz część dot. samego TeX-a. - pliki fontowe
.pfb
, z których korzystadvips
, instalujemy w ramach katalogu~/texmf/fonts/type1/
. - pliki przekodowania
.enc
, oraz - pliki map fontowych
.map
, z których także korzysta sterownikdvips
, instalujemy w ramach katalogu~/texmf/dvips/
. Dla Antykwy Toruńskiej odpowiedni podkatalog może mieć nazwęantt/
. UWAGA: W 2004 postanowiono zmienić wytyczne TDS i wszystkie pliki fontowe gromadzić w katalogu~/texmf/fonts/
. Tym samym pliki.enc
znajdują się obecnie w katalogu~/texmf/fonts/enc/dvips/
zaś pliki.map
w katalogu~/texmf/fonts/map/dvips/
. Szczegóły, patrz część dot. Dvips. - pliki
.sty
oraz.fd
zawierają makra włączania fontu do składu i definicje fontów, przydatne dla użytkowników LaTeX-a. Instalujemy je w ramach katalogu przeznaczonego na makra i style:~/texmf/tex/latex/
. Jeśli pakiet dystrybucyjny z fontami nie zawiera takich plików, należy je odszukać w innym, towarzyszącym pakiecie. Szczegóły, patrz część dot. LaTeX.
Po skopiowaniu plików do odpowiednich katalogów i odświeżeniu bazy
danych instalacji, mapy fontowe powinny być następnie
zarejestrowane w głównym pliku mapowań psfonts.map
.
Proces ten jest obecnie znacznie ułatwiony: w katalogu
~/texmf/web2c/
znajduje się plik updmap.cfg
;
należy do niego dopisać deklaracje dodawanych do instalacji map
fontowych, np:
Map antt-qx.map Map antt-ec.map
itd. Następnie należy uruchomić program updmap
, który
zaktualizuje nie tylko wspomniany psfonts.map
, ale także
pliki mapowań dla programów pdftex
oraz
dvipdfm
.
TeX
Pliki .tfm
powinny być umieszczone w katalogu, w którym
TeX szuka tego typu plików. W instalacji TeX-a o strukturze katalogów
zgodnej z TDS będzie to ~/texmf/fonts/tfm/
. Znak
~
oznacza tu korzeń drzewa TeX-owego, np.
/usr/TeX
lub C:\tex
. Dla wprowadzenia
porządku dobrze jest utworzyć podkatalog, który będzie przechowywał
nowo instalowane pliki. Pliki metryczne Antykwy Toruńskiej można np.
umieścić w katalogu ~/texmf/fonts/tfm/public/antt/
W systemach TeX-a opartych na bibliotece Web2c (np. TeX Live) istnieje
główny plik konfiguracyjny systemu, którym jest plik
texmf.cnf
, znajdujący się zwykle w katalogu
~/texmf/web2c/
. texmf.cnf
zawiera deklaracje
określające katalogi, w których znajdują się poszczególne części
składowe systemu. I tak zmienna TFMFONTS
określa listę
katalogów, w których TeX ma szukać plików TFM. W naszej instalacji
zmienna TFMFONTS
ma wartość:
TFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/tfm//
Użyta tu notacja jest opisana w pliku konfiguracyjnym
texmf.cnf
. Jej interpretacja dla powyższego przykładu
brzmi: znajdź pliki .tfm
w katalogu bieżącym (kropka) a
następnie w podkatalogach, kolejno, fonts/tfm/
katalogów z
instalacją TeX-ową (zmienna $TEXMF
) lub/ewentualnie w
$VARTEXFONTS/tfm/
i wszystkich ich podkatalogach (znaki
//
).
W przypadku popularnej w środowisku MS Windows dystrybucji MikTeX idea
jest podobna ale nieco inne są szczegóły (dystrybucja ta nie jest
oparta na Web2c, ale w pełni zgodna z TDS). Główny plik konfiguracyjny
miktex.ini
znajduje się w katalogu
~\miktex\config\
. Zapis zmiennych i ich nazwy różnią się
od ich odpowiedników w dystrybucjach fpTeX i teTeX. I tak do określenia
katalogów zawierających pliki TFM
MikTeX używa zmiennej
TFMPath
, zaś zapis może wyglądać następująco:
TFMPath=.;%R\fonts\tfm//
Notacja użyta w przykładzie i jej interpretacja jest opisana w pliku
konfiguracyjnym miktex.ini
oraz w dokumentacji
dystrybucji.
Pliki .afm
(Adobe Font Metric) nie są wprawdzie
wykorzystywane przez TeX-a, ale mogą być potrzebne dla innych programów
wspomagających. Umieścić je należy w katalogu
~/texmf/fonts/afm/public/antt
.
Definiowana w pliku texmf.cnf
zmienna
AFMFONTS
(lub zmienna AFMPath
z pliku
miktex.ini
w przypadku dystrybucji MikTeX) określa listę katalogów, w których programy
mają szukać plików AFM. W naszej instalacji zmienna
AFMFONTS
ma wartość:
AFMFONTS = .;$TEXMF/fonts/afm//
Pliki .pfm
-- jeżeli takowe są dołączone do pakietu z
fontami -- nie są wykorzystywane przez żaden program systemu TeX; można
je umieścić, dla porządku, w katalogu
~/texmf/fonts/type1/public/antt
. Pliki te mogą być
przydatne w systemach Windows i OS/2 jeśli chcemy korzystać z fontów w
innych aplikacjach i jeśli posiadamy program ATM (Adobe Type
Manager).
dvips
Podstawowymi i najważniejszymi plikami konfiguracyjnymi programu
dvips
są: config.ps
oraz
psfonts.map
. Pierwszy z nich znajdziemy się w katalogu
~/texmf/dvips/config/
. Plik config.ps
może
zawierać deklaracje m.in. używanych przez program map fontowych
(standardowo jest to psfonts.map
), zaś plik
psfonts.map
zawiera informacje niezbędne do prawidłowego
wykorzystania fontu Type 1 przez sterownik; jest to tzw. mapa fontów
używanych przez program. Właściwe pliki fontowe (.pfb
)
powinny być umieszczone w katalogu przeszukiwanym przez sterownik
dvips
. W systemie TeX o strukturze katalogów zgodnej z TDS
będzie to ~/texmf/fonts/type1/
. Także w tym przypadku
dobrze jest utworzyć podkatalog, np. pliki .pfb
Antykwy
Toruńskiej można umieścić w katalogu
~/texmf/fonts/type1/public/antt/
.
Definiowana w pliku texmf.cnf
zmienna
T1FONTS
(lub zmienna Type1Path
z pliku
miktex.ini
w przypadku instalacji MikTeX) określa listę katalogów, w których dvips ma
szukać fontów Type 1. W naszej instalacji (Web2c) zmienna
T1FONTS
ma wartość:
T1FONTS = .;$TEXMF/fonts/type1//
Zawartość plików .map
, dostarczonych zwykle w pakiecie
z fontami (dla Antykwy Toruńskiej jest to kilka plików), należy
dołączyć do głównego pliku map fontowych psfonts.map
(w
strukturze katalogów zgodnej z TDS plik ten znajduje się w katalogu
~/texmf/fonts/dvips/map/updmap/
). Wykonuje to wspomniany
powyżej program updmap
. W starszych instalacjach zawartość
plików .map
należało ręcznie dopisać do pliku
psfonts.map
, albo po prostu zadeklarować je w pliku
konfiguracyjnym ~/texmf/dvips/config/config.ps
-- po
deklaracji:
p psfonts.map
dopisać wiersz, np.:
p +antt-qx.map
itd. (uwaga: znak +
jest istotny). Pliki
.map
należy umieścić w katalogu
~/texmf/fonts/map/dvips/antt/
. Fonty Antykwa
Toruńska, Antykwa
Półtawskiego, czy TeX Gyre Termes
oraz wiele innych posiadają ponadto pliki .enc
potrzebne
do zmiany wewnętrznego kodowania fontu na kodowanie wymagane przez
TeX-a. Pliki takie należy umieścić w ramach katalogu
~/texmf/fonts/enc/dvips/
. Dla Antykwy Toruńskiej
podkatalog będzie miał nazwę antt/
.
Jeżeli instalujemy font samodzielnie i nie posiadamy gotowego pliku
.map
to powinniśmy dokonać odpowiedniego wpisu do głównego
pliku mapowego psfonts.map
. Więcej informacji na ten temat
można znaleźć w punkcie Pliki
konfiguracyjne sterownika DVIPS z artykułu Fontowe ABC,
B. Jackowskiego i S. Wawrykiewicza.
Często zadawanym przez użytkowników pytaniem jest: dlaczego dvips
nie ,,widzi'' standardowych fontów CM w formacie Type 1 i ładuje
zamiast nich fonty bitmapowe (.pk), które źle się prezentują na
ekranie, szczególnie w powiększeniach? Odpowiedź jest prosta: do
niedawna fonty CM Type 1 (choć często obecne w instalacji) nie były
wyszczególnione w pliku psfonts.map
. Wynikało to głównie z
istnienia dwóch dystrybucji BaKoMa i BlueSky Research. Włączenie
ładowania fontów CM Type 1 przez program dvips
wymaga
odblokowania wiersza (usunięcia znaku %):
p +bsr.map
co dołączy mapowania fontów BlueSky Research do standardowych
mapowań deklarowanych w pliku psfonts.map
.
LaTeX
Aby móc wykorzystać zainstalowane fonty użytkownicy LaTeX-a
muszą jeszcze zainstalować odpowiedni pakiet. Niekiedy
może się zdarzyć, że pakiet z fontami nie zawiera odpowiedniego
pakietu LaTeX-owego, który -- jeżeli nie ma go w standardowej
dystrybucji LaTeX-a -- trzeba odnaleźć i zainstalować samodzielnie.
Pakiet taki zawiera styl włączający dany krój do składu (z reguły jest
to plik z rozszerzeniem .sty
) oraz plik (lub pliki) z
definicją fontu (z reguły z rozszerzeniem .fd
). Instalacja
polega na skopiowaniu plików .sty
i .fd
do
katalogu, w którym znajdują się inne pakiety LaTeX-owe, np. do
~/texmf/tex/latex/
. Pliki .sty
i
.fd
fontów PL oraz cc-pl
(spolonizowane fonty
Computer Concrete) dla LaTeXa są standardowo zawarte w pakiecie Platex.
Pozostałe dostępne polskie fonty (a więc te, które udostępniono jedynie
w formatach obwiedniowych Type 1 i/lub TrueType) zawierają pliki dla
LaTeXa w pakietach dystrybucyjnych.
pdfTeX/pdfLaTeX
Program pdfTeX jest rozszerzeniem TeX-a, który tworzy (właśnie w
trybie rozszerzonym) plik wynikowy w formacie PDF (Portable Document
Format), zamiast typowego DVI. Hipertekstowe pliki PDF mogą być
przeglądane na wielu platformach systemowych dzięki udostępnionemu
bezpłatnie programowi Adobe Acrobat Reader, zachowując przy tym
wszystkie szczegóły układu strony. Opisana powyżej instalacja fontów
Type1 różni się dla pdfTeX jednym szczegółem: należy zadbać aby
zawartość pliku mapy fontowej została dołączona (najlepiej przez
program updmap
) do pliku pdftex.map
czytanego
przez program pdfTeX; znajduje się on obecnie w katalogu
~/texmf/fonts/map/pdftex/updmap/
. W aktualnych wersjach
pdfTeX użycie danej mapy fontowej może być także wprost zadeklarowane w
pliku dokumentu.
Tworząc pliki PDF musimy pamiętać aby stosować wyłącznie fonty obwiedniowe (Type1 lub True Type -- patrz niżej), ponieważ fonty bitmapowe są zwykle fatalnie wyświetlane w przeglądarce. Dotyczy to szczególnie użytkowników LaTeXa, którzy przyzwyczaili się do stosowania fontów EC, które są domyślnie włączane po deklaracji w preambule pliku:
\usepackage[T1]{fontenc}
Otóż nie ma fontów EC w formacie Type1, choć są różne zastępniki
(ładowanie dodatkowych pakietów np. ae
, użycie fontów
cmsuper
itp.). Obecnie zalecane jest użycie fontów Latin
Modern, czyli dopisanie (prócz powyższej deklaracji) w
preambule:
\usepackage{lmodern}
Wiele szczegółów na temat instalowania fontów Type 1 zawiera artykuł The Font Installation Guide Phillipa Lehmana.
Instalowanie fontów TrueType
W powszechnie używanych w chwili obecnej dystrybucjach TeX-a (fpTeX,
teTeX, MikTeX) nie ma sterowników potrafiących bezpośrednio wykorzystać
fonty w formacie TrueType. Chcąc skorzystać z takich fontów należy
dokonać odpowiedniej konwersji, która może polegać na ich zamianie albo
na fonty bitmapowe w formacie .pk
, albo na zamianie na
fonty w formacie Type 42, a ostatnio także do formatu Type 1.
Pierwszy sposób można określić mianem standardowego -- jeżeli
umieścimy pliki .ttf
i .tfm
w odpowiednich
katalogach, to w dystrybucjach, które omawiamy, przy uruchomieniu
program dvips
lub sterownika ekranowego (yap
,
xdvi
), zostaną automatyczne uruchomione programy
generujące fonty .pk
o odpowiedniej rozdzielczości,
podobnie jak sprawa ma miejsce przy generowaniu fontów .pk
na podstawie plików źródłowych .mf
. Sposób ten ma jedną
zasadniczą wadę: fonty .pk
-- jak każde fonty
bitmapowe -- nie nadają się do wykorzystania przy tworzeniu dokumentów
w formacie PDF.
Uwaga 1: Ponieważ współczesne systemy TeXowe potrafią
skorzystać z fontów .ttf
,,z definicji'', ale jednocześnie
sposób ten nie bardzo się nadaje, np. do tworzenia wysokiej jakości
plików PDF, poniżej omawiamy bardziej szczegółowo jedynie wykorzystanie
fontów .ttf
po ich konwersji do formatu Type 42.
Uwaga 2: Zakładając, że pakiet, który instalujemy zawiera
metryki fontów .tfm
, instalacja fontów TrueType nie różni
się zbytnio od instalowania fontów Type 1. Jeżeli nie dysponujemy
plikami .tfm
, to sprawa się komplikuje, bo utworzenie
takich plików nie jest sprawą trywialną. W grę wchodzą sprawy różnego
kodowania znaków, tzw. fonty wirtualnych itp. Ponieważ niniejszy tekst
ma charakter wprowadzenia dla początkujących nie będziemy omawiać tego
zagadnienia. Niemniej jednak w aktualnych dystrybucjach znajdziemy
program ttf2tfm
tworzący pliki .tfm
.
Informacje na temat narzędzi i problemów zamiany plików
ttf
na pliki tfm
można znaleźć w artykule T.
Przechlewskiego Uwagi nt. wykorzystania fontów True Type
(Biuletyn GUST, 11/1998). Najbardziej aktualne informacje na ten temat
zawiera katalog info/TrueType/
na serwerach CTAN.
TeX/LaTeX, dvips
Pliki .tfm
, .enc
oraz .map
kopiujemy w sposób analogiczny do opisanego wyżej. Fonty Type 42 mogą
być wykorzystane przez program dvips
a powstały plik
PostScriptowy może być wydrukowany za pomocą programu ghostscript i
innych interpretatorów PostScripta (byle nie bardzo starych). Do
zamiany pliku .ttf
na font Type 42 (załóżmy, że taki font
ma rozszerzenie .t42
) można wykorzystać program ttftot42
:
ttftot42 anttr
Powstały w wyniku plik .t42
kopiujemy do odpowiedniego
katalogu. W systemie TeX o strukturze katalogów zgodnej z TDS będzie to
~/texmf/fonts/type42/
. Należy się upewnić gdzie dvips
szuka fontów Type 42. Zaglądamy w tym celu do głównego pliku
konfiguracyjnego systemu TeX, którym jest plik texmf.cnf
(zwykle katalog ~/texmf/web2c/
). Powinien on zawierać wpis
podobny do poniższego:
% Type 42 outline fonts. T42FONTS = .;$TEXMF/fonts/type42//
Jeżeli takowego wpisu nie ma, to trzeba go dodać. Powyższy zapis
oznacza, że fonty są szukane albo w katalogu bieżącym (kropka) albo w
katalogu (i wszystkich jego podkatalogach)
$TEXMF/fonts/type42//
, gdzie $TEXMF
oznacza
korzeń drzewa TeX-owego.
Wydaje się, że aktualnie lepszym rozwiązaniem niż konwersja do formatu Type 42 jest skorzystanie z programu do konwersji fontów TrueType do formatu Type 1. Patrz: CTAN/info/TrueType.
pdfTeX/pdfLaTeX
W trybie rozszerzonym pdfTeX potrafi korzystać bezpośrednio z fontów
.ttf
-- nie musimy zatem ich konwertować do formatu Type
42 bądź Type 1. Więcej szczegółów można znaleźć w opisie programu
pdfTeX.
TP, StaW
Akcje Dokumentu