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, korzystują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.
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:.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.
.pfb
, z których korzysta
dvips
, instalujemy w ramach katalogu
~/texmf/fonts/type1/
.
.enc
, oraz
.map
, z których także korzysta
sterownik dvips
, instalujemy w ramach katalogu
~/texmf/dvips/
. Dla Antykwy Toruńskiej odpowiedni podkatalog
może mieć nazwę antt/
.~/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.
.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
.
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/
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).
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.mapdopisać wiersz, np.:
p +antt-qx.mapitd. (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.mapco dołączy mapowania fontów BlueSky Research do standardowych mapowań deklarowanych w pliku
psfonts.map
.
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.
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 Type 1, 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.
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 TeX-owe 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.
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 anttrPowstał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.
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.
T. Przechlewski i S. Wawrykiewicz
Ostatnia modyfikacja 05.05.2014