1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
|
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-2">
<TITLE>METAFONT</TITLE>
<STYLE TYPE="text/css">
<!--
ol.section li { font-size:large;font-weight:bold;margin-top:1em; }
ul.question li { font-size:medium;font-weight:normal;margin-top:.2em; }
-->
</STYLE>
</HEAD>
<BODY BACKGROUND="images/back_narrow.gif"
BGCOLOR="#ffffff"
TEXT="#000000"
LINK="#900000"
ALINK="#C14242"
VLINK="#D30000">
<TABLE BORDER=0>
<TR><TD width=30> </TD>
<TD><TABLE width="100%" BORDER=0>
<TR><TD valign="middle" align="center"><FONT SIZE="+2"><B>METAFONT</FONT></TD><TD align="right">
<a href="http://www.cstug.cz/"><IMG BORDER=0 SRC="images/logo.gif" ALT="CSTUG" HEIGHT=51 WIDTH=165 ALIGN="right"></a><BR>
</TD></TR></TABLE></TD></TR>
<TR><TD></TD><TD></TD></TR>
<TR><TD></TD><TD><HR></TD></TR>
<TR><TD></TD><TD>
<P>
<P>
METAFONT vám umo¾òuje vytvoøit si vlastní font, ale vìt¹ina u¾ivatelù
TeXu ho nikdy nepou¾ívá. METAFONT, na rozdíl od TeXu, vy¾aduje
nekterá speciální nastavení. Ka¾dé výstupní zaøízení, pro které se
generuje font, potøebuje pøidru¾ený mód. Módy se definují pou¾itím
konvencí <CODE>mode_def</CODE> popsaných na stranì 94 v <EM>The METAFONTbook</EM>
(viz <A HREF="sectC.html#Q-books">Knihy o TeXu a pøíbuzná literatura</A>). Je potøeba mít soubor zpravidla
nazvaný <CODE>local.mf</CODE> obsahující <CODE>mode_def</CODE>s, které budete pou¾ívat.
Jestli¾e <CODE>local.mf</CODE> je¹tì neexistuje, dobrým výchozím bodem mù¾e
být kolekce módù od Karla Berryho, dostupná jako <A HREF="ftp://ftp.cstug.cz/pub/tex/CTAN/">CTAN</A>: <A HREF="ftp://ftp.cstug.cz/pub/tex/CTAN/fonts/modes/modes.mf">modes-file</A>.
Lze ji pou¾ít jako <CODE>local.mf</CODE> beze zmìn pro
„dostateènì
¹irokou“ implementaci METAFONTu. Výpis nastavení pro nejrùznìj¹í
výstupní zaøízení bývá také pravidelnì zveøejòován v TUGboatu
(viz <A HREF="sectB.html#Q-TUG">Co je to TUG a TUGboat</A>). Nyní vytvoøte bázový soubor <CODE>plain</CODE> s pou¾itím
<EM>inimf</EM>, <CODE>plain.mf</CODE> a <CODE>local.mf</CODE>:
<PRE>
% inimf
This is METAFONT....
**plain # napi¹te plain
(output)
*input local # zadejte toto
(output)
*dump # zadejte toto
Beginning to dump on file plain....
(output)
</PRE>
Tím se vytvoøí bázový soubor pojmenovaný <CODE>plain.base</CODE> (pøípadnì nìco
podobného; napøíklad v MSDOSu to bude <CODE>PLAIN.BAS</CODE>), který je tøeba
pøemístit do adresáøe, jen¾ ve va¹em systému obsahuje bázové soubory.
(Nìkteré systémy obsahují i dva nebo více takových adresáøù, ka¾dý pro jinou
„velikost“ pou¾itého METAFONTu.)
<P>
Nyní se potøebujete ujistit, ¾e METAFONT pøi spu¹tìní ète tuto novou bázi.
Jestli¾e METAFONT naèítá na va¹em systému implicitnì <CODE>plain</CODE> bázi, jste
pøipraveni. Pod Unixem (za pou¾ití bì¾né
distribuce <EM>web2c</EM>)
to tak skuteènì funguje, ale mohli bychom tøeba definovat pøíkaz
<EM>mf</EM>, který vykonává <CODE>virmf &plain</CODE> naètením <CODE>plain</CODE> bázového
souboru.
<P>
Obvyklý zpùsob, jak vytvoøit font s <CODE>plain</CODE> METAFONTem, je zaèít øádkem
<PRE>
\mode=<jméno módu>; mag=<zvìt¹ení>; input <jméno fontového souboru>
</PRE>
jako
odpovìï na výzvu „<CODE>**</CODE>“ nebo na pøíkazové øádce
METAFONTu. (Pokud <CODE><jméno módu></CODE>
je neznámé nebo neplatné, bude pou¾it implicitní mód a METAFONT vyrobí výstupní
soubor nazvaný <CODE><jméno fontového souboru>.2602gf</CODE>) <CODE><Zvìt¹ení></CODE> je
èíslo v plovoucí øádové èárce nebo `magstep' (magstepy jsou definovány
v <EM>The METAFONTbook</EM> a v <EM>The TeXbook</EM>). Jestli¾e
<CODE>mag=<zvìt¹ení></CODE> je neplatné, bude implicitnì 1 (magstep 0). Napøíklad,
pro generování cmr10 zvìt¹eného na 12pt pro tiskárnu epson byste mìli napsat
<PRE>
mf \mode=epson; mag=magstep 1; input cmr10
</PRE>
Poznamenejme, ¾e pod Unixem jsou znaky <CODE>\</CODE> a <CODE>;</CODE> obvykle v uvozovkách nebo
se zpìtným lomítkem, tak¾e by to zpravidla mìlo vypadat takhle:
<PRE>
mf '\mode=epson; mag=magstep 1; input cmr10'
</PRE>
<P>
v bázi, mù¾ete vlo¾it jeho pøíkazy do souboru (napø. <CODE>ln03.mf</CODE>) a
vyvolat ho za bìhu pøíkazem <CODE>\smode</CODE>. Tak napøíklad, aby se vytvoøil
<CODE>cmr10.300gf</CODE> pro tiskárnu LN03 za pou¾ití souboru
<PRE>
% This is ln03.mf as of 2/27/90
% mode_def courtesy of John Sauter
proofing:=0;
fontmaking:=1;
tracingtitles:=0;
pixels_per_inch:=300;
blacker:=0.65;
fillin:=-0.1;
o_correction:=.5;
</PRE>
(v¹imnìte si nepøítomnosti pøíkazù <CODE>mode_def</CODE> a <CODE>enddef</CODE>), je tøeba napsat
<PRE>
mf \smode="ln03"; input cmr10
</PRE>
Tato technika není jediná, kterou byste správnì mìli pou¾ívat, ale mù¾e se
ukázat u¾iteèná, jestli¾e máte novou tiskárnu a chcete experimentovat
s parametry, èi z nìjakých jiných dùvodù editujete pou¾ívané
parametry.
Jakmile jste si jednou ujasnili pøípustnou mno¾inu parametrù, mù¾ete je
uplatnit pøi pøebudování bázového souboru, který pou¾íváte.
Souhrn vý¹e uvedeného od Geoffrey Tobina a upozornìní na nejèastìj¹í
nástrahy a úskalí pøi pou¾ívání METAFONTu lze nalézt
v dokumentu <A HREF="ftp://ftp.cstug.cz/pub/tex/CTAN/">CTAN</A>: <A HREF="ftp://ftp.cstug.cz/pub/tex/CTAN/info/metafont-for-beginners.tex">mf-beginners</A>
<P>
Jiné zdroje pomoci jsou zmínìny
v otázce <A HREF="sectC.html#Q-mfptutorials">Tutoriály k METAFONTu a METAPOSTu</A>.
<P>
<P><A NAME="Q-fontfiles"><HR><H3>Které fontové soubory je tøeba si nechat</H3></A>
<P>
METAFONT produkuje pøi svém bìhu tøi soubory: metrikové (<CODE>tfm</CODE>) soubory,
soubory s generickými fonty (<CODE>gf</CODE>) a soubory s popisem pøekladu (<CODE>log</CODE>).
V¹echny tyto soubory mají stejné bázové jméno jako vstup,
(napø. pokud vstupní soubor byl <CODE>cmr10.mf</CODE>, výstupem bude
<CODE>cmr10.tfm</CODE>,
<CODE>cmr10.nnngf</CODE>
<A HREF="#Q-Q-fontfiles-f-5">[<FONT SIZE="-1"><SUP>5</SUP></FONT>]</A>
a <CODE>cmr10.log</CODE>).
<P>
Pro práci TeXu s fontem je zapotøebí <CODE>tfm</CODE> soubor, tak¾e si ho musíte
nechat. Ale obyèejnì chcete generovat tentý¾ font ve více velikostech a
poka¾dé se bude (automaticky) generovat dal¹í <CODE>tfm</CODE> soubor. Tyto soubory
jsou stejné, proto staèí nechat si jediný z nich.
<P>
K výrobì obrazovkového nebo tiskového výstupu potøebuje <CODE>dvi</CODE> procesor
rastrový soubor fontu; to je to, co poskytuje <CODE>gf</CODE> soubor. Av¹ak, zatímco
døíve pou¾ívané <CODE>dvi</CODE> procesory umìly pracovat s <CODE>gf</CODE> soubory, moderní
procesory pou¾ívají komprimované rastrové (<CODE>pk</CODE>) soubory. Proto je tøeba
generovat <CODE>pk</CODE> soubor z <CODE>gf</CODE> souboru. Tohle za vás udìlá program
<EM>gftopk</EM> a jakmile je to jednou hotovo, mù¾ete soubor <CODE>gf</CODE>
odstranit.
<P>
Pokud nenastanou nìjaké problémy,
nemìl by být soubor <CODE>log</CODE> nikdy pou¾it.
Normálnì tedy není tøeba nechávat si jej.
<P>
<P>
<P><A NAME="Q-bitmaps"><HR><H3>Vyta¾ení bitových map z archívu</H3></A>
<P>
Vìt¹ina lidí, kteøí zaèínají pou¾ívat TeX s laserovou tiskárnou
s rozli¹ením 300 dpi (dots-per-inch) a fonty Computer Modern pro toto
rozli¹ení, je zásobena mno¾stvím TeXovských balíkù. Na CTAN jsou také dvì
takové sady: <A HREF="ftp://ftp.cstug.cz/pub/tex/CTAN/">CTAN</A>: <A HREF="ftp://ftp.cstug.cz/pub/tex/CTAN/fonts/cm/pk/pk300.zip">pk300</A> (pro èerný tisk) a <A HREF="ftp://ftp.cstug.cz/pub/tex/CTAN/">CTAN</A>: <A HREF="ftp://ftp.cstug.cz/pub/tex/CTAN/fonts/cm/pk/pk300w.zip">pk300w</A> (pro bílý
tisk). Ale nìkteøí u¾ivatelé chtìjí poslat svou práci na vysoce kvalitní
sázecí stroje (obyèejnì s rozli¹ením 1270 dpi nebo více). Té¾ se èastìji
pou¾ívají 600 dpi laserové tiskárny. Proè archívy a knihovny
neposkytují bitové mapy fontù v tìchto velikostech? Dùvody jsou dva:
<OL>
<LI> Pokud je bitová mapa fontu vytvoøena pomocí METAFONTu, je tøeba znát
charakteristiky zaøízení; kdo mù¾e vìdìt, jaký 600 èi 1270 dpi pøístroj
vlastníte? (Tahle námitka se samozøejmì stejnì dobøe týká 300 dpi
tiskáren.)
<LI> Pøi vysokých rozli¹eních jsou bitové mapy <EM>objemné</EM>. Kdo ví, které
fonty a s jakou velikostí potøebujete?
</OL>
<P>
Technologie distribucí TeXu/LaTeXu na¹tìstí tyto problémy ukonèila.
Vìt¹ina (kdy¾ ne v¹echny) souèasných distribucí generuje bitmapové fonty, kdy¾
jsou zapotøebí a ukládá je do cache pro opakované pozdìj¹í pou¾ití. Netrpezlivý
u¾ivatel, který si myslí, ¾e v¹echny bitmapové fonty by mìly být vytvoøeny jenom
jednou (a nav¾dy), mù¾e najít podporu v skriptech jako <EM>allcm</EM>
(distribuován pøinejmen¹ím s teTeXem); tato osoba by si mìla taky proèíst
Otázku <A HREF="sectK.html#Q-getfromMF">Jak dostat z METAFONTu to, co chcete</A>).
<P>
Na druhé stranì, pokud vlastníte PostScriptové zaøízení, uva¾ujte o fontech
ve formátu Type 1. Je mo¾né koupit v¹echny fonty Computer Modern
v PostScriptovém tvaru od Blue Sky Research nebo od Y&Y
(adresa viz <A HREF="sectF.html#Q-commercial">Komerèní implementace TeXu</A>),
èi pou¾ít veøejnì pøístupnou verzi Basila Malysheva v <A HREF="ftp://ftp.cstug.cz/pub/tex/CTAN/">CTAN</A>: <A HREF="ftp://ftp.cstug.cz/pub/tex/CTAN/fonts/cm/ps-type1">ps-type1</A>
(kolekce Paradissa je kompletní, ale postupnì je nahrazována lep¹í kolekcí
BaKoMa).
V posledních letech se ve formátu Type 1 stalo dostupnými mno¾ství jiných
fontù METAFONTu. Obvykle není jiný dùvod pro generování bitmapových fontù ne¾
za jiným úèelem ne¾ vytvoøení náhledu (viz
Otázku <A HREF="sectL.html#Q-PSpreview">Prezeranie súborov vyu¾ívajúcich Type 1 fonty</A>).
<P>
Komerèní dodavatelé fontù jsou v¾dy o krok vpøed vùèi hnutí free software
a poskytují Type 1 verze EC fontù,
CM fontù cyriliky, jako¾to i rozsah matematických fontù nahrazujících
rodinu CM (viz
Otázku <A HREF="sectL.html#Q-pschoice">Výbìr zvìt¹ovatelných obrysových fontù</A>).
<P>
<P>
<P>
<HR ALIGN=left WIDTH="20%">
<FONT SIZE="-1"><DL>
<DT><A NAME="Q-Q-fontfiles-f-5">[<SUP>5</SUP>]</A><DD>
V¹imnìte si, ¾e jméno souboru mù¾e být
pøetvoøeno
u takových operaèních systémù jako MSDOS, které
nepøipou¹tìjí dlouhé názvy souborù.</DL></FONT>
<P><HR></TD></TR>
<TR><TD></TD><TD><TABLE BORDER=0><TR>
<TD valign=middle align=left>
<a href="http://www.cstug.cz/">
<IMG BORDER=0 SRC="images/logo.gif"
ALT="CSTUG" HEIGHT=51 WIDTH=165 ALIGN="right"><BR>
</TD><TD valign=top align=left><FONT SIZE="-1">
(c) 1997, 1998, 2003
Tomá¹ Hudec, Libor ©karvada
<BR>
Poslední aktualizace: 13.11.2004 23:15
</FONT></TD></TR></TABLE></TD></TR></TABLE>
</BODY>
</HTML>
|