summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/optex/base/fonts-catalog.opm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/optex/base/fonts-catalog.opm')
-rw-r--r--Master/texmf-dist/tex/optex/base/fonts-catalog.opm136
1 files changed, 136 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/optex/base/fonts-catalog.opm b/Master/texmf-dist/tex/optex/base/fonts-catalog.opm
new file mode 100644
index 00000000000..3cd02e7b277
--- /dev/null
+++ b/Master/texmf-dist/tex/optex/base/fonts-catalog.opm
@@ -0,0 +1,136 @@
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
+
+\_codedecl \_undefined {Font catalogue <2020-02-26>} % loaded on demand by \fontfam[catalog]
+
+\_tracinglostchars=1 % only to log file
+\_initunifonts
+\_begingroup
+
+\_istoksempty\_catalogmathsample \_iftrue \_noloadmath \_fi
+\_font\_ttfixed=[LMMono10-Regular]\_relax
+\_fontlet\_smalltt=\_ttfixed at7pt
+\_suppressfontnotfounderror=1
+
+\_lowercase\_ea{\_ea\_def\_ea\_cataloglist\_ea{\_the\_catalogonly}}
+\_lowercase\_ea{\_ea\_def\_ea\_catalognolist\_ea{\_the\_catalogexclude}}
+
+\_ifx\_cataloglist\_empty \_else
+ \_addto\_cataloglist{ }
+ \_edef\_cataloglist{\_ea\_removespaces\_cataloglist{} }
+\_fi
+\_ifx\_catalognolist\_empty \_else
+ \_addto\_catalognolist{ }
+ \_edef\_catalognolist{\_ea\_removespaces\_catalognolist{} }
+\_fi
+
+\_def\_faminfo [#1]#2#3#4{%
+ \_bgroup
+ \_lowercase{\_edef\_famname{\_ea\_removespaces #1 {} }}%
+ \_edef\_act{\_noexpand\_isinlist{,\_cataloglist,}{,\_famname,}}\_act
+ \_iftrue \def\_cataloglist{}\_fi
+ \_edef\_act{\_noexpand\_isinlist{,\_catalognolist,}{,\_famname,}}\_act
+ \_iftrue \def\_cataloglist{.}\_fi
+ \_ifx\_cataloglist\_empty
+ \_ifx^#4^\_else
+ \_bigskip {\_ttfixed\_string\fontfam [#1] -- (#2)\_par}
+ \_input #3.opm
+ \_ifexistfam \_nobreak\_medskip \_dosamples #4:{}
+ \_ifx\_mathfaminfo\_empty
+ \_else \_istoksempty\_catalogmathsample
+ \_iftrue {\_ttfixed \$Default math font\$: \_mathfaminfo \_par}
+ \_else Default math font (\_mathfaminfo): \_the\_catalogmathsample \_par
+ \_fi\_fi
+ \_else {\_qquad\_ttfixed ... family skipped, fonts not found in your system.}
+ \_fi\_fi\_fi
+ \_egroup
+}
+\_def\_dosamples #1:#2{\_ifx^#2^\_else
+ \_def\_printvars{#2}%
+ \_ea\_dosamplesA\_romannumeral-`\.#1,,%
+ \_ea\_dosamples\_fi
+}
+\_def\_dosamplesA#1,{%
+ \_ifx^#1^\_else
+ \_ifx-#1\_def\_usemodifiers{}\_else \_def\_usemodifiers{#1}\_fi
+ \_ea \_dosamplesB \_printvars \_relax
+ \_ea \_dosamplesA \_fi
+}
+\_def\_dosamplesB#1{%
+ \_ifx\_relax#1 \_else
+ {\_ttfixed \_detokenize\_ea{\_usemodifiers}\_detokenize{#1}\_unskip:}
+ {\_usemodifiers #1\_ea\_ifx\_the\_font \_nullfont
+ \_ttfixed ... This font isn't available in your system.%
+ \_else \_the\_catalogsample \_fi }\_par
+ \_ea \_dosamplesB \_fi
+}
+
+\_def\_wlog#1{\_nobreak\_smallskip
+ \_hbox to\_hsize{\_hskip25pt
+ \_edef\_tmp{#1}\_replstring\_tmp{^^J}{\_par}%
+ \_smalltt \_noindent \_ea \string \_csname \_currfamily\_endcsname
+ \_vtop{\leftskip=1em \_baselineskip=9pt \_tmp \_par}\_hss
+ \_if\_relax\_the\_famfrom\_relax \_else from: \_the\_famfrom \_fi
+ }
+}
+
+\_def\0#1{\_ifnum#1<10 0\_fi\_the#1}
+\_footline={\_hfil\_ttfixed\_the\_pageno\_hfil}
+\_headline={\_ttfixed Font Catalogue generated by \_OpTeX/ \_hfill \_the\_year-\0\_month-\0\_day}
+\_parindent=0pt
+\_ttfixed
+
+\_input fams-ini.opm
+
+\_isfile {fams-local.opm}\_iftrue \_famfrom{}\_input fams-local.opm \_fi
+
+\_endgroup
+
+\parindent=0pt
+
+\nonum\sec Customization of the catalog
+
+
+You can redeclare the printed sample of each font by:
+
+\begtt
+\catalogsample={Hello world!}
+\endtt
+
+before \code{\\fontfam[catalog]} command is used. You can specify
+\code{\\catalogmathsample} if you want to show default math fonts too, for example
+
+\begtt
+\catalogmathsample={Gamma function is defined as
+ $$
+ \Gamma(z) = \int_0^\infty x^{z-1} e^{-x}{\rm d}x, \quad \Re(z)>0.
+ $$}
+\endtt
+%
+The \code{\\catalogmathsample} is empty by default, so math fonts are not loaded,
+only the family of default math font is listed.
+
+\bigskip
+You can restrict the families to be printed in the catalog by:
+
+\begtt
+\catalogonly={Termes, Latin Modern, Heros}
+\endtt
+
+If the \code{\\catalogonly} is empty (this is default value) then all families are
+printed but families listed in the \code{\\catalogexclude} are excluded. For example
+
+\begtt
+\catalogexclude={Latin Modern, XCharter}
+\endtt
+
+The \code{\\cataogexclude} is empty by default.
+
+\bigskip The font families printed in the catalogue must be declared by the
+\code{\\_faminfo} command in the file \code{fams-ini.opm} (declarations used
+as default for \OpTeX/) or in the file \code{fams-local.opm}. The second file
+does not exist by default but users can create it. The syntax rules are
+described in the \code{fams-ini.opm} file.
+
+
+\_endcode % -------------------------------------
+