%% This file makes a catalog of all OFS registered fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 20. 10. 2002 Petr Olsak % Usage: tex ofscatal [file1, file2, ...] % or: csplain ofscatal [file1, file2, ...] % % If you use csplain instead tex then the accented letters are shown too. % The file1, file2 are the same files as in \input ofs [file1, file2, ...] % See OFS documentation (ofsdoc.pdf) for more details or do: % % tex 'ofs \fontusage' \nopagenumbers % use plain or csplain \raggedbottom \def\showusage{\message{% usage: tex ofscatal [file1, file2, ...]^^J or: csplain ofscatal [file1, file2, ...]^^J where file1, file2 are the same as in \string\input\space ofs [file1, file2, ...]^^J }\expandafter\end} \headline={\tt \the\pageno \hskip1em ---\hskip1em OFS Catalog: \botmark \hskip1em \the\year-\the\month-\the\day \hfil} \ifx \chyph\undefined \def\fotenc{8t} \font\tt=pcrr8t at8pt \else \font\tt=pcrr8u at8pt \fi \ifx\listfamilies\undefined \input ofs \relax \fi \def\processfamilies #1[{\scanfamily} \def\scanfamily #1/]{\if|#1|\let\next=\relax \else \processfamily{#1}\let\next=\processfamilies \fi\next} \def\scanlist ^^J{\readline} \def\readline #1#2^^J{% \if [#1\let\next=\famline \else \if !#1\def\next ##1^^J{}% \else \let\next=\fileline \fi \fi \next #1#2^^J% } \def\famline [#1/]#2^^J{\processfamily{#1}\readline} \def\fileline #1:#2^^J{\processfile{#1}\readline} \def\processfamily#1{\bgroup \message{#1, } {\tt \noindent [#1/]}\par\nobreak \csname fam!.#1\endcsname \egroup } \def\loadtextfam #1;#2;#3;#4;#5;{% \printfont \rm {}{#1}% \printfont \bf {Bold}{#2}% \printfont \it {Italic}{#3}% \printfont \bi {BoldItalic}{#4}% } \def\newvariant #1 #2(#3) #4;#5;{\printfont #2{#3}{#4}} \def\printfont #1#2#3{\if|#3|\else \separevariant {#1}{#2}#3;\fi} \def\separevariant #1#2#3#4;{ \if(#3% \readvariant {#1}{#2}#3#4;% \else \def\tmp{#2}\calculatemetricfile {#3#4}\fosize \fi \hbox{% \indent \tt \string #1 (\tmp) \font\tmp=\metricfile\fosize\relax \tmp \sample \par }% } \def\readvariant #1#2(#3) #4;{\def\tmp{#3}\calculatemetricfile {#4}\fosize} \def\processfile #1{\medskip \mark{#1}% {\tt ------------------- #1 --------------------} \par\nobreak\medskip } \def\sample {ABCDEOPQRSVWXYZ 0123456789 \&\%?!-\vzorek, abcdefghijklmnopqrstuvwxyz} \ifx\chyph\undefined \def\vzorek{} \else \def\vzorek{®¾¹èìáé»ù}\fi \def\run{\expandafter \scanlist \listfamilies ^^J!^^J\end} \def\endOFSmacro {\expandafter \futurelet \expandafter \tmpa \expandafter \testOFSoptions \endinput} \def\testOFSoptions {\ifx [\tmpa \expandafter \readOFSoptions \else \showusage \fi} \def\readOFSoptions [#1]{\let\next=\processOFSoption \next #1,^^X,} \def\processOFSoption #1,{\if ^^X#1\let\next=\run \else \input #1 \fi \next} \endOFSmacro