Kapitola 8. Ako vytvárať fontovník.

8.1. Príklad fontovníka

Nasledujúci príklad je jednoduchou ukážkou použitia zložitejších kontrolslov, ako boli dosiaľ spomínané. Ukazuje niektoré "programovacie" možnosti, ktoré TeX má. A aký výsledok dostaneme? Tabuľku fontu, ktorý si vyberieme. Kto neverí, nech si to skúsi! Na nasledujúcej strane je príklad štandardného fontu "cmr7" so zakomponovanými našimi akcentovanými znakmi. Jednotlivé "neklávesnicové" znaky sú prístupné cez \char<číslo riadku><číslo stĺpca>, teda napr. \char65 =A.

\font\zoa=cmb10 scaled \magstep3
\nopagenumbers
\newcount\p\p=0\newcount\ps\ps=0
\newdimen\w\newcount\pr\pr=0\newcount\kon\kon=9
\def\zn{&&\za\char\p\global\advance\p by1\global\advance\ps by1}
\def\przn{&&\global\advance\ps by 1}
\def\riadok{\ifnum\ps<\kon \zn\riadok\else \ifnum\ps<9 \przn\riadok
\else&\cr\fi\fi}
\def\riad{&\rm\the\pr\riadok}
\def\ri{\riad\noalign{\hrule}\global\ps=0\global\advance\pr by 1}
\def\tabulka{\ifnum\pr<24 \ri\tabulka\fi}
\def\rtt#1#2#3{\w=#3mm\multiply\w by11\font\za=#1% scaled \magstep1

\centerline{
\vbox{\hbox to \w{\hfil\zoa Font ``#1''.\hfil}\vskip0.4cm 
\offinterlineskip
\halign{\vrule##&\vbox to #2mm{\vfil\hbox to #3mm{\hfil##\hfil}\vfil}
&\vrule width0.05cm##&&\vbox to #2mm{\vfil\hbox to #3mm{\strut\hfil##\hfil}
\vfil}&\vrule##\cr
\noalign{\hrule}
&&&0&&1&&2&&3&&4&&5&&6&&7&&8&&9&\cr
\noalign{\hrule height 0.05cm}
\tabulka\cr
\global\kon=5\riad
\noalign{\hrule}
}}}
}
\message{Zadaj nazov fontu, ktory chces zobrazit: (napr. cmr10)}
\read16 to\naz
\message{Zadaj vysku stvorceka (v mm), napr. 7}
\read16 to \vys
\message{Zadaj sirku stvorceka (v mm), napr. 9}
\read16 to \sir
\rtt{\naz}{\vys}{\sir}
\bye
čoho výsledkom je:

\font\zoa=cmb10 scaled \magstep3 
\newcount\p\p=0\newcount\ps\ps=0 
\def\zn{&&\za\char\p\global\advance\p by1\global\advance\ps by1} 
\def\przn{&&\global\advance\ps by 1} 
\newdimen\w\newcount\pr\pr=0\newcount\kon\kon=9 
\def\riadok{\ifnum\ps<\kon \zn\riadok 
               \else \ifnum\ps<9 \przn\riadok\else  
          &\cr\fi\fi} 
\def\riad{&\rm\the\pr\riadok} 
\def\ri{\riad\noalign{\hrule}\global\ps=0\global\advance\pr by 1} 
\def\tabulka{\ifnum\pr<24 \ri\tabulka\fi} 
 
\def\rtt#1#2#3{\w=#3mm\multiply\w by11\font\za=#1 scaled \magstep1 
\centerline{ 
\vbox{\hbox to \w{\hfil\zoa Font ``#1''.\hfil}\vskip0.4cm  
\offinterlineskip 
\halign{\vrule##&\vbox to #2mm{\vfil\hbox to #3mm{\hfil##\hfil}\vfil} 
&\vrule width0.05cm##&&\vbox to #2mm{\vfil\hbox to #3mm{\strut\hfil##\hfil}\vfil}&\vrule##\cr 
\noalign{\hrule} 
&&&0&&1&&2&&3&&4&&5&&6&&7&&8&&9&\cr 
\noalign{\hrule height 0.05cm} 
\tabulka\cr 
\global\kon=5\riad 
\noalign{\hrule} 
}}} 
} 
\rtt{csr10}{7}{9}