%% 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 {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] \_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-.opm` and \TeX/can see it in your filesystem then you can type \^`\fontfam``[]` and the file is read, so the information about the font family is loaded. The name `` must be lowercase and without spaces in the file name `f-.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 use the macros `\_famifo`, `\_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 [] {} {} { } \endtt % The `` data is used only when printing the catalog. It consists of one or more pairs `: {}`. For each pair: each modifier (separated by comma) is applied to each variant selector in 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.