% OFS: The default text families + math families %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Jun 2001 Petr Olsak % You cannot \input this file because this file is \inputted automatically. % See ofsdoc.tex for more details \ifx\ofsdeclarefamily\undefined \errmessage{You can't \string\input\space the file ofssdef.tex directly from your document% } \endinput \fi \protectreading ofsdef.tex % This is part of OFS package %%% Computer Roman family %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\defaultextraenc{8c} % You can re-define this macro before % \setfonts in order to change % extra encoding of default families \ofsputfamlist {^^Jdefaults:} \ofsdeclarefamily [CMRoman] {% ------------ Computer Modern Roman \loadtextfam cmr\fotenc;% cmbx\fotenc;% cmti\fotenc;% cmbxti\fotenc;\defaultextraenc;% \newvariant8 \sl (Slanted) cmsl\fotenc;\defaultextraenc;% \newvariant9 \bxsl (BoldSlanted) cmbxsl\fotenc;\defaultextraenc;% \modifyenc 8z:csfont;% } \registerenc: 8z \registerenc: 8t \registerenc: 6a \ofsdeclarefamily [CMSans] {% ------------- Computer Modern Sans Serif \loadtextfam cmss\fotenc;% cmssbx\fotenc;% cmssi\fotenc;% cmssbxti\fotenc;\defaultextraenc;% \modifyenc 8z:csfont;% } \registerenc: 8z \registerenc: 8t \registerenc: 6a \ofsdeclarefamily [CMTypewriter] {% ------- Computer Modern Typewriter \loadtextfam cmtt\fotenc;% cmttbx\fotenc;% cmitt\fotenc;% cmttbxti\fotenc;\defaultextraenc;% \newvariant8 \sl (Slanted) cmsltt\fotenc;\defaultextraenc;% \modifyenc 8z:csfont;% \modifyenc 8z:nocrossL;% } \registerenc: 8z \registerenc: 8t \registerenc: 6a %%%% Math fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \registertfm cmsy - cmsy10 \registertfm cmsy 0pt-6pt cmsy5 \registertfm cmsy 6pt-7pt cmsy6 \registertfm cmsy 7pt-8pt cmsy7 \registertfm cmsy 8pt-9pt cmsy8 \registertfm cmsy 9pt-10pt cmsy9 \registertfm cmsy 10pt-* cmsy10 \registertfm cmmi - cmmi10 \registertfm cmmi 0pt-6pt cmmi5 \registertfm cmmi 6pt-7pt cmmi6 \registertfm cmmi 7pt-8pt cmmi7 \registertfm cmmi 8pt-9pt cmmi8 \registertfm cmmi 9pt-10pt cmmi9 \registertfm cmmi 10pt-12pt cmmi10 \registertfm cmmi 12pt-* cmmi12 %%%% CSfonts (encoding: 8z) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \registertfm cmr8z - csr10 \registertfm cmr8z 0pt-6pt csr5 \registertfm cmr8z 6pt-7pt csr6 \registertfm cmr8z 7pt-8pt csr7 \registertfm cmr8z 8pt-9pt csr8 \registertfm cmr8z 9pt-10pt csr9 \registertfm cmr8z 10pt-12pt csr10 \registertfm cmr8z 12pt-17pt csr12 \registertfm cmr8z 17pt-* csr17 \registertfm cmbx8z - csbx10 \registertfm cmbx8z 0pt-6pt csbx5 \registertfm cmbx8z 6pt-7pt csbx6 \registertfm cmbx8z 7pt-8pt csbx7 \registertfm cmbx8z 8pt-9pt csbx8 \registertfm cmbx8z 9pt-10pt csbx9 \registertfm cmbx8z 10pt-12pt csbx10 \registertfm cmbx8z 12pt-* csbx12 \registertfm cmti8z - csti10 \registertfm cmti8z 0pt-8pt csti7 \registertfm cmti8z 8pt-9pt csti8 \registertfm cmti8z 9pt-10pt csti9 \registertfm cmti8z 10pt-12pt csti10 \registertfm cmti8z 12pt-17pt csti12 \registertfm cmti8z 17pt-* csti17 \registertfm cmbxti8z - csbxti10 \registertfm cmbxti8z 0pt-12pt csbxti10 \registertfm cmbxti8z 12pt-17pt csbxti12 \registertfm cmbxti8z 17pt-* csbxti17 \registertfm cmsl8z - cssl10 \registertfm cmsl8z 0pt-6pt cssl5 \registertfm cmsl8z 6pt-7pt cssl6 \registertfm cmsl8z 7pt-8pt cssl7 \registertfm cmsl8z 8pt-9pt cssl8 \registertfm cmsl8z 9pt-10pt cssl9 \registertfm cmsl8z 10pt-12pt cssl10 \registertfm cmsl8z 12pt-17pt cssl12 \registertfm cmsl8z 17pt-* cssl17 \registertfm cmbxsl8z - csbxsl10 \registertfm cmsltt8z - cssltt10 \registertfm cmss8z - csss10 \registertfm cmss8z 0pt-9pt csss8 \registertfm cmss8z 9pt-10pt csss9 \registertfm cmss8z 10pt-12pt csss10 \registertfm cmss8z 12pt-17pt csss12 \registertfm cmss8z 17pt-* csss17 \registertfm cmssbx8z - csssbx10 \registertfm cmssi8z - csssi10 \registertfm cmssi8z 0pt-9pt csssi8 \registertfm cmssi8z 9pt-10pt csssi9 \registertfm cmssi8z 10pt-12pt csssi10 \registertfm cmssi8z 12pt-17pt csssi12 \registertfm cmssi8z 17pt-* csssi17 \registertfm cmtt8z - cstt10 \registertfm cmtt8z 0pt-9pt cstt8 \registertfm cmtt8z 9pt-10pt cstt9 \registertfm cmtt8z 10pt-12pt cstt10 \registertfm cmtt8z 12pt-* cstt12 \registertfm cmitt8z - csitt10 %%% unavailable in cm*8z :-( \registertfm cmssbxti8z - - \registertfm cmttbx8z - - \registertfm cmttbxti8z - - %%%% EC fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\registerECfont #1 #2 {% \registertfm #1 - #21000 \registertfm #1 0pt-6pt #20500 \registertfm #1 6pt-7pt #20600 \registertfm #1 7pt-8pt #20700 \registertfm #1 8pt-9pt #20800 \registertfm #1 9pt-10pt #20900 \registertfm #1 10pt-10.95pt #21000 \registertfm #1 10.95pt-12pt #21095 \registertfm #1 12pt-14.4pt #21200 \registertfm #1 14.4pt-17.28pt #21440 \registertfm #1 17.28pt-20.74pt #21728 \registertfm #1 20.74pt-24.88pt #22074 \registertfm #1 24.88pt-29.86pt #22488 \registertfm #1 29.86pt-35.83pt #22986 \registertfm #1 35.83pt-* #23583 } \def\registerECTTfont #1 #2 {% \registertfm #1 - #21000 \registertfm #1 0pt-9pt #20800 \registertfm #1 9pt-10pt #20900 \registertfm #1 10pt-10.95pt #21000 \registertfm #1 10.95pt-12pt #21095 \registertfm #1 12pt-14.4pt #21200 \registertfm #1 14.4pt-17.28pt #21440 \registertfm #1 17.28pt-20.74pt #21728 \registertfm #1 20.74pt-24.88pt #22074 \registertfm #1 24.88pt-29.86pt #22488 \registertfm #1 29.86pt-35.83pt #22986 \registertfm #1 35.83pt-* #23583 } \registerECfont cmr8t ecrm \registerECfont cmbx8t ecbx \registerECfont cmti8t ecti \registerECfont cmbxti8t ecbi \registerECfont cmsl8t ecsl \registerECfont cmbxsl8t ecbl \registerECfont cmss8t ecss \registerECfont cmssbx8t ecsx \registerECfont cmssi8t ecsi \registerECfont cmssbxti8t ecso \registerECTTfont cmtt8t ectt \registerECTTfont cmitt8t ecit \registerECTTfont cmsltt8t ecst \registertfm cmttbx8t - - \registertfm cmttbxti8t - - \registerECfont cmr8c tcrm \registerECfont cmbx8c tcbx \registerECfont cmti8c tcti \registerECfont cmbxti8c tcbi \registerECfont cmsl8c tcsl \registerECfont cmbxsl8c tcbl \registerECfont cmss8c tcss \registerECfont cmssbx8c tcsx \registerECfont cmssi8c tcsi \registerECfont cmssbxti8c tcso \registerECTTfont cmtt8c tctt \registerECTTfont cmitt8c tcit \registerECTTfont cmsltt8c tcst %%%% Times, Helvetica, Courier %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\setfontshook {\let\TeX=\origTeX} \let\origTeX=\TeX \let\plainL=\L % used in ofs-8z.tex \ofsdeclarefamily [Times] {% -------------- Times Roman \loadtextfam (Roman) ptmr\fotenc;% ptmb\fotenc;% ptmri\fotenc;% ptmbi\fotenc;\defaultextraenc;% \def\TeX{T\kern-.1667em\lower.3333ex\hbox{E}\kern-.125emX}% \modifyenc 8z:badaccents;% \modifyenc 8t:losschars;% \modifyenc 8c:poor;% } \registerenc: 8z \registerenc: 8t \ofsdeclarefamily [Helvetica] {% ---------- Helvetica \loadtextfam phvr\fotenc;% phvb\fotenc;% (Oblique) phvro\fotenc;% (BoldOblique) phvbo\fotenc;\defaultextraenc;% \newvariant0 \nrm (Narrow) phvr\fotenc n;;% \newvariant1 \nbf (NarrowBold) phvb\fotenc n;;% \newvariant2 \nit (NarrowOblique) phvro\fotenc n;;% \newvariant3 \nbi (NarrowBoldOblique) phvbo\fotenc n;;% \def\TeX{T\kern-.12em\lower.4ex\hbox{E}\kern-0.09emX}% \modifyenc 8z:badaccents;% \modifyenc 8t:losschars;% \modifyenc 8c:poor;% } \registerenc: 8z \registerenc: 8t \registertfm phvr8zn - phvrn8z %% There is a bug in cspsfonts: \registertfm phvb8zn - phvbn8z %% standard metric name: phvr8zn \registertfm phvro8zn - phvron8z %% real metric name: phvrn8z \registertfm phvbo8zn - phvbon8z \ofsdeclarefamily [Courier] {% ------------ Courier \loadtextfam pcrr\fotenc;% pcrb\fotenc;% (Oblique) pcrro\fotenc;% (BoldOblique) pcrbo\fotenc;\defaultextraenc;% \let\TeX=\origTeX \modifyenc 8z:badaccents;% \modifyenc 8t:losschars;% \modifyenc 8c:poor;% } \registerenc: 8z \registerenc: 8t \registertfm pcrr8z - pcrr8u \registertfm pcrb8z - pcrb8u \registertfm pcrro8z - pcrro8u \registertfm pcrbo8z - pcrbo8u %%%% Math families %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\loadPSnormalmath{% \loadmathfam 0[-rm/]% Actual Roman font \loadmathfam 1[-it/]% Actual Italic font \defaultskewchar=48 \loadmathfam 2[/cmsy]% Standard symbols from CM \defaultskewchar=-1 \noindexsize\loadmathfam 3[tenex/]% Standard extra symbols from CM \chardef\symbfam 4 \loadmathfam \symbfam [/psyr]% PostScript Symbol \chardef\symbofam 5 \loadmathfam \symbofam [/psyro]% PostScript Symbol Oblique \chardef\bffam 6 \loadmathfam \bffam [-bf/]% Actual Bold font \chardef\bifam 7 \loadmathfam \bifam [-bi/]% Actual Bold Italic \lastfam = 7 \chardef\itfam 1 \let\slfam\undefined \let\ttfam\undefined \setfosize \tmpa mag1.44:% \font \bigsymbofont=psyr \tmpa% Big variant for \displaysize \fontloadmessage{bigsymbofont}{psyr\space\tmpa}% } \def\loadPSboldmath{% \loadmathfam 0[-bf/]% Actual Bold font \loadmathfam 1[-bi/]% Actual Bold-Italic font \defaultskewchar=48 \loadmathfam 2[/cmbsy]% Bold symbols from CM \defaultskewchar=-1 \noindexsize\loadmathfam 3[tenex/]% Standard extra symbols from CM \chardef\symbfam 4 \loadmathfam \symbfam [/psyr]% PostScript Symbol \chardef\symbofam 5 \loadmathfam \symbofam [/psyro]% PostScript Symbol Oblique \lastfam = 7 % needs to be the same as in normal version \chardef\itfam 1 \chardef\bifam 1 \chardef\bffam 0 \let\slfam\undefined \let\ttfam\undefined \setfosize \tmpa mag1.44:% \font \bigsymbofont=psyr \tmpa% Big variant for \displaysize \fontloadmessage{bigsymbofont}{psyr\space\tmpa}% } \def\loadCMnormalmath{% \loadmathfam 0[/cmr8z]% Roman font \defaultskewchar=128 \loadmathfam 1[/cmmi]% Math Italic font \defaultskewchar=48 \loadmathfam 2[/cmsy]% Standard symbols from CM \defaultskewchar=-1 \noindexsize\loadmathfam 3[/cmex]% Standard extra symbols from CM \chardef\itfam 4 \noindexsize\loadmathfam \itfam [/cmti\fotenc]% Text Italic \chardef\slfam 5 \noindexsize\loadmathfam \slfam [/cmsl\fotenc]% Slanted \chardef\bffam 6 \loadmathfam \bffam [/cmbx\fotenc]% Bold font \chardef\ttfam 7 \noindexsize\loadmathfam \ttfam [/cmtt\fotenc]% TypeWriter \lastfam =7 } \def\loadCMboldmath{% \loadmathfam 0[/cmbx8z]% Roman font \defaultskewchar=127 \loadmathfam 1[/cmmib]% Math Italic font \defaultskewchar=48 \loadmathfam 2[/cmbsy]% Standard symbols from CM \defaultskewchar=-1 \noindexsize\loadmathfam 3[/cmex]% Standard extra symbols from CM \chardef\itfam 4 \noindexsize\loadmathfam \itfam [/cmbxti\fotenc]% Text Italic \chardef\slfam 5 \noindexsize\loadmathfam \slfam [/cmbxsl\fotenc]% Slanted \chardef\bffam 6 \loadmathfam \bffam [/cmbx\fotenc]% Bold font \chardef\ttfam 7 \noindexsize\loadmathfam \ttfam [/cmtt\fotenc]% TypeWriter \lastfam =7 } \def\setPSmathchars{\mathencread ofs-ps;} \let\setCMmathchars=\relax % We need not do any work %% No size differences in standard CM fonts: \registertfm cmbsy - cmbsy10 \registertfm cmex - cmex10 \registertfm cmmib - cmmib10 %%%% Math defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifx \fomenc\undefined \def\fomenc{PS}\fi \def\mathversion{normal} \def\defaultmathfonts{% \expandafter \ifx \csname load\fomenc\mathversion math\endcsname \relax \message{\ofsmessageheader WARNING: \string\fomenc=\fomenc\space -- undeclared font-set, I use \string\def\string\fomenc{PS}} \def\fomenc{PS}% \fi \csname load\fomenc\mathversion math\endcsname} \def\defaultmathchars{\csname set\fomenc mathchars\endcsname} \let\mathcharsback=\relax \def\mathfonts{\defaultmathfonts} \def\mathchars{\defaultmathchars} %%%% \ofshexbox is more intelligent alternative to \mathhexbox \ofshexboxdef 2 {cmsy}{cmbsy10}{cmsy}{cmbsy10} % only fam2 is declared because only \mathhexbox2.. is used in plain \def\ofscopyright{{\ooalign{\hfil\raise.07ex\hbox{c}\hfil\crcr\ofshexbox20D}}} %%%% \dots macro (is defined via math mode in original plain) %%%% \def\dots{.% this dot may be kerned with previous character and it \ifmmode % protects the \dots macro in \halign data \mathinner{\ldotp\ldotp}% \else \ifdim\fontdimen3\font=0pt % may be non-proporcional font ..% \else \kern.5\fontdimen2\font .\kern.5\fontdimen2\font .\kern.5\fontdimen2\font \fi\fi } \endinput