%% This is part of OpTeX project, see http://petr.olsak.net/optex \_initunifonts \_begingroup \_noloadmath \_let\_ttfixed=\_tentt \_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 {\_qquad\_ttfixed\_string\fontfam [#1] -- (#2)\_par} \_fontfam[#1] \_ifexistfam \_nobreak\_medskip \_dosamples #4:{} \_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\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-user.opm}\_iftrue \_input fams-user.opm \_fi \_endgroup \parindent=0pt \nonum\sec Customization of the catalogue You can redeclare the printed sample of each font by: \begtt \catalogsample={Hello world!} \endtt before \code{\\fontfam[catalog]} command is used. You can restrict the families to be printed in catalogue 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-user.opm}. The second file does not exist by default but user can create it. The syntax rules are described in the \code{fams-ini.opm} file. \_endcode % -------------------------------------