home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / TEKST / DVIPS / EMTEX / TEXINPUT / PSFONTS.STY < prev    next >
Text File  |  1992-09-20  |  12KB  |  267 lines

  1. % psfonts.sty - re-work of lfonts.tex to allow postscript fonts
  2. % to replace cmr fonts.  Original by LA Carr.  Hacked by Van
  3. % Jacobson.
  4. %
  5. % $Header: psfonts.sty,v 1.2 88/01/23 17:52:49 van Exp $
  6. %
  7. \def\@@getfont#1#2#3#4#5#6#7{%
  8. \@ifundefined{\string #1\string #5}{\global\expandafter
  9.     \font \csname \string #1\string #5\endcsname #4\@ptscale{#5}\relax}{}%
  10. \@ifundefined{\string #1\string #6}{\global\expandafter
  11.     \font \csname \string #1\string #6\endcsname #4\@ptscale{#6}\relax}{}%
  12. \@ifundefined{\string #1\string #7}{\global\expandafter
  13.     \font \csname \string #1\string #7\endcsname #4\@ptscale{#7}\relax}{}%
  14. \@ifundefined{\string #1\string #3}{\global\expandafter
  15.     \let \csname \string #1\string #3\endcsname #3\relax 
  16.      \@addfontinfo#3{\textfont #2\csname \string #1\string #5\endcsname 
  17.      \scriptfont #2\csname \string #1\string #6\endcsname 
  18.      \scriptscriptfont #2\csname \string #1\string #7\endcsname 
  19.      \def#1{\fam #2\csname\string #1\string #5\endcsname}}}{}#3#1}
  20. \def\@@@getfont#1#2#3#4#5{%
  21. \@ifundefined{\string #1\string #5}{\global\expandafter
  22.     \font \csname \string #1\string #5\endcsname #4\@ptscale{#5}\relax}{}%
  23. \@ifundefined{\string #1\string #3}{\global\expandafter
  24.     \let \csname \string #1\string #3\endcsname #3\relax 
  25.      \@addfontinfo#3{\def#1{\fam #2\csname\string #1\string #5\endcsname}}}{}#3#1}
  26.  
  27. \def\@psfonts#1#2#3#4{%
  28. \def\prm{\@@getfont\prm\z@#1\@mrm{#2}{#3}{#4}}%
  29. \def\pit{\@@getfont\pit\itfam#1\@mit{#2}{#3}{#4}}%
  30. \def\psl{\@@getfont\psl\slfam#1\@msl{#2}{#3}{#4}}%
  31. \def\pbf{\@@getfont\pbf\bffam#1\@mbf{#2}{#3}{#4}}%
  32. \def\ptt{\@@getfont\ptt\ttfam#1\@mtt{#2}{#3}{#4}%
  33. \@nohyphens\ptt {#2}\@nohyphens\ptt {#3}\@nohyphens\ptt {#4}}%
  34. \def\psf{\@@getfont\psf\sffam#1\@mss{#2}{#3}{#4}}%
  35. \def\psc{\@@getfont\psc\scfam#1\@mcsc{#2}{#3}{#4}}}
  36.  
  37. % math stuff: we want to use cmr operator characters but Times
  38. % letters.  So, we make a new family to hold cmrX & re-mathcode
  39. % to force the operators to come from that family.
  40. \newfam\@cmrfam
  41. \newcount\@cmrscale
  42. \def\@mathmap#1{\@cmrscale=\@cmrfam \multiply\@cmrscale by 256
  43. \advance\@cmrscale by \the\mathcode#1 \mathcode#1=\@cmrscale\relax}
  44. \def\@cmrset#1#2#3{\textfont\@cmrfam #1%
  45. \scriptfont\@cmrfam #2\scriptscriptfont\@cmrfam #3\relax}
  46.  
  47. \@mathmap{`\(}
  48. \@mathmap{`\)}
  49. \@mathmap{`\+}
  50. \@mathmap{`\=}
  51. \@mathmap{`\[}
  52. \@mathmap{`\]}
  53.  
  54. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  55. \def\vpt{\textfont\z@\fivrm 
  56.   \scriptfont\z@\fivrm \scriptscriptfont\z@\fivrm
  57. \textfont\@ne\fivmi \scriptfont\@ne\fivmi \scriptscriptfont\@ne\fivmi
  58. \textfont\tw@\fivsy \scriptfont\tw@\fivsy \scriptscriptfont\tw@\fivsy
  59. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  60. \def\unboldmath{\everymath{}\everydisplay{}\@nomath
  61.   \unboldmath\fam\@ne\@boldfalse}\@boldfalse
  62. \def\boldmath{\@subfont\boldmath\unboldmath}%
  63. \@psfonts\@vpt555%
  64. \@cmrset\fivrm\fivrm\fivrm%
  65. \def\ly{\fam\lyfam\fivly}\textfont\lyfam\fivly 
  66.     \scriptfont\lyfam\fivly \scriptscriptfont\lyfam\fivly 
  67. \@setstrut\rm}
  68. \def\@vpt{}
  69. \def\vipt{\textfont\z@\sixrm 
  70.   \scriptfont\z@\sixrm \scriptscriptfont\z@\sixrm
  71. \textfont\@ne\sixmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\sixmi
  72. \textfont\tw@\sixsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\sixsy
  73. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  74. \def\unboldmath{\everymath{}\everydisplay{}\@nomath
  75.   \unboldmath\@boldfalse}\@boldfalse
  76. \def\boldmath{\@subfont\boldmath\unboldmath}%
  77. \@psfonts\@vipt666%
  78. \@cmrset\sixrm\sixrm\sixrm%
  79. \def\ly{\fam\lyfam\sixly}\textfont\lyfam\sixly 
  80.     \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\sixly 
  81. \@setstrut\rm}
  82. \def\@vipt{}
  83. \def\viipt{\textfont\z@\sevrm 
  84.   \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm
  85. \textfont\@ne\sevmi \scriptfont\@ne\fivmi \scriptscriptfont\@ne\fivmi
  86. \textfont\tw@\sevsy \scriptfont\tw@\fivsy \scriptscriptfont\tw@\fivsy
  87. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  88. \def\unboldmath{\everymath{}\everydisplay{}\@nomath
  89. \unboldmath\@boldfalse}\@boldfalse
  90. \def\boldmath{\@subfont\boldmath\unboldmath}%
  91. \@psfonts\@viipt755%
  92. \@cmrset\sevrm\sixrm\fivrm%
  93. \def\ly{\fam\lyfam\sevly}\textfont\lyfam\sevly 
  94.     \scriptfont\lyfam\fivly \scriptscriptfont\lyfam\fivly 
  95. \@setstrut \rm}
  96. \def\@viipt{}
  97. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  98. \def\viiipt{\textfont\z@\egtrm 
  99.   \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm
  100. \textfont\@ne\egtmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\fivmi
  101. \textfont\tw@\egtsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivsy
  102. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  103. \def\unboldmath{\everymath{}\everydisplay{}\@nomath
  104. \unboldmath\@boldfalse}\@boldfalse
  105. \def\boldmath{\@subfont\boldmath\unboldmath}%
  106. \@psfonts\@viiipt865%
  107. \@cmrset\egtrm\sixrm\fivrm%
  108. \def\ly{\fam\lyfam\egtly}\textfont\lyfam\egtly 
  109.     \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\fivly 
  110. \@setstrut \rm}
  111. \def\@viiipt{}
  112. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  113. \def\ixpt{\textfont\z@\ninrm 
  114.   \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm
  115. \textfont\@ne\ninmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\fivmi
  116. \textfont\tw@\ninsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivsy
  117. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  118. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  119.     \@boldfalse}\@boldfalse
  120. \def\boldmath{\@subfont\boldmath\unboldmath}%
  121. \@psfonts\@ixpt965%
  122. \@cmrset\ninrm\sixrm\fivrm%
  123. \def\ly{\fam\lyfam\ninly}\textfont\lyfam\ninly 
  124.    \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\fivly 
  125. \@setstrut \rm}
  126. \def\@ixpt{}
  127. \def\xpt{\textfont\z@\tenrm 
  128.   \scriptfont\z@\sevrm \scriptscriptfont\z@\fivrm
  129. \textfont\@ne\tenmi \scriptfont\@ne\sevmi \scriptscriptfont\@ne\fivmi
  130. \textfont\tw@\tensy \scriptfont\tw@\sevsy \scriptscriptfont\tw@\fivsy
  131. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  132. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  133.           \textfont\@ne\tenmi 
  134.           \textfont\tw@\tensy \textfont\lyfam\tenly
  135.           \@boldfalse}\@boldfalse
  136. \def\boldmath{\@ifundefined{tenmib}{\global\font\tenmib\@mbi 
  137.    \global\font\tensyb\@mbsy 
  138.    \global\font\tenlyb\@lasyb\relax\@addfontinfo\@xpt
  139.    {\def\boldmath{\everymath{\mit}\everydisplay{\mit}\@prtct\@nomathbold
  140.         \textfont\@ne\tenmib \textfont\tw@\tensyb 
  141.         \textfont\lyfam\tenlyb \@prtct\@boldtrue}}}{}\@xpt\boldmath}%
  142. \@psfonts\@xpt{10}75%
  143. \@cmrset\tenrm\sevrm\fivrm%
  144. \def\ly{\fam\lyfam\tenly}\textfont\lyfam\tenly 
  145.    \scriptfont\lyfam\sevly \scriptscriptfont\lyfam\fivly 
  146. \@setstrut \rm}
  147. \def\@xpt{}
  148. \def\xipt{\textfont\z@\elvrm 
  149.   \scriptfont\z@\egtrm \scriptscriptfont\z@\sixrm
  150. \textfont\@ne\elvmi \scriptfont\@ne\egtmi \scriptscriptfont\@ne\sixmi
  151. \textfont\tw@\elvsy \scriptfont\tw@\egtsy \scriptscriptfont\tw@\sixsy
  152. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  153. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  154.           \textfont\@ne\elvmi \textfont\tw@\elvsy 
  155.           \textfont\lyfam\elvly \@boldfalse}\@boldfalse
  156. \def\boldmath{\@ifundefined{elvmib}{\global\font\elvmib\@mbi\@halfmag 
  157.          \global\font\elvsyb\@mbsy\@halfmag
  158.          \global\font\elvlyb\@lasyb\@halfmag\relax\@addfontinfo\@xipt
  159.          {\def\boldmath{\everymath{\mit}\everydisplay{\mit}\@prtct\@nomathbold
  160.                 \textfont\@ne\elvmib \textfont\tw@\elvsyb 
  161.                 \textfont\lyfam\elvlyb\@prtct\@boldtrue}}}{}\@xipt\boldmath}%
  162. \@psfonts\@xipt{11}86%
  163. \@cmrset\elvrm\egtrm\sixrm%
  164. \def\ly{\fam\lyfam\elvly}\textfont\lyfam\elvly 
  165.    \scriptfont\lyfam\egtly \scriptscriptfont\lyfam\sixly 
  166. \@setstrut \rm}
  167. \def\@xipt{}
  168. \def\xiipt{\textfont\z@\twlrm 
  169.   \scriptfont\z@\egtrm \scriptscriptfont\z@\sixrm
  170. \textfont\@ne\twlmi \scriptfont\@ne\egtmi \scriptscriptfont\@ne\sixmi
  171. \textfont\tw@\twlsy \scriptfont\tw@\egtsy \scriptscriptfont\tw@\sixsy
  172. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  173. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  174.           \textfont\@ne\twlmi 
  175.           \textfont\tw@\twlsy \textfont\lyfam\twlly
  176.           \@boldfalse}\@boldfalse
  177. \def\boldmath{\@ifundefined{twlmib}{\global\font\twlmib\@mbi\@magscale1\global
  178.         \font\twlsyb\@mbsy \@magscale1\global\font
  179.          \twllyb\@lasyb\@magscale1\relax\@addfontinfo\@xiipt
  180.               {\def\boldmath{\everymath
  181.                 {\mit}\everydisplay{\mit}\@prtct\@nomathbold
  182.                 \textfont\@ne\twlmib \textfont\tw@\twlsyb 
  183.                 \textfont\lyfam\twllyb\@prtct\@boldtrue}}}{}\@xiipt\boldmath}%
  184. \@psfonts\@xiipt{12}86%
  185. \@cmrset\twlrm\egtrm\sixrm%
  186. \def\ly{\fam\lyfam\twlly}\textfont\lyfam\twlly 
  187.    \scriptfont\lyfam\egtly \scriptscriptfont\lyfam\sixly
  188.  \@setstrut \rm}
  189. \def\@xiipt{}
  190. \def\xivpt{\textfont\z@\frtnrm 
  191.   \scriptfont\z@\tenrm \scriptscriptfont\z@\sevrm
  192. \textfont\@ne\frtnmi \scriptfont\@ne\tenmi \scriptscriptfont\@ne\sevmi
  193. \textfont\tw@\frtnsy \scriptfont\tw@\tensy \scriptscriptfont\tw@\sevsy
  194. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  195. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath 
  196.           \textfont\@ne\frtnmi \textfont\tw@\frtnsy 
  197.           \textfont\lyfam\frtnly \@boldfalse}\@boldfalse
  198. \def\boldmath{\@ifundefined{frtnmib}{\global\font
  199.         \frtnmib\@mbi\@magscale2\global\font\frtnsyb\@mbsy\@magscale2
  200.          \global\font\frtnlyb\@lasyb\@magscale2\relax\@addfontinfo\@xivpt
  201.                {\def\boldmath{\everymath
  202.                 {\mit}\everydisplay{\mit}\@prtct\@nomathbold
  203.               \textfont\@ne\frtnmib \textfont\tw@\frtnsyb 
  204.               \textfont\lyfam\frtnlyb\@prtct\@boldtrue}}}{}\@xivpt\boldmath}%
  205. \@psfonts\@xivpt{14}{10}7%
  206. \@cmrset\frtnrm\tenrm\sevrm%
  207. \def\ly{\fam\lyfam\frtnly}\textfont\lyfam\frtnly 
  208.    \scriptfont\lyfam\tenly \scriptscriptfont\lyfam\sevly 
  209. \@setstrut \rm}
  210. \def\@xivpt{}
  211. \def\xviipt{\textfont\z@\svtnrm 
  212.   \scriptfont\z@\twlrm \scriptscriptfont\z@\tenrm
  213. \textfont\@ne\svtnmi \scriptfont\@ne\twlmi \scriptscriptfont\@ne\tenmi
  214. \textfont\tw@\svtnsy \scriptfont\tw@\twlsy \scriptscriptfont\tw@\tensy
  215. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  216. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  217.           \textfont\@ne\svtnmi \textfont\tw@\svtnsy \textfont\lyfam\svtnly
  218.           \@boldfalse}\@boldfalse
  219. \def\boldmath{\@subfont\boldmath\unboldmath}%
  220. \@psfonts\@xviipt{17}{12}{10}%
  221. \@cmrset\svtnrm\twlrm\tenrm%
  222. \def\ly{\fam\lyfam\svtnly}\textfont\lyfam\svtnly 
  223.    \scriptfont\lyfam\twlly   \scriptscriptfont\lyfam\tenly
  224. \@setstrut \rm}
  225. \def\@xviipt{}
  226. \def\xxpt{\textfont\z@\twtyrm 
  227.   \scriptfont\z@\frtnrm \scriptscriptfont\z@\twlrm
  228. \textfont\@ne\twtymi \scriptfont\@ne\frtnmi \scriptscriptfont\@ne\twlmi
  229. \textfont\tw@\twtysy \scriptfont\tw@\frtnsy \scriptscriptfont\tw@\twlsy
  230. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  231. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  232.         \textfont\@ne\twtymi \textfont\tw@\twtysy \textfont\lyfam\twtyly
  233.         \@boldfalse}\@boldfalse
  234. \def\boldmath{\@subfont\boldmath\unboldmath}%
  235. \@psfonts\@xxpt{20}{14}{12}%
  236. \@cmrset\twtyrm\frtnrm\twlrm%
  237. \def\ly{\fam\lyfam\twtyly}\textfont\lyfam\twtyly 
  238.    \scriptfont\lyfam\frtnly \scriptscriptfont\lyfam\twlly 
  239. \@setstrut \rm}
  240. \def\@xxpt{}
  241. \def\xxvpt{\textfont\z@\twfvrm 
  242.   \scriptfont\z@\twtyrm \scriptscriptfont\z@\svtnrm
  243. \textfont\@ne\twtymi \scriptfont\@ne\twtymi \scriptscriptfont\@ne\svtnmi
  244. \textfont\tw@\twtysy \scriptfont\tw@\twtysy \scriptscriptfont\tw@\svtnsy
  245. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  246. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  247.         \textfont\@ne\twtymi \textfont\tw@\twtysy \textfont\lyfam\twtyly
  248.         \@boldfalse}\@boldfalse
  249. \def\boldmath{\@subfont\boldmath\unboldmath}%
  250. \@psfonts\@xxvpt{25}{20}{17}%
  251. \@cmrset\twfvrm\twtyrm\svtnrm%
  252. \def\ly{\fam\lyfam\twtyly}\textfont\lyfam\twtyly 
  253.    \scriptfont\lyfam\twtyly \scriptscriptfont\lyfam\svtnly 
  254. \@setstrut \rm}
  255. \def\@xxvpt{}
  256. %
  257. %   Fix accents for PostScript fonts (but break them for non-PostScript
  258. %   fonts.)   -tgr, 6 April 91.
  259. %
  260. \def\H#1{{\accent"CD #1}}\def\.#1{{\accent"C7 #1}}
  261. \def\dot{\mathaccent"70C7 }
  262. \newdimen\aadimen
  263. \def\AA{\leavevmode\setbox0\hbox{h}\aadimen\ht0
  264.   \advance\aadimen-1ex\setbox0\hbox{A}\rlap{\raise.67\aadimen
  265.   \hbox to \wd0{\hss\char'27\hss}}A}
  266. \def\pounds{\char163}
  267.