Using Postscript Type 1 Fonts with MiKTeX

contributed by John H. Steele <jsteele@coco.ece.cmu.edu>

In March 1997 a consortium of scientific publishers and commercial TeX developers released PostScript (PS) Type 1 versions of the Computer Modern fonts used widely by TeX. The fonts are freely distributable, but a copyright is maintained by the American Mathematical Society (AMS) to ensure the fonts are not altered. While TeX and DVI do not directly deal with PostScript, these fonts benefit a TeX package since the fonts can be included in final PostScript or PDF versions of a document.

Why would you want to use PostScript Type 1 fonts? One, your final Postscript files will be smaller since the Type 1 font outlines are more efficient than embedded PostScript bitmap fonts. Two, your Postscript will be more portable since different resolution printers can optimally rasterize the Type 1 fonts for the different print engines. Three, documents should print faster on printers that accept and cache downloadable fonts.

This document explains how to configure MiKTeX v1.07 to embed Type 1 Computer Modern fonts into final Postscript. Most of the procedure involves configuring DVIPS, the utility MiKTeX uses to produce PostScript output.

Appendix A explains how the interested reader may supplement the AMS CM fonts with PS Type 1 versions of the AMS Euler math fonts. After obtaining these additional Type 1 fonts, the installation instructions can be followed with slight modifications to install these fonts.

Appendix B enumerates a few other issues concerning MiKTeX v1.07 that my be of interest to users.


Installing AMS Computer Modern (CM) PostScript (PS) Fonts into MiKTeX v1.07

The instructions below assume you have installed MiKTeX in the default directory c:\texmf.
  1. Obtain AMS PostScript Type 1 CM fonts.
  2. Choose a location to install your fonts (e.g.: c:\texmf\fonts\cmtype1).
  3. Copy the pfb and pfm directories of the AMS PS CM font distribution to the path you chose in step 1.
  4. Create a .map file to tell DVIPS where to find PS versions of the CM fonts.
  5. Edit the DVIPS configuration to reference your new .map file.
  6. Add the Adobe font encoding file to the dvips\inputs directory.
  7. Edit the MiKTeX configuration for the TEXFONTS path.
  8. Update the MiKTeX configuration.
  9. Check to see that DVIPS is including PostScript CM fonts in your PS files.
That's all. Good luck. And happy TeX-ing!

APPENDIX A: Supplementing the AMS CM Fonts

Unfortunately, the AMS Computer Modern font set does not include the commonly used Euler AMS font family. These fonts along with a few additional CM sizes can be obtained from the BaKoMa font collection at http://tug2.cs.umb.edu/ctan/tex-archive/fonts/cm/ps-type1/bakom a/index.html. The following list enumerates the supplemental fonts available from the BaKoMa collection:

Additional CM fonts in the BaKoMa collection:
cmbsy6 cmbsy7 cmbsy8 cmbsy9 cmcsc8 cmcsc9
cmex7 cmex8 cmex9 cmmib6 cmmib7 cmmib8
cmmib9 msam10 msam5 msam6 msam7 msam8
msam9 msbm10 msbm5 msbm6 msbm7 msbm8
msbm9

AMS Euler font family in the BaKoMa collection:
euex10 euex7 euex8 euex9 eufb10 eufb5
eufb6 eufb7 eufb8 eufb9 eufm10 eufm5
eufm6 eufm7 eufm8 eufm9 eurb10 eurb5
eurb6 eurb7 eurb8 eurb9 eurm10 eurm5
eurm6 eurm7 eurm8 eurm9 eusb10 eusb5
eusb6 eusb7 eusb8 eusb9 eusm10 eusm5
eusm6 eusm7 eusm8 eusm9

You will need the pfb (outline) and pfm (font metrics) files for use on a PC. The TeX font metrics (tfm) files were installed with the MiKTeX package. I would suggest you only take the Euler font family as the additional BaKoMa CM symbol fonts have a known problem with square root symbols (see the readme in the BaKoMa patched-pfb directory).


APPENDIX B: MiKTeX v 1.07 issues

Christian Schenk is planning to release an update to MiKTeX. Since I have not seen version 1.08, I can only say that the installation instructions above will hopefully not change under the new version. Christian has indicated he will put a gui interface on configure.exe, so step 7 may change.

Please note a few bugs in MiKTeX 1.07 are listed on the MiKTeX homepage at www.in-berlin.de/Use r/ronin/miktex/index.html. These include the release of a new version of DVIPS (v5.72) and typos in the configuration information for DVIWin.

Users of US letter size paper may want to change to papersize setting in the DVIPS config.ps file as explained in the HTML MiKTeX help file under DVIPS configuration.


APPENDIX C: Sample cmfonts.map file

This sample file is for the AMS CM font distribution only.

-----begin cmfonts.map-----

cmb10   CMB10   <c:\texmf\fonts\cmtype1\pfb\CMB10.pfb
cmbsy10 CMBSY10 <c:\texmf\fonts\cmtype1\pfb\CMBSY10.pfb
cmbx10  CMBX10  <c:\texmf\fonts\cmtype1\pfb\CMBX10.pfb
cmbx12  CMBX12  <c:\texmf\fonts\cmtype1\pfb\CMBX12.pfb
cmbx5   CMBX5   <c:\texmf\fonts\cmtype1\pfb\CMBX5.pfb
cmbx6   CMBX6   <c:\texmf\fonts\cmtype1\pfb\CMBX6.pfb
cmbx7   CMBX7   <c:\texmf\fonts\cmtype1\pfb\CMBX7.pfb
cmbx8   CMBX8   <c:\texmf\fonts\cmtype1\pfb\CMBX8.pfb
cmbx9   CMBX9   <c:\texmf\fonts\cmtype1\pfb\CMBX9.pfb
cmbxsl10        CMBXSL10        <c:\texmf\fonts\cmtype1\pfb\CMBXSL10.pfb
cmbxti10        CMBXTI10        <c:\texmf\fonts\cmtype1\pfb\CMBXTI10.pfb
cmcsc10 CMCSC10 <c:\texmf\fonts\cmtype1\pfb\CMCSC10.pfb
cmdunh10        CMDUNH10        <c:\texmf\fonts\cmtype1\pfb\CMDUNH10.pfb
cmex10  CMEX10  <c:\texmf\fonts\cmtype1\pfb\CMEX10.pfb
cmff10  CMFF10  <c:\texmf\fonts\cmtype1\pfb\CMFF10.pfb
cmfi10  CMFI10  <c:\texmf\fonts\cmtype1\pfb\CMFI10.pfb
cmfib8  CMFIB8  <c:\texmf\fonts\cmtype1\pfb\CMFIB8.pfb
cminch  CMINCH  <c:\texmf\fonts\cmtype1\pfb\CMINCH.pfb
cmitt10 CMITT10 <c:\texmf\fonts\cmtype1\pfb\CMITT10.pfb
cmmi10  CMMI10  <c:\texmf\fonts\cmtype1\pfb\CMMI10.pfb
cmmi12  CMMI12  <c:\texmf\fonts\cmtype1\pfb\CMMI12.pfb
cmmi5   CMMI5   <c:\texmf\fonts\cmtype1\pfb\CMMI5.pfb
cmmi6   CMMI6   <c:\texmf\fonts\cmtype1\pfb\CMMI6.pfb
cmmi7   CMMI7   <c:\texmf\fonts\cmtype1\pfb\CMMI7.pfb
cmmi8   CMMI8   <c:\texmf\fonts\cmtype1\pfb\CMMI8.pfb
cmmi9   CMMI9   <c:\texmf\fonts\cmtype1\pfb\CMMI9.pfb
cmmib10 CMMIB10 <c:\texmf\fonts\cmtype1\pfb\CMMIB10.pfb
cmr10   CMR10   <c:\texmf\fonts\cmtype1\pfb\CMR10.pfb
cmr12   CMR12   <c:\texmf\fonts\cmtype1\pfb\CMR12.pfb
cmr17   CMR17   <c:\texmf\fonts\cmtype1\pfb\CMR17.pfb
cmr5    CMR5    <c:\texmf\fonts\cmtype1\pfb\CMR5.pfb
cmr6    CMR6    <c:\texmf\fonts\cmtype1\pfb\CMR6.pfb
cmr7    CMR7    <c:\texmf\fonts\cmtype1\pfb\CMR7.pfb
cmr8    CMR8    <c:\texmf\fonts\cmtype1\pfb\CMR8.pfb
cmr9    CMR9    <c:\texmf\fonts\cmtype1\pfb\CMR9.pfb
cmsl10  CMSL10  <c:\texmf\fonts\cmtype1\pfb\CMSL10.pfb
cmsl12  CMSL12  <c:\texmf\fonts\cmtype1\pfb\CMSL12.pfb
cmsl8   CMSL8   <c:\texmf\fonts\cmtype1\pfb\CMSL8.pfb
cmsl9   CMSL9   <c:\texmf\fonts\cmtype1\pfb\CMSL9.pfb
cmsltt10        CMSLTT10        <c:\texmf\fonts\cmtype1\pfb\CMSLTT10.pfb
cmss10  CMSS10  <c:\texmf\fonts\cmtype1\pfb\CMSS10.pfb
cmss12  CMSS12  <c:\texmf\fonts\cmtype1\pfb\CMSS12.pfb
cmss17  CMSS17  <c:\texmf\fonts\cmtype1\pfb\CMSS17.pfb
cmss8   CMSS8   <c:\texmf\fonts\cmtype1\pfb\CMSS8.pfb
cmss9   CMSS9   <c:\texmf\fonts\cmtype1\pfb\CMSS9.pfb
cmssbx10        CMSSBX10        <c:\texmf\fonts\cmtype1\pfb\CMSSBX10.pfb
cmssdc10        CMSSDC10        <c:\texmf\fonts\cmtype1\pfb\CMSSDC10.pfb
cmssi10 CMSSI10 <c:\texmf\fonts\cmtype1\pfb\CMSSI10.pfb
cmssi12 CMSSI12 <c:\texmf\fonts\cmtype1\pfb\CMSSI12.pfb
cmssi17 CMSSI17 <c:\texmf\fonts\cmtype1\pfb\CMSSI17.pfb
cmssi8  CMSSI8  <c:\texmf\fonts\cmtype1\pfb\CMSSI8.pfb
cmssi9  CMSSI9  <c:\texmf\fonts\cmtype1\pfb\CMSSI9.pfb
cmssq8  CMSSQ8  <c:\texmf\fonts\cmtype1\pfb\CMSSQ8.pfb
cmssqi8 CMSSQI8 <c:\texmf\fonts\cmtype1\pfb\CMSSQI8.pfb
cmsy10  CMSY10  <c:\texmf\fonts\cmtype1\pfb\CMSY10.pfb
cmsy5   CMSY5   <c:\texmf\fonts\cmtype1\pfb\CMSY5.pfb
cmsy6   CMSY6   <c:\texmf\fonts\cmtype1\pfb\CMSY6.pfb
cmsy7   CMSY7   <c:\texmf\fonts\cmtype1\pfb\CMSY7.pfb
cmsy8   CMSY8   <c:\texmf\fonts\cmtype1\pfb\CMSY8.pfb
cmsy9   CMSY9   <c:\texmf\fonts\cmtype1\pfb\CMSY9.pfb
cmtcsc10        CMTCSC10        <c:\texmf\fonts\cmtype1\pfb\CMTCSC10.pfb
cmtex10 CMTEX10 <c:\texmf\fonts\cmtype1\pfb\CMTEX10.pfb
cmtex8  CMTEX8  <c:\texmf\fonts\cmtype1\pfb\CMTEX8.pfb
cmtex9  CMTEX9  <c:\texmf\fonts\cmtype1\pfb\CMTEX9.pfb
cmti10  CMTI10  <c:\texmf\fonts\cmtype1\pfb\CMTI10.pfb
cmti12  CMTI12  <c:\texmf\fonts\cmtype1\pfb\CMTI12.pfb
cmti7   CMTI7   <c:\texmf\fonts\cmtype1\pfb\CMTI7.pfb
cmti8   CMTI8   <c:\texmf\fonts\cmtype1\pfb\CMTI8.pfb
cmti9   CMTI9   <c:\texmf\fonts\cmtype1\pfb\CMTI9.pfb
cmtt10  CMTT10  <c:\texmf\fonts\cmtype1\pfb\CMTT10.pfb
cmtt12  CMTT12  <c:\texmf\fonts\cmtype1\pfb\CMTT12.pfb
cmtt8   CMTT8   <c:\texmf\fonts\cmtype1\pfb\CMTT8.pfb
cmtt9   CMTT9   <c:\texmf\fonts\cmtype1\pfb\CMTT9.pfb
cmu10   CMU10   <c:\texmf\fonts\cmtype1\pfb\CMU10.pfb
cmvtt10 CMVTT10 <c:\texmf\fonts\cmtype1\pfb\CMVTT10.pfb
lasy10  LASY10  <c:\texmf\fonts\cmtype1\pfb\LASY10.pfb
lasy5   LASY5   <c:\texmf\fonts\cmtype1\pfb\LASY5.pfb
lasy6   LASY6   <c:\texmf\fonts\cmtype1\pfb\LASY6.pfb
lasy7   LASY7   <c:\texmf\fonts\cmtype1\pfb\LASY7.pfb
lasy8   LASY8   <c:\texmf\fonts\cmtype1\pfb\LASY8.pfb
lasy9   LASY9   <c:\texmf\fonts\cmtype1\pfb\LASY9.pfb
lasyb10 LASYB10 <c:\texmf\fonts\cmtype1\pfb\LASYB10.pfb
lcircle1        LCIRCLE1        <c:\texmf\fonts\cmtype1\pfb\LCIRCLE1.pfb
lcirclew        LCIRCLEW        <c:\texmf\fonts\cmtype1\pfb\LCIRCLEW.pfb
lcmss8  LCMSS8  <c:\texmf\fonts\cmtype1\pfb\LCMSS8.pfb
lcmssb8 LCMSSB8 <c:\texmf\fonts\cmtype1\pfb\LCMSSB8.pfb
lcmssi8 LCMSSI8 <c:\texmf\fonts\cmtype1\pfb\LCMSSI8.pfb
line10  LINE10  <c:\texmf\fonts\cmtype1\pfb\LINE10.pfb
linew10 LINEW10 <c:\texmf\fonts\cmtype1\pfb\LINEW10.pfb
logo10  LOGO10  <c:\texmf\fonts\cmtype1\pfb\LOGO10.pfb
logo8   LOGO8   <c:\texmf\fonts\cmtype1\pfb\LOGO8.pfb
logo9   LOGO9   <c:\texmf\fonts\cmtype1\pfb\LOGO9.pfb
logobf10        LOGOBF10        <c:\texmf\fonts\cmtype1\pfb\LOGOBF10.pfb
logosl10        LOGOSL10        <c:\texmf\fonts\cmtype1\pfb\LOGOSL10.pfb
-----end cmfonts.map------