To start off understanding how Macintosh stores PostScript fonts, first you need to know that a Macintosh file consists of two different parts, called ``forks''. The two forks of a Macintosh file are called the ``resource fork'' and the ``data fork''.
The data fork normally contains the data of the file. In the case of a text editor, for instance, the data fork contains the text.
The resource fork contains system (resource) information about the file: who owns the file, its icon maybe, and other information. The various bits of information in the resource fork are contained in a complex structure. One of the items is a resource map, detailing the different kinds of resources and their positions in the resource fork.
The reason you need to know all this is because PostScript Type 1 fonts are stored in the resource fork of Macintosh files. Why this was done is a historical mystery now, because the information could just as easily have been stored in the data fork in a format similar to PFB, and unpacking fonts would have been a whole lot easier.
PostScript Type 1 fonts are stored in resources with the name POST''. If you aren't familiar with the layout of resource forks, study the ``Resource Manager'' chapter of the Inside Macintosh books. Details of Macintosh PostScript Type 1 storage format can be found in Adobe Technical Note #5040, ``Supporting Downloadable PostScript Fonts''. The information in the Adobe Technical Note is incomplete in the sense that you need to understand the layout of Macintosh resource forks to make sense of the information.
In the majority of cases, you can assume that the POST resources are stored contiguously in the resource fork. Unfortunately, there are a few cases where this isn't true, and the resulting PFA file will be incorrect.
POST resources occur in five types. Type 0 are comments. Type 1 are ASCII data. Type 2 are binary data. Type 3 are end of this font program. Type 4 means that the remainder of this font appears in the data fork of the file! Type 5 means end of file.
Having talked about PostScript Type 1 fonts being stored in the resource fork, why is there a case where the font comes out of the data fork? Some PostScript Type 3 fonts are stored in this manner.