Xref: utzoo comp.fonts:1825 comp.text.tex:4791 Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!mcsun!ukc!icdoc!sot-ecs!spqr From: spqr@ecs.soton.ac.uk (Sebastian Rahtz) Newsgroups: comp.fonts,comp.text.tex Subject: Re: Math Fonts for TeX Message-ID: Date: 13 Jan 91 16:05:54 GMT References: Sender: news@ecs.soton.ac.uk Distribution: comp Organization: Southampton University Computer Science Lines: 188 In-reply-to: primer@math.harvard.edu's message of 11 Jan 91 19:05:38 GMT In article primer@math.harvard.edu (Jeremy Primer) writes: scheme at all. It would be easy to set up LaTeX style files to alert the font selector that additional fonts are available, i.e. postscript.sty for the fonts packaged with dvips541, lucida.sty for new fonts from Sun, etc. I wrote myself a generic macro to announce a new PostScript font to Mittelbach and Schoepf. Appended. Comments welcome. their names and contents. When I receive a latex document in the e-mail in 1995, I would ideally (1) like to know exactly which of many font families it requires to run without alteration and (2) like to avoid telling TeX about all these families in our format files. Perhaps a registry maintained by the AMS would be in order here. Karl Berry maintains a list of suggested names for PostScript fonts. It would help a bit if people followed that (though I personally don't like it), but it will not help much if people put the stuff for Lucida in a style option called `prettynice.sty'. Yes, if vendors sent out style files... but it isn't that easy. LaTeX assumes you have a full range of fonts available (roman, bold, sans, tt etc); a style file should replace all of cm* in one go, shouldn't it? my style option `garamond.sty' loads Optima as the sans face, and Courier as tt. You can't assume someone won't want Courier as the main text face.... sebastian %% Generalized scheme for PostScript fonts, assuming they %% all have the same basic structure \def\postscript@fontdef#1#2#3#4#5#6#7#8{ \expandafter\ifx\csname ld#2\endcsname\relax % 1 : full name for family % 2 : short name for family % 3 : tfm name for normal font % 4 : tfm name for italic font % 5 : tfm name for bold font % 6 : tfm name for bolditalic font % 7 : tfm name for smallcaps font % 8 : tfm name for slanted font \immediate\write\sixt@@n {********************************************************************} \immediate\write\sixt@@n {Defining fonts for PostScript #1 family, with } \immediate\write\sixt@@n {#2 as shortname} \immediate\write\sixt@@n {#3 as TFM name for normal font} \immediate\write\sixt@@n {#4 as TFM name for italic font} \immediate\write\sixt@@n {#5 as TFM name for bold font} \immediate\write\sixt@@n {#6 as TFM name for bolditalic font} \immediate\write\sixt@@n {#7 as TFM name for smallcaps font} \immediate\write\sixt@@n {#8 as TFM name for slanted font} \immediate\write\sixt@@n {********************************************************************} \new@fontshape{#2}{m}{n}{% <5>#3 at5pt% <6>#3 at6pt% <7>#3 at7pt% <8>#3 at8pt% <9>#3 at9pt% <10>#3 at10pt% <11>#3 at10.95pt% <12>#3 at12pt% <14>#3 at14.4pt% <17>#3 at17.28pt% <20>#3 at20.74pt% <25>#3 at24.88pt}{} \extra@def{#2}{}{} \new@fontshape{#2}{m}{sc}{% <5>#7 at5pt% <6>#7 at6pt% <7>#7 at7pt% <8>#7 at8pt% <9>#7 at9pt% <10>#7 at10pt% <11>#7 at10.95pt% <12>#7 at12pt% <14>#7 at14.4pt% <17>#7 at17.28pt% <20>#7 at20.74pt% <25>#7 at24.88pt% }{} \new@fontshape{#2}{m}{it}{% <5>#4 at5pt% <6>#4 at6pt% <7>#4 at7pt% <8>#4 at8pt% <9>#4 at9pt% <10>#4 at10pt% <11>#4 at10.95pt% <12>#4 at12pt% <14>#4 at14.4pt% <17>#4 at17.28pt% <20>#4 at20.74pt% <25>#4 at24.88pt% }{} \new@fontshape{#2}{m}{sl}{% <5>#8 at5pt% <6>#8 at6pt% <7>#8 at7pt% <8>#8 at8pt% <9>#8 at9pt% <10>#8 at10pt% <11>#8 at10.95pt% <12>#8 at12pt% <14>#8 at14.4pt% <17>#8 at17.28pt% <20>#8 at20.74pt% <25>#8 at24.88pt% }{} \new@fontshape{#2}{bx}{n}{% <5>#5 at6pt% <6>#5 at6pt% <7>#5 at7pt% <8>#5 at8pt% <9>#5 at9pt% <10>#5 at10pt% <11>#5 at10.95pt% <12>#5 at12pt% <14>#5 at14.4pt% <17>#5 at17.28pt% <20>#5 at20.74pt% <25>#5 at24.88pt% }{} \new@fontshape{#2}{bx}{it}{% <5>#6 at6pt% <6>#6 at6pt% <7>#6 at7pt% <8>#6 at8pt% <9>#6 at9pt% <10>#6 at10pt% <11>#6 at10.95pt% <12>#6 at12pt% <14>#6 at14.4pt% <17>#6 at17.28pt% <20>#6 at20.74pt% <25>#6 at24.88pt% }{} % bold and bold-extended regarded as the same % slanted and smallcaps only in normal font \subst@fontshape{#2}{b}{sc}{#2}{m}{sc} \subst@fontshape{#2}{b}{sl}{#2}{m}{sl} \subst@fontshape{#2}{bx}{sc}{#2}{m}{sc} \subst@fontshape{#2}{bx}{sl}{#2}{m}{sl} \subst@fontshape{#2}{b}{n}{#2}{bx}{n} \subst@fontshape{#2}{b}{it}{#2}{bx}{it} \expandafter\def\csname ld#2\endcsname{} \else \immediate\write\sixt@@n {Family #2 already set up} \fi } % % set up fonts I am interested in % \postscript@fontdef{Palatino}{palatino}{p-rom}{p-ita}{p-bol}{p-bolit}{p-romsc}{p-ita} %% % and finally we set up two command \adobeencoding, and \texencoding, %% which we can choose depending on which we way we use PostScript %% fonts %% \def\texencoding{\input{encoding.tex}} \def\adobeencoding{\input{encoding.adobe}} \def\romanfont#1{\renewcommand{\rmdefault}{#1}\rm} \def\sansfont#1{\renewcommand{\sfdefault}{#1}\rm} \def\typewriterfont#1{\renewcommand{\ttdefault}{#1}\rm} -- Sebastian Rahtz S.Rahtz@uk.ac.soton.ecs (JANET) Computer Science S.Rahtz@ecs.soton.ac.uk (Bitnet) Southampton S09 5NH, UK S.Rahtz@sot-ecs.uucp (uucp)