diff options
author | Karl Berry <karl@freefriends.org> | 2021-04-19 21:25:21 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-04-19 21:25:21 +0000 |
commit | 3125499a8c2b497b0f964e23c53d9c9fe3fe4e58 (patch) | |
tree | 1618fa57d975d6d12cde15c8b1190c09061d033c /Master/texmf-dist/tex/optex/base/fonts-catalog.opm | |
parent | f5f0b7d1217bc7ab099302a505fffcac39d41006 (diff) |
optex its own format, so directly under tex/ and doc/
git-svn-id: svn://tug.org/texlive/trunk@58918 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/optex/base/fonts-catalog.opm')
-rw-r--r-- | Master/texmf-dist/tex/optex/base/fonts-catalog.opm | 136 |
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 % ------------------------------------- + |