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
|
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
% Version <2020-02-28>. Loaded in format and secondly on demand by \fontfam[catalog]
\_famtext {Special name for printing a catalog :}
\_faminfo [Catalogue] {Catalogue of all registered font families} {fonts-catalog} {}
\_famalias [Catalog]
\_famtext {Computer Modern like family:}
\_famfrom {GUST}
\_faminfo [Latin Modern] {TeX Gyre fonts based on Coputer Modern} {f-lmfonts}
{ -,\nbold,\sans,\sans\nbold,\slant,\ttset,\ttset\slant,\ttset\caps,%
\ttprop,\ttprop\bolder,\quotset: {\rm\bf\it\bi}
\caps: {\rm\it}
\ttlight,\ttcond,\dunhill: {\rm\it} \upital: {\rm} }
\_famalias [LMfonts] \_famalias [Latin Modern Fonts] \_famalias [lm]
\_famtext {TeX Gyre fonts based on Adobe 35:}
\_faminfo [Termes] {TeX Gyre Termes fonts based on Times} {f-termes}
{ -,\caps: {\rm\bf\it\bi} }
\_famalias [Times]
\_faminfo [Heros] {TeX Gyre Heros fonts based on Helvetica} {f-heros}
{ -,\caps,\cond,\caps\cond: {\rm\bf\it\bi} }
\_famalias [Helvetica]
\_faminfo [Adventor] {TeX Gyre Adventor based on Avantgarde Book} {f-adventor}
{ -,\caps: {\rm\bf\it\bi} }
\_famalias [Avantgarde Book]
\_faminfo [Bonum] {TeX Gyre Bonum fonts based on Bookman} {f-bonum}
{ -,\caps: {\rm\bf\it\bi} }
\_famalias [Bookman]
\_faminfo [Pagella] {TeX Gyre Pagella fonts based on Palatino} {f-pagella}
{ -,\caps: {\rm\bf\it\bi} }
\_famalias [Palatino]
\_faminfo [Schola] {TeX Gyre Schola fonts based on New Century} {f-schola}
{ -,\caps: {\rm\bf\it\bi} }
\_famalias [New Century]
\_faminfo [Cursor] {TeX Gyre Cursor fonts based on Courier} {f-cursor}
{ -,\caps: {\rm\bf\it\bi} }
\_famalias [Courier]
\_famtext {Other fonts:}
\_famfrom{Antonis Tsolomitis}
\_faminfo [New Computer Modern] {CM with Book variants, Cyrillic, Greek} {f-newcm}
{ -: {\rm\bf\it\bi} \book: {\rm\it} \ttset: {\rm\bf\it\bi} \book\ttset: {\rm\it}
\sans: {\rm\bf\it\bi} \book\sans: {\rm\it}
\caps: {\rm\bf} \book\caps: {\rm} }
\_famalias [NewCM] \_famalias [NewCMfonts]
\_famfrom {Philipp H. Poll}
\_faminfo [Linux Libertine] {Free fonts typically installed on systems} {f-libertine}
{ -: {\rm\bf\it\bi} \semibold: {\bf\bi}
\caps,\sans,\mono,\caps\sans: {\rm\bf\it\bi} -: {\initials\displ\keybr} }
\_famalias [Libertine] \_famalias [LinLibertine]
\_famfrom {Philipp H. Poll, Khaled Hosny}
\_faminfo [Libertinus] {Free fonts derived from Linux Libertine} {f-libertinus}
{ -: {\rm\bf\it\bi} \semibold: {\bf\bi} \sans: {\rm\bf\it}
\caps: {\rm\bf\it\bi} \caps\semibold: {\bf\bi} \caps\sans: {\rm\bf\it}
-: {\mono\initials\displ\keybr} }
\_famfrom {Daniel Flipo}
\_faminfo [KP fonts] {KP fonts -- Johannes Kepler project} {f-kpfonts}
{ -,\light,\sans,\mono, \caps, \caps\light, \caps\sans,\caps\mono,\swash: {\rm\bf\it\bi} }
\_famalias [KP]
\_famfrom {DejaVu fonts team}
\_faminfo [DejaVu] {Derived from the Vera fonts} {f-dejavu}
{ -,\cond,\sans,\sans\cond,\mono: {\rm\bf\it\bi} \light: {\rm} }
\_famfrom {Zygfryd Gardzielewski, Janusz M. Nowacki}
\_faminfo [Antykwa Torunska] {Traditional Polish font family} {f-antt}
{ -,\cond,\caps, \caps\cond: {\rm\bf\it\bi}
\medium,\cond\medium, \light, \cond\light:{\rm\it} }
\_famalias [Antt]
\_famfrom {Adam Półtawski, Janusz M. Nowacki, Bogusław Jackowski and Piotr Strzelczyk}
\_faminfo [Poltawski] {Antykwa Poltawskiego, Polish traditional font family} {f-poltawski}
{ \ccond,\cond,-,\expd,\eexpd,
\light\ccond,\light\cond,\light,\light\expd,\light\eexpd,
\caps: {\rm\bf\it\bi} }
\_famalias [Antykwa Poltawskiego] \_famalias [Poltawskiego] \_famalias [APoltawskiego]
\_famfrom {Michael Sharpe}
\_faminfo [Baskerville] {Free variants of classical Baskerville} {f-baskerville}
{ -,\caps: {\rm\bf\it\bi} }
\_famalias [BaskervilleF]
\_faminfo [Erewhon] {Derived from Heuristica with slanted variants} {f-erewhon}
{ -: {\rm\bf\it\bi\sl\bs} \caps: {\rm\bf\it\bi} }
\_famfrom {Georg Duffner, Octavio Pardo}
\_faminfo [EB Garamond] {Free variants of classical Garamond} {f-ebgaramond}
{ -,\caps,\medium,\medium\caps,\semibold,\semibold\caps: {\rm\bf\it\bi}
\swash: {\it\bi} -: {\initials} }
\_famalias [Garamond]
\_famfrom {George Douros, Benjamin Miller}
\_faminfo [Garamond Libre] {Free, derived from old style font family} {f-garamondl}
{ -,\caps: {\rm\bf\it\bi} \swash: {\it\bi} }
\_famalias [GaramondL]
\_famfrom {Pablo Impallari, Rodrigo Fuenzalida}
\_faminfo [LibreCaslon] {Libre Caslon Text, inspired by Caslon} {f-librecaslon}
{ -,\onum: {\rm\bf\it\bi} }
\_famalias [Caslon]
\_famfrom {Adobe, Paul D. Hunt}
\_faminfo [Source Pro] {Adobe SourceSerifPro, SourceSansPro, SourceCodePro} {f-sourcepro}
{ \elight,\light,-,\bolder: {\rm\it} -,\bolder: {\bf\bi}
\sans\elight,\sans\light,\sans,\sans\bolder: {\rm\it} \sans,\sans\bolder: {\bf\bi}
\elight\caps,\light\caps,\caps,\bolder\caps: {\rm} \caps,\bolder\caps: {\bf}
\sans\elight\caps,\sans\light\caps,\sans\caps,\sans\bolder\caps: {\rm\it}
\sans\caps,\sans\bolder\caps: {\bf\bi}
\mono\elight,\mono\light,\mono,\mono\medium,\mono\bolder: {\rm\it} \mono,\mono\bolder: {\bf\bi}
}
\_famalias [AdobeSource] \_famalias [AdobeSourcePro]
\_famfrom {Uni. of the Aegean}
\_faminfo [Kerkis] {Free Bookman alternative with Greek letters} {f-kerkis}
{ -,\sans: {\rm\bf\it\bi} \caps: {\rm\bf} \semibold: {\bf\bi}
\sanssemi: {\rm} -:{\calli} }
\_famfrom {Craig Rozynski}
\_faminfo [ComicNeue] {Comic Neue sans serif} {f-comicneue}
{ -,\angular: {\lf\li\rm\it\bf\bi} }
\_famfrom {Eben Sorkin}
\_faminfo [Merriweather] {Modern shapes, sharp serifs} {f-merriweather}
{ -,\sans: {\lf\li\rm\it\bf\bi\kf\ki} \caps,\sans\caps: {\rm\it} }
\_famfrom {Google, Christian Robertson}
\_faminfo [Roboto] {Geometric grotesk, thin variants included} {f-roboto}
{ -: {\tf\ti\lf\li\rm\it\mf\mi\bf\bi\kf\ki}
\cond: {\lf\li\rm\it\bf\bi}
\mono: {\tf\ti\lf\li\rm\it\mf\mi\bf\bi}
\ttset: {\tf\lf\rm\bf}
\caps, \caps\cond: {\rm\bf\it\bi} \caps\ttset: {\rm\bf}
}
\_famfrom {CTU in Prague, Roman Cernohous}
\_faminfo [Technika] {Fonts from visual style of CTU in Prague} {f-technika}
{ -,\light,\book, \caps, \caps\book: {\rm\bf\it\bi} -:{\stencil} }
\_famalias [CTU Technika]
\_famfrom {Bitstream, Andrey V. Panov, Michael Sharpe}
\_faminfo [XCharter] {An extension of Bitstream Charter} {f-xcharter}
{ -,\slant,\caps,\caps\slant: {\rm\bf\it\bi} }
\_famfrom {George Matthiopoulos, Greek Font Society}
\_faminfo [GFSBodoni] {Based on Bodoni with greek letters} {f-gfsbodoni}
{ -: {\rm\bf\it\bi} \caps: {\rm} }
\_endcode
Once you have prepared a font family file with the name `f-<famname>.opm` and
\TeX/ can see it in your filesystem then you can type \^`\fontfam``[<famname>]` and
the file is read, so the information about the font family is loaded. The name
`<famname>` must be lowercase and without spaces in the file name
`f-<famname>.opm`. On the other hand, the `\fontfam` command is more tolerant:
you can write uppercase letters and spaces here. The spaces are ignored and
uppercase letters are converted to lowercase.
For example `\fontfam [LM Fonts]` is equivalent to `\fontfam [LMfonts]` and both
commands load the file `f-lmfonts.opm`.
You can use your font file in sense of the previous paragraph without
registering it. But problem is that such families are not listed when
`\fontfam[?]` is used and it is not included in the font catalog when
`\fontfam[catalog]` is printed. The list of families taken in the catalog and
listed on the terminal is declared in two files: `fams-ini.opm` and
`fams-local.opm`. The second file is optional. Users can create it and write to
it the information about user-defined families using the same syntax as in
existed file `fams-ini.opm`.
The information from the user's `fams-local.opm` file has precedence.
For example `fams-ini.opm` declares aliases Times$\to$Termes etc. If you
have the original Times purchased from Adobe then you can register your
declaration of Adobe's Times family in `fams-local.opm`. When a user writes
`\fontfam[Times]` then the original Times (not Termes) is used.
The `fams-ini.opm` and `fams-local.opm` files can use the macros
\~`\_faminfo`, \~`\_famalias` and \~`\_famtext`. See the example from
`fams-ini.tex`:
{\everytt={\typosize[8/10]\_let\_printverbline=\_printcodeline \medskip}
\def\docfile{fams-ini.opm}
\verbinput (3-28) fams-ini.opm
... etc.
}
\medskip
The \^`\_faminfo` commad has the syntax:
\begtt \catcode`\<=13
\_faminfo [<Family Name>] {<comments>} {<file-name>}
{ <mod-plus-vars> }
\endtt
%
The `<mod-plus-vars>` data is used only when printing the catalog. It consists of
one or more pairs `<mods>: {<vars>}`.
For each pair: each modifier (separated by comma) is applied to each
variant selector in <vars>
and prepared samples are printed. The `-` character means no modifiers
should be applied.
The \^`\_famalias` declares an alias to the last
declared family.
The \^`\_famtext` writes a line to the terminal and the log file when all
families are listed.
The \^`\_famfrom` saves the information about font type foundry or
manufacturer or designer or license owner. You can use it before `\_faminfo`
to print `\_famfrom` info into the catalog.
The `\_famfrom` data is applied to each following declared families until new
`\_famfrom` is given. Use `\_famfrom {}` if the information is not known.
|