summaryrefslogtreecommitdiff
path: root/macros/luatex/optex/base/fams-ini.opm
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/optex/base/fams-ini.opm')
-rw-r--r--macros/luatex/optex/base/fams-ini.opm130
1 files changed, 130 insertions, 0 deletions
diff --git a/macros/luatex/optex/base/fams-ini.opm b/macros/luatex/optex/base/fams-ini.opm
new file mode 100644
index 0000000000..5ecbfc361f
--- /dev/null
+++ b/macros/luatex/optex/base/fams-ini.opm
@@ -0,0 +1,130 @@
+%% This is part of 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 catalogue:}
+
+\_faminfo [Catalogue] {Catalogue of all registered font families} {fonts-catalog} {}
+\_famalias [Catalog]
+
+\_famtext {Computer Modern like family:}
+
+\_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]
+
+\_famtext {TeX Gyre fonts based o 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 [Palation]
+
+\_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:}
+
+\_faminfo [Linux Libertine] {Free fonts typicaly installed in systems} {f-libertine}
+ { -: {\rm\bf\it\bi} \semi: {\rm\it}
+ \caps,\sans,\mono,\caps\sans: {\rm\bf\it\bi} -: {\initials\displ\keybr} }
+\_famalias [Libertine] \_famalias [LinLibertine]
+
+\_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]
+
+\_faminfo [Baskerville] {Free vaiants of classical Baskerville} {f-baskerville}
+ { -,\caps: {\rm\bf\it\bi} }
+\_famalias [BaskevilleF]
+
+\_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]
+
+\_faminfo [XCharter] {An extension of Bitstream Charter} {f-xcharter}
+ { -,\slant,\caps,\caps\slant: {\rm\bf\it\bi} }
+
+\_faminfo [GFSBodoni] {Based on Bodoni with greek letters} {f-gfsbodoni}
+ { -: {\rm\bf\it\bi} }
+
+\_endcode
+
+Once you have prepared a font family file with the name `f-<famname>.opm` and \TeX/ is
+able to see it in your filesystem then you can type \^`\fontfam``[<famname>]` and
+the file is read, so the information about 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 gives more tolerance:
+you can write uppercase letters and spaces here. The spaces are ignored and
+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 previous paragraph without
+registering it. But problem is that such families are not listed when
+`\fontfam[?]` is used and it is not included in font catalogue when
+`\fontfam[catalog]` is printed. The list of families taken in the catalogue and
+listed on the terminal is declared in two files: `fams-ini.opm` and
+`fams-local.opm`. The second file is optional. User 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 original Times purchased from Adobe then you can register your
+declaration about Times family in `fams-local.opm`. When an user write
+`\fontfam[Times]` then orginal Times (no Termes) is used in such case.
+
+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-27) 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 catalogue. It consists with
+one or more pairs `<mods>: {<vars>} <mods>: {<vars>}` etc.
+For each pair: each modifiers (separated by comma) are applied to each <vars>
+and prepared sample is 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 to the log file when all
+families are listed.
+