diff options
Diffstat (limited to 'Master/texmf-dist/tex/luatex/optex/base/fonts-catalog.opm')
-rw-r--r-- | Master/texmf-dist/tex/luatex/optex/base/fonts-catalog.opm | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/luatex/optex/base/fonts-catalog.opm b/Master/texmf-dist/tex/luatex/optex/base/fonts-catalog.opm new file mode 100644 index 00000000000..de45dd3dcfb --- /dev/null +++ b/Master/texmf-dist/tex/luatex/optex/base/fonts-catalog.opm @@ -0,0 +1,135 @@ +%% This is part of OpTeX project, see http://petr.olsak.net/optex + +\_codedecl \_undefined {Font catalogue <2020-02-26>} % loaded on demand by \fontfam[catalog] + +\_initunifonts +\_begingroup + +\_istoksempty\_catalogmathsample \_iftrue \_noloadmath \_fi +\_let\_ttfixed=\_tentt +\_fontlet\_smalltt=\_tentt 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 \_mainfamcommand + \_vtop{\leftskip=1em \_baselineskip=9pt \_tmp \_par}\_hss + } +} + +\_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 \_input fams-local.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 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 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-local.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 % ------------------------------------- + +
\ No newline at end of file |