1% ptmr: Times Roman
2% ptmro: Times Oblique
3% ptmri: Times Italic
4% ptmre: Times Extended
5% ptmrn: Times Narrow
6% ptmrc: Times Roman Caps and Small Caps
7% ptmb: Times Bold
8% ptmbo: Times Bold Oblique
9% ptmbi: Times Bold Italic
10% ptmbc: Times Bold Caps and Small Caps
11% psyr: Times Symbol (Greek letters, etc.)
12% psyro: Times Symbol Oblique
13
14\newif\iftxidone
15\def\fontprefix{ptm}
16% Set the font macro #1 to the font named #2, adding on the
17% specified font prefix (normally `cm').
18% #3 is the font's design size, #4 is a scale factor
19\def\txisetfont#1#2#3#4{
20\txidonefalse
21\def\rmshape{r}       \ifx\rmshape#2    \font#1=ptmr  scaled #4 \txidonetrue \fi
22\def\rmbshape{bx}     \ifx\rmbshape#2   \font#1=ptmb  scaled #4 \txidonetrue \fi
23\def\bfshape{b}       \ifx\bfshape#2    \font#1=ptmb  scaled #4 \txidonetrue \fi
24\def\bxshape{bx}      \ifx\bxshape#2    \font#1=ptmb  scaled #4 \txidonetrue \fi
25\def\ttshape{tt}      \ifx\ttshape#2    \font#1=pcrrc  scaled #4 \txidonetrue \fi
26\def\ttbshape{tt}     \ifx\ttbshape#2   \font#1=pcrb  scaled #4 \txidonetrue \fi
27\def\ttslshape{sltt}  \ifx\ttslshape#2  \font#1=pcrro scaled #4 \txidonetrue \fi
28\def\itshape{ti}      \ifx\itshape#2    \font#1=ptmri scaled #4 \txidonetrue \fi
29\def\itbshape{bxti}   \ifx\itbshape#2   \font#1=ptmbi scaled #4 \txidonetrue \fi
30\def\slshape{sl}      \ifx\slshape#2    \font#1=ptmro scaled #4 \txidonetrue \fi
31\def\slbshape{bxsl}   \ifx\slbshape#2   \font#1=ptmbo scaled #4 \txidonetrue \fi
32\def\sfshape{ss}      \ifx\sfshape#2    \font#1=phvr  scaled #4 \txidonetrue \fi
33\def\sfbshape{ss}     \ifx\sfbshape#2   \font#1=phvb  scaled #4 \txidonetrue \fi
34\def\scshape{csc}     \ifx\scshape#2    \font#1=ptmrc scaled #4 \txidonetrue \fi
35\def\scbshape{csc}    \ifx\scbshape#2   \font#1=ptmbc scaled #4 \txidonetrue \fi
36\iftxidone\else
37\font#1=ptm#2 scaled #4
38\fi
39}
40