FWIW, the FOray PostScript interpreter is now able to successfully parse any
Type 1 font that I have thrown at it, store the data structures, and
retrieve them. This includes the ability to parse the encrypted portion of
the font, whether in binary or ASCII hexadecimal.

The FOray font package is therefore now able to correctly gather the
FontBBox and StemV values for a PDF. (The ItalicAngle has also been elusive
-- it is actually in the PFM file under the name etmSlant. The FOray package
now parses and uses it as well.) I think this means that all of the elusive,
estimated pieces are now correctly computed using 1) either a PFA or PFB
file and 2) a PFM file.

This will also help in future subsetting work, and font embedding
enhancements (like converting ASCII hex fonts to binary to make the file
smaller).

Since the parsing takes some extra time and memory, I may need to provide
ways to cripple or partially cripple this process for users who don't want
to pay that much for the benefit.

An AFM parser is still needed, primarily so that users can conveniently
override values if they need to. But I think the backwards-compatible
ability to not require an AFM file is nice.

The PostScript parser itself is pretty rudimentary. After pulling the errors
and obvious non-operator items out of the list, there appear to be 352
operators for Level 2 compliance. I have only implemented 42 of them so far.
However, a lot of the brain-bending part of the design work is done, and I
think it should be a good starting place for other PostScript-related
projects, like EPS conversion. Here is the ViewCVS link to the
PSInterpreter:
http://cvs.sourceforge.net/viewcvs.py/foray/foray/foray-ps/src/java/org/fora
y/ps/PSInterpreter.java?view=markup

The other files are in the same directory.

I'll probably leave it alone until I need more from it, but I wanted to
update Jeremias and anyone else who is interested.

Victor Mote

Reply via email to