Go to the previous, next chapter.

Converting Mac Type 1 fonts to MS-DOS format

Converting Macintosh Type1 fonts into PC Type1 fonts can be done using purely free/shareware tools. I've outlined the procedure below. Make sure you read the ``readme'' files that accompany many fonts. Some font authors specifically deny permission to do cross-platform conversions.

The tools you need

xbin23.zip in /pub/msdos/mac on oak.oakland.edu (or other mirrors)
unsit30.zip in /pub/msdos/mac on oak.oakland.edu
unsiti.exe in /pub/onset/util on ftp.std.com

Peter Gentry indicates that this program can extract SIT archives that use the newer compression techniques that unsit doesn't recognize.

ext-pc.zip in /pub/pc/win3/util on ftp.cica.indiana.edu
refont14.zip from http://www.ora.com/homepages/comp.fonts/FAQ-tools.htm
bm2af02.zip from http://www.ora.com/homepages/comp.fonts/FAQ-tools.htm

XBIN converts Mac ``BinHex''ed files back into binary format. BinHex is the Mac equivalent of UUencoding, it translates files into ascii characters so that mailers can send them around without difficulty. It also aids in cross platform copying too, I'm sure. BinHexed files generally have filenames of the form ``xxx.yyy.HQX''.

UNSIT explodes ``Stuffit'' archives. Stuffit archives generally have filenames of the form ``xxx.SIT''. UNSIT will ask if you want to seperate resource and data forks. Yes, you do. There has been some confusion about whether or not you want headers. I'm inclined to conclude that it can be made to work either way. Personally, I say no.

UNCPT explodes ``Compactor'' archives. The ext-pc implementation is called ``extract'' and does not require windows (even thought it's in the windows section on cica). Compactor archives generally have filenames of the form ``xxx.CPT''.

REFONT converts Mac type1 fonts into PC type1 fonts. It also converts Mac TrueType fonts to PC TrueType format. And vice-versa.

BMAP2AFM constructs AFM files from the metric information contained in Mac screen fonts (.bmap files). The screen font files do not have any standard name (although they frequently have the extension .bmap). The screen fonts have file type ``FFIL'' which, in combination with some common sense, is usually sufficient to identify them.

I've listed the tools that I've used and the sites that are reasonable for me to retrieve them from. It's probably a good idea to check with archie for closer sites if you're not in North America. These tools run under MS-DOS. XBIN and UNSIT can also be run under Unix.

How to do it?

Collect the Mac fonts from the archive or BBS of your choice. Most of these files will be in BinHexed format. As a running example, I'm going to use the imaginary font ``Plugh.cpt.hqx''. When I download this font to my PC, I would use the name ``PLUGH.CPX''. The actual name you use is immaterial.

Run XBIN on PLUGH.CPX. This will produce PLUGH.DAT, PLUGH.INF, and PLUGH.RSR. The data fork of the Mac file (the .DAT file) is the only one of interest to us, you can delete the others.

If the original file had been ``Plugh.sit.hqx'', we would be using the UNSIT program. Since I chose a .cpt file for this example, I'm going to run UNCPT.

Run UNCPT on PLUGH.DAT. You want to extract the AFM file (if present), the documentation or readme file (if present), and the Type1 outline file. The AFM and README files will be in the data fork of the archive file. The Type1 outline will be in the resource fork. The AFM and README files have Mac ``TEXT" type. The Type1 outline file has "LWFN'' type. I'm not trying to describe this part in a step-by-step fashion. Use the docs for UNCPT and UNSIT as a guide. If you got this far you probably won't have much difficulty. If you do, drop me a line and I'll try to help.

If the font does not contain an AFM file, extract the screen font. Screen fonts frequently have the extension .bmap and are ``FFIL'' type files. Use Bmap2AFM to construct an AFM from the screen font. If the archive _does_ contain an AFM file, it's safe to bet that the author's AFM will be better than the one created by Bmap2AFM.

Finally, run REFONT on the Type1 outline that you extracted above. The result should be an appropriate PC type1 outline. REFONT will create a PFM file for you from the AFM file, if you desire.

Remember to register your shareware...

Other comments

vkautto@snakemail.hut.FI makes the following observations:

Excerpted from The comp.fonts FAQ, Copyright © 1992-96 by Norman Walsh