%%%======================================================================== %%% @LaTeX-file{ %%% author = "Mario Wolczko", %%% version = "2", %%% date = "21 May 1992", %%% time = "21:13:50 BST", %%% filename = "fontdef.psl", %%% address = "Dept of Computer Science %%% The University of Manchester %%% Oxford Road %%% Manchester M13 9PL %%% UK", %%% telephone = "+44-61-275-6146", %%% FAX = "+44-61-275-6236", %%% checksum = "27965 564 1831 18735", %%% email = "mario@cs.man.ac.uk (Internet)", %%% codetable = "ISO/ASCII", %%% keywords = "LaTeX, PostScript, PS-LaTeX", %%% supported = "yes", %%% docstring = "Part of PS-LaTeX", %%% } %%%======================================================================== %% Modified by Mario Wolczko, for use with PS-LaTeX % % Last edited: Thu May 21 21:13:52 1992 by mario (Mario Wolczko) on madarch % % Report bugs in this file to: % Mario Wolczko % Dept of Computer Science, The University, Oxford Rd, Manchester M13 9PL, UK % mario@cs.man.ac.uk. %% %% Copyright (C) 1989,1990,1991 by Frank Mittelbach, Rainer Schoepf. %% All rights reserved. %% %% This file is part of the NFSS (New Font Selection Scheme) package. %% %% IMPORTANT NOTICE: %% %% You are not allowed to change this file. You may however copy this file %% to a file with a different name and then change the copy if you obey %% the restrictions on file changes described in readme.mz. %% %% You are allowed to distribute this file under the condition that it is %% distributed together with all files mentioned in readme.mz3. If you %% receive only some of these files from someone, complain! %% %% You are NOT ALLOWED to distribute this file alone. You are NOT ALLOWED %% to take money for the distribution or use of either this file or a %% changed version, except for a nominal charge for copying etc. %% %% For error reports in case of UNCHANGED versions see readme files. %% %% Please do not request updates from us directly. Distribution is done %% through Mail-Servers and TeX organizations. %% \def\fileversion{v1.1k-miw} \def\filedate{92/4/22} \def\docdate {92/4/22} %% \CheckSum{127} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% %% This file contains the external font information needed to load %% the computer modern family designed by Donald E. Knuth, together %% with all fonts which are supplied with the AMS font package. %% %% For a smaller collection of fonts see the file `fontdef.ori'. %% %% You should *not* change this file! If you want to change the %% fonts/shapes you should create a copy of it named `fontdef.tex' %% and edit this one according to your needs! %% %% The format of a font/shape definition is as follows: %% %% \new@fontshape{family}{series}{shape}% %% {external_font_1% %% external_font_2% %% ... %% external_font_n}{} %% %% (Don't forget the final {} !) %% %% family : Name of font family like cmr etc. %% series : Weight and width of the font in 1 to 4 letter %% abbreviations. A table is given in the tugboat article %% distributed together with this file. %% shape : Either n (normal), it (italic), sc (small caps), sl %% (slanted) or u (upright italic). %% : The size in printer points. Standard LaTeX supports 5, %% 6, 7, 8, 9, 10, 11, 12, 14, 17, 20, 25 corresponding to %% \tiny, \scriptsize and so on. The angle brackets are %% part of the syntax! %% %% external_font_i : The name of the external font in your font %% library. If the font/shape is not available in a %% certain size you may use the name of a replacement %% font. E.g. one can substitute cmr5 for cmti.. which is %% only available in size 7 and higher. If you put a `1' %% in front of the name of the font a warning message will %% be produced (saying that the font has been substituted %% for the real one) when you use it for the first time. %% Below you can find examples of this mechanism. %% %% For font/shape combinations which aren't available at all like %% computer modern sans serif small caps a suitable default will be %% used automatically unless you specify a substitution yourself with %% the \subst@fontshape command. %% %% It syntax is as follows: %% %% \subst@fontshape{family}{series}{shape}% %% {subst_family}{subst_series}{subst_shape} %% %% This might be necessary if the automatically selected default does %% not match your needs. For example: the font shape choosen instead %% of `computer modern sans serif small caps' would be `computer %% modern sans serif normal'. With a \subst@fontshape command you can %% change this, for example, to `computer modern roman small caps' as %% we did below. (If you don't like this remove this line in your %% *copy* of this file.) %% %% Finally, for every family there is an \extra@def macro. It defines %% special action to be done at load time for every font of the family. %% In most cases you can simply write %% %% \extra@def{family}{}{} %% %% In this file it is used to suppress hyphenation for typewriter %% fonts (see \extra@def{cmtt}... below) and to set the \skewchar %% for math fonts (see \extra@def{cmm}... and \extra@def{cmsy}...). %% %% \newlinechar`\^^J \immediate\write\sixt@@n{File: `fontdef.max' \space \fileversion\space <\filedate> (FMi and RmS)} \immediate\write\sixt@@n{English Documentation \@spaces\space <\docdate> (FMi and RmS)} \immediate\write\sixt@@n {^^JIncludes Font/Shape Definitions for: ^^J\@spaces Times Roman, Helvetica, Courier, Symbol, ^^J\@spaces Palatino, Avant Garde, Bookman, New Century Schoolbook, ^^J\@spaces Zapf Dingbats and Chancery, ^^J\@spaces Computer Modern Maths, ^^J\@spaces LaTeX Symbols% % ^^J\@spaces Computer Modern Standard Fonts% % \space (plus down scaled shapes)% % ,^^J\@spaces AMS math symbol Fonts% % ,^^J\@spaces Euler Fonts% % ,^^J\@spaces University of Washington Cyrillic Fonts% % ,^^J\@spaces Concrete Roman Fonts% .^^J} %% %% Please don't change the next lines unless you know exactly what you %% are doing. %% \def\default@shape{n} \def\default@series{m} \def\default@family{times}% miw \def\default@errfont{cmsy10} %% %% Again, this is doubly dangerous bent. %% \fontfamily\default@family \fontseries\default@series \fontshape\default@shape %% %% And here is your playground: %% %-------------------- % lifted from latex.tex, as this is not yet loaded \def\@ifnextchar#1#2#3{\let\@tempe #1\def\@tempa{#2}\def\@tempb{#3}\futurelet \@tempc\@ifnch} \def\@ifnch{\ifx \@tempc \@sptoken \let\@tempd\@xifnch \else \ifx \@tempc \@tempe\let\@tempd\@tempa\else\let\@tempd\@tempb\fi \fi \@tempd} %% Borrowed from sfontdef.tex by Sebastian Rahtz % Mods by Mario Wolczko for PS-LaTeX % left to itself, the NFSS restricts a number of commands % to the preamble only. I want to be able to load fonts anywhere % in the document, so I take a copy now before the NFSS disables them! % \let\late@extra@def=\extra@def \let\late@subst@fontshape=\subst@fontshape \let\late@new@fontshape=\new@fontshape % Generalized scheme for PostScript fonts, assuming they % all have the same basic structure. % % (Some of these macros adapted from npsfonts.sty by Timothy van Zand) % % % An optional first argument to % \declare@font scales the font % parameters % 1 - scaling factor % 2 - name of font family % 3 - series % 4 - style % 5 - fontname \def\declare@font{% \@ifnextchar [{\declare@@font}{\declare@@font[1]}} % \def\declare@@font[#1]#2#3#4#5{% \scale@stdsizes{#1}% \late@new@fontshape{#2}{#3}{#4}{\scaled@sizes{#5}}{}} % \def\font@scale#1#2#3{\dimen@=#2\dimen@=#3\dimen@ \edef\scaled@sizes##1{\scaled@sizes{##1}<#1>##1 at\number\dimen@ sp}} % \def\scale@stdsizes#1{% \edef\scaled@sizes##1{}% \font@scale{5}{5pt}{#1}% \font@scale{6}{6pt}{#1}% \font@scale{7}{7pt}{#1}% \font@scale{8}{8pt}{#1}% \font@scale{9}{9pt}{#1}% \font@scale{10}{10pt}{#1}% \font@scale{11}{10.95pt}{#1}% \font@scale{12}{12pt}{#1}% \font@scale{14}{14.4pt}{#1}% \font@scale{17}{17.28pt}{#1}% \font@scale{20}{20.74pt}{#1}% \font@scale{25}{24.88pt}{#1}} % % An optional first argument to % \postscript@font scales the font \def\postscript@fontdef{% \@ifnextchar [{\postscript@fontseries}{\postscript@fontseries[1]}} \def\postscript@fontseries[#1]#2#3#4#5#6#7#8{% % 1 : font scale % 2 : full name for family % 3 : short name for family % 4 : series % 5 : tfm name for normal font % 6 : tfm name for italic font % 7 : tfm name for slanted font % 8 : tfm name for smallcaps font \immediate\write\sixt@@n {Defining fonts for PostScript #2 family at scale #1, series #4} \declare@font[#1]{#3}{#4}{n}{#5} \declare@font[#1]{#3}{#4}{it}{#6} \declare@font[#1]{#3}{#4}{sl}{#7} \declare@font[#1]{#3}{#4}{sc}{#8} \late@extra@def{#3}{}{} \expandafter\def\csname l@d#3\endcsname{}} \def\do@load@font#1#2{% \expandafter\ifx\csname load@#1\endcsname\relax \typeout{**** Error: font family #1 unknown ****} \else \csname load@#1\endcsname \def#2{#1}% % \rm should not be activated while initex is running \expandafter\ifx\csname rm\endcsname\relax\else \rm\fi \fi} % % now the user interface % e.g., for \romanfont{times} % -- if the command sequence \load@times is defined, it is executed % \def\romanfont#1{\do@load@font{#1}{\rmdefault}} \def\sansfont#1{\do@load@font{#1}{\sfdefault}} \def\typewriterfont#1{\do@load@font{#1}{\ttdefault}} %------------------------------------------------------------- % % and now the actual fonts themselves \def\load@times{% \postscript@fontdef{Times}{times}{m}{ptmr0}{ptmri0}{ptmro0}{ptmrc0}% \postscript@fontdef{Times}{times}{b}{ptmb0}{ptmbi0}{ptmbo0}{ptmbc0}% } % We use a condensed Courier as the default, as the pitch of the % standard courier looks awful again Times. % It's probably OK with, e.g., Palatino, though. \def\load@courier{% It's just too hard to make the series default % other than `m', so the normal courier is relabelled % as semiexpanded \postscript@fontdef{Courier}{courier}{sx}{pcrr0}{pcrro0}{pcrro0}{pcrr0}% \postscript@fontdef{Courier}{courier}{sxb}{pcrb0}{pcrbo0}{pcrbo0}{pcrb0}% % no Courier smallcaps or italics \late@subst@fontshape{courier}{sx}{it}{courier}{sx}{sl}% \late@subst@fontshape{courier}{sx}{sc}{courier}{sx}{n}% \late@subst@fontshape{courier}{sxb}{it}{courier}{sxb}{sl}% \late@subst@fontshape{courier}{sxb}{sc}{courier}{sxb}{n}% \postscript@fontdef{Courier}{courier}{m}{pcrrrn0}{pcrron0}{pcrron0}{pcrrrn0}% \postscript@fontdef{Courier}{courier}{b}{pcrbrn0}{pcrbon0}{pcrbon0}{pcrbrn0}% \late@subst@fontshape{courier}{m}{it}{courier}{m}{sl}% \late@subst@fontshape{courier}{m}{sc}{courier}{m}{n}% \late@subst@fontshape{courier}{b}{it}{courier}{b}{sl}% \late@subst@fontshape{courier}{b}{sc}{courier}{b}{n}% \late@extra@def{courier}{\hyphenchar ##1\m@ne}{}% } \def\load@helvetica{% \postscript@fontdef{Helvetica}{helvetica}{m}{phvr0}{phvro0}{phvro0}{phvrc0}% \postscript@fontdef{Helvetica}{helvetica}{b}{phvb0}{phvbo0}{phvbo0}{phvbc0}% % no Helvetica italics \late@subst@fontshape{helvetica}{m}{it}{helvetica}{m}{sl}% \late@subst@fontshape{helvetica}{b}{it}{helvetica}{b}{sl}% % Helvetica Narrow (semicondensed) \postscript@fontdef{Helvetica}{helvetica}{sc}% {phvrrn0}{phvron0}{phvron0}{phvrcn0}% \postscript@fontdef{Helvetica}{helvetica}{bsc}% {phvbrn0}{phvbon0}{phvbon0}{phvbcn0}% % no Helvetica italics \late@subst@fontshape{helvetica}{sc}{it}{helvetica}{sc}{sl}% \late@subst@fontshape{helvetica}{bsc}{it}{helvetica}{bsc}{sl}% } % this reduced variant of Helvetica looks better against Times -- the % x-heights match. \def\load@helveticareduced{% \postscript@fontdef[.85]{Helvetica-Reduced}{helveticareduced}{m}% {phvr0}{phvro0}{phvro0}{phvrc0}% \postscript@fontdef[.85]{Helvetica-Reduced}{helveticareduced}{b}% {phvb0}{phvbo0}{phvbo0}{phvbc0}% % no Helvetica italics \late@subst@fontshape{helveticareduced}{m}{it}{helveticareduced}{m}{sl}% \late@subst@fontshape{helveticareduced}{b}{it}{helveticareduced}{b}{sl}% } \def\load@avantgarde{% \postscript@fontdef{AvantGarde}{avantgarde}{m}% {pagk0}{pagko0}{pagko0}{pagkc0}% \postscript@fontdef{AvantGarde}{avantgarde}{b}% {pagd0}{pagdo0}{pagdo0}{pagdc0}% % no Avantgarde italics \late@subst@fontshape{avantgarde}{m}{it}{avantgarde}{m}{sl}% \late@subst@fontshape{avantgarde}{b}{it}{avantgarde}{b}{sl}% } \def\load@bookman{% \postscript@fontdef{Bookman}{bookman}{m}{pbkl0}{pbkli0}{pbklo0}{pbklc0}% \postscript@fontdef{Bookman}{bookman}{b}{pbkd0}{pbkdi0}{pbkdo0}{pbkdc0}% } \def\load@newcenturyschlbk{% \postscript@fontdef{NewCenturySchlbk}{newcenturyschlbk}{m}% {pncr0}{pncri0}{pncro0}{pncrc0}% \postscript@fontdef{NewCenturySchlbk}{newcenturyschlbk}{b}% {pncb0}{pncbi0}{pncbo0}{pncbc0}% } \def\load@palatino{% \postscript@fontdef{Palatino}{palatino}{m}{pplr0}{pplri0}{pplro0}{pplrc0}% \postscript@fontdef{Palatino}{palatino}{b}{pplb0}{pplbi0}{pplbo0}{pplbc0}% } % default PS-LaTeX \romanfont{times} \sansfont{helveticareduced} \typewriterfont{courier} % Zapf dingbats go in special family called `dingbat'; % See `dingbat.sty' for examples of macros which use them \def\load@dingbat{% \declare@font{dingbat}{m}{n}{pzdr0}% \late@extra@def{dingbat}{}{}% \late@subst@fontshape{dingbat}{m}{sc}{dingbat}{m}{n}% \late@subst@fontshape{dingbat}{bx}{sc}{dingbat}{m}{n}% \late@subst@fontshape{dingbat}{m}{u}{dingbat}{m}{n}% \late@subst@fontshape{dingbat}{m}{sl}{dingbat}{m}{n}% \late@subst@fontshape{dingbat}{b}{m}{dingbat}{m}{n}% \late@subst@fontshape{dingbat}{b}{it}{dingbat}{m}{n}% \late@subst@fontshape{dingbat}{bx}{m}{dingbat}{m}{n}% \late@subst@fontshape{dingbat}{bx}{it}{dingbat}{m}{n}% } % also load Zapf Chancery, in case it's needed by anyone \def\load@zapf{% \declare@font{zapf}{m}{n}{pzcmi0}% \late@extra@def{zapf}{}{}% \late@subst@fontshape{zapf}{m}{sc}{zapf}{m}{n}% \late@subst@fontshape{zapf}{bx}{sc}{zapf}{m}{n}% \late@subst@fontshape{zapf}{m}{u}{zapf}{m}{n}% \late@subst@fontshape{zapf}{m}{sl}{zapf}{m}{n}% \late@subst@fontshape{zapf}{b}{m}{zapf}{m}{n}% \late@subst@fontshape{zapf}{b}{it}{zapf}{m}{n}% \late@subst@fontshape{zapf}{bx}{m}{zapf}{m}{n}% \late@subst@fontshape{zapf}{bx}{it}{zapf}{m}{n}% } % Symbol and Symbol-Oblique, used in math mode by PS-LaTeX \new@fontshape{sy}{m}{n}{% <5>psyr0 at5pt% <6>psyr0 at6pt% <7>psyr0 at7pt% <8>psyr0 at8pt% <9>psyr0 at9pt% <10>psyr0 at10pt% <11>psyr0 at11pt% <12>psyr0 at12pt% <14>psyr0 at14.4pt% <17>psyr0 at17.28pt% <20>psyr0 at20.74pt% <25>psyr0 at24.88pt}{} \new@fontshape{sy}{m}{sl}{% <5>psyro0 at5pt% <6>psyro0 at6pt% <7>psyro0 at7pt% <8>psyro0 at8pt% <9>psyro0 at9pt% <10>psyro0 at10pt% <11>psyro0 at11pt% <12>psyro0 at12pt% <14>psyro0 at14.4pt% <17>psyro0 at17.28pt% <20>psyro0 at20.74pt% <25>psyro0 at24.88pt}{} \extra@def{sy}{\skewchar#1'60}{} %% --------------------end PostScript font section-------------------- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% Math italic font shapes %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \new@fontshape{cmm}{m}{it}{% <5>cmmi5% <6>cmmi6% <7>cmmi7% <8>cmmi8% <9>cmmi9% <10>cmmi10% <11>cmmi10 at10.95pt% <12>cmmi12% <14>cmmi12 at14.4pt% <17>cmmi12 at17.28pt% <20>cmmi12 at20.74pt% <25>cmmi12 at24.88pt% }{} \new@fontshape{cmm}{b}{it}{% <5>cmmib5% <6>cmmib6% <7>cmmib7% <8>cmmib8% <9>cmmib9% <10>cmmib10% <11>cmmib10 at10.95pt% <12>cmmib10 at12pt% <14>cmmib10 at14.4pt% <17>cmmib10 at17.28pt% <20>cmmib10 at20.74pt% <25>cmmib10 at24.88pt% }{} \extra@def{cmm}{\skewchar#1'177}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% Math symbol font shapes %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \new@fontshape{cmsy}{m}{n}{% <5>cmsy5% <6>cmsy6% <7>cmsy7% <8>cmsy8% <9>cmsy9% <10>cmsy10% <11>cmsy10 at10.95pt% <12>cmsy10 at12pt% <14>cmsy10 at14.4pt% <17>cmsy10 at17.28pt% <20>cmsy10 at20.74pt% <25>cmsy10 at24.88pt% }{} \new@fontshape{cmsy}{b}{n}{% <5>cmbsy5% <6>cmbsy6% <7>cmbsy7% <8>cmbsy8% <9>cmbsy9% <10>cmbsy10% <11>cmbsy10 at10.95pt% <12>cmbsy10 at12pt% <14>cmbsy10 at14.4pt% <17>cmbsy10 at17.28pt% <20>cmbsy10 at20.74pt% <25>cmbsy10 at24.88pt% }{} \extra@def{cmsy}{\skewchar#1'60}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% LaTeX symbol font shapes %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \new@fontshape{lasy}{m}{n}{% <5>lasy5% <6>lasy6% <7>lasy7% <8>lasy8% <9>lasy9% <10>lasy10% <11>lasy10 at10.95pt% <12>lasy10 at12pt% <14>lasy10 at14.4pt% <17>lasy10 at17.28pt% <20>lasy10 at20.74pt% <25>lasy10 at24.88pt% }{} \new@fontshape{lasy}{b}{n}{% <5>lasyb10 at5pt% <6>lasyb10 at6pt% <7>lasyb10 at7pt% <8>lasyb10 at8pt% <9>lasyb10 at9pt% <10>lasyb10% <11>lasyb10 at10.95pt% <12>lasyb10 at12pt% <14>lasyb10 at14.4pt% <17>lasyb10 at17.28pt% <20>lasyb10 at20.74pt% <25>lasyb10 at24.88pt% }{} \extra@def{lasy}{}{}