# Using Postscript Type 1 Fonts with MiKTeX

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.
   - The AMS versions of PS Type 1 Computer Modern are available from CTAN at http://tug2.cs.umb.edu/ctan/tex-archive/fonts/cm/ps-type1/blues ky/index.htm.
   - The set is also available from the AMS at ftp://e-math.ams.org/pub/ tex/cmfonts/ps.
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.
   - Each line of this file refers to a particular font. The format is:

             TeX_font_name    PostScript_font_name    <full_path_to_pfb_file

     The optional "<" symbol at front of the pfb file instructs DVIPS to embed this Type 1 PS font file in the resulting PostScript. Since few printers have the TeX fonts installed, I would suggest that you set all the CM fonts to be embedded in your documents.
   - A typical .map file is shown in Appendix C. You may need to modify it for the font path that you selected in step 1.
   - I suggest you name it `CMFONTS.MAP` as the `DVIPS` configuration file (see step 5) is preconfigured for this .map file.
   - Save this map file in the DVIPS `init` directory (e.g.: `c:\texmf\dvips\init\cmfonts.map`).
5. Edit the DVIPS configuration to reference your new .map file.
   - Open `c:\texmf\dvips\init\config.ps`.
   - Remove the comment symbol (*) from the line that contains `*p +cmfonts.map` (line 20 in 1.07 distribution).
   - Modify this line to reference the .map file you created in step 4 (the path is not necessary since you put your .map file in the init directory) (e.g. you should have: `p+ cmfonts.map`).
6. Add the Adobe font encoding file to the `dvips\inputs` directory.
   - Obtain the `ad.enc` file from CTAN at http://tug2.cs.umb.edu/ctan/tex-archive/info/fontname/ad.enc/index. html.
   - Copy ad.enc to `c:\texmf\dvips\inputs`.
7. Edit the MiKTeX configuration for the TEXFONTS path.
   - Open `c:\texmf\miktex\config\miktex.environment`.
   - Add your font path from step 1 to the TEXFONTS= line. (This is line 104 in the 1.07 distribution.) (e.g.: `TEXFONTS=%R\fonts\tfm//;%R\fonts\cmtype1//`)
   - Note that the `//` at the end of a path instructs MiKTeX to search all subdirectories (such as your pfb and pfm directories).
8. Update the MiKTeX configuration.
   - Run `CONFIGURE.EXE` to update the registry with the changes you make to `miktex.environment`.
   - Run `CONFIGURE.EXE -U` to update the MiKTeX filename database.
9. Check to see that DVIPS is including PostScript CM fonts in your PS files.
   - Run DVIPS on a dvi file that you know contains CM fonts. (e.g.: `c:\texmf\doc\dvips\dvips.dvi`)
   - DVIPS will show complaints if it cannot find a certain font file. If it is including PS fonts, you will see a list of the PS font files accessed (e.g. `<C:\texmf\fonts\cmtype1\pfb\CMR8.pfb>`).
   - You should also check that the PostScript file has PS fonts in it instead of bitmapped ones. Somewhere in the PS file you should see something like:

         %%BeginFont: CMMI10
         %!PS-AdobeFont-1.1: CMMI10 1.100
         %%CreationDate: 1996 Jul 23 07:53:57

     you should NOT see a line like:

         %DVIPSBitmapFont: Fb cmmi10 10 2

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------