[comp.lang.postscript] Type 1 Font Format Inconsistency

orthlieb@adobe.COM (Carl Orthlieb) (07/14/90)

I talked to our font guru about the apparent inconsistency.

>jdf@lri.lri.fr (Daniel Fekete) writes:

>In the description of the Flex feature, there seems to be a mistake.
>The code provided at the end of the book does not seem to match the
>description of page 77.
>
>"Add the final parameters and call to Subrs entry 0. The First
>parameter declares the size [...]. The second and third numbers are
>the final coordinate [...]"
>
>Whereas the Flex routine defined in Appendix 3 (page 92) line 32
>starts by binding the parameter /dmin, then /epX and /epY (standing
>for "end point X" and "end point Y" I guess).
>
>Did I miss something or is there an error somewhere, and in that case,
>who is right ?

The question regarding the apparent inconsistency in the Type 1
Book between the text description (page 77) of the Flex Mechanishm and the
PostScript code on Page 92, can be explained as follows: The arguments
shown on page 77 get interpreted by the Type 1 BuildChar interpreter,
and arguments are pushed on the Type 1 BuildChar Operand Stack. The
subsequent call to othersubr 0 results in a call to the PostScript 
Interpreter (as opposed to the BuildChar interpreter) in order to 
interpret the PostScript routine used for the Flex mechanism. The
description of the callothersubr operator, on page 55, explains that
when the arguments are transferred from the BuildChar operand stack to
the PostScript operand stack, that the argument order will be reversed.
At that point, the size parameter will be on the top of the stack,
followed by x and y coordinates, which is the order in which they are
def'd in the procedure.

Terry