Go to the previous, next chapter.

PostScript to MetaFont

ps2mf started out as a way of creating bitmaps via MF for TeX. Only, when I had just finished it, Piet Tutelaers came with ps2pk. This was a far superior way runtime-wise. He uses the IBM X11-R5 fontutilities library, which is extremely ugly code. But, it works. So, to generate bitmaps, I suggest everyone use ps2pk.

To generate a MF outline description, ps2mf is *the* tool. Yannis Haralambous has just started a project where he wants to create meta-ized fonts for MF from Postscript descriptions. ps2mf does the basic conversion. This project wants to revive the use of MF for it is a truly beautiful program with enormous possiblities.

The following information comes from the README file for ps2mf:

This is pfb2mf. It is a copyleft program. See the file COPYING for more details. I suggest that for the translation of Type-One to readable PostScript you use I. Lee Hetherington's Type-1-Utils. You can find these somewhere on obelix.icce.rug.nl in pub/erikjan.

If you find any bugs, please do report.

If you have any complaints, please do report.

Now for some info about the different stages. This package contains four programs:

pfb2pfa

pfb2pfa will decompress an IBM (!) Postscript type 1 fontfile into readable and downloadable hexadecimal data.

The resulting file still contains two layers of encryption:

pfa2chr

pfa2chr will do an eexec-decryption of a readable hexadecimal font file to a fontfile with encrypted charstrings.

chr2ps

chr2ps will perform a charstring-decryption of a font file with encrypted charstrings to fontfile with postscript commands for type 1 fonts.

With a ``-'' as filename, these programs will read from and write to . This way you can pipe the results, as in:

  pfb2pfa garmnd - | pfa2chr - - | chr2ps - garmnd

This will create a garmnd.ps from garmnd.pfb without explicitely creating the intermediate files.

These previous stages can be replaced by (when using Lee Hetherington's type-1-utils):

t1disasm garmnd.pfb garmnd.ps

ps2mf

This last stage will convert to a MetaFont program with the use of the corresponding .afm file and a mapping configuration file. It can convert to an ordinary form with Bezier controlpoints. It can also generate a curl specification. For this last option specifify -C.