[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issue: PRETTY-PRINT-INTERFACE (version 3)



    Date: Sat, 18 Mar 89 01:32 EST
    From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
    
    I could not find any specification of the units of measurement for
    *PRINT-RIGHT-MARGIN*, *DEFAULT-RIGHT-MARGIN*, *PRINT-MISER-WIDTH*,
    indentation, and tabulation.  It's not even clear that margins,
    indentation, and tabulation can't be measured in three different
    units.  Analysis of the examples suggests that the units are
    assumed to be characters and all characters are assumed to be the
    same width.  This is not an implementation-independent assumption.
    In any case the proposal has to be specific about the units.  I
    would prefer something that seamlessly accomodates variable-width
    characters, but don't have enough experience with pretty-printers
    to propose anything myself.
    
I think that all three clearly have to be in the same units; the
writeup should be changed to specify this.  After thinking about it
for a while, it's not clear that the exact unit matters much as long
as it's not to small.  Pixels are too small; "n"'s or "m"'s aren't.
Personally I'd suggest an "m" as the standard unit.

Other than that, I don't think the propsal has terrible problems with
variable width (even kerned) fonts because most indentation is done
relative to the position of the start of another word.  This common
case can be handled with arbitrary precision; a variable width font
implementation would presumably indent to the exact pixel position of
the relevant character (how would that be expressed in Postscript?).

Of course parts of the proposal won't work for right-to-left or
top-to-bottom languages.  I think that rejecting the proposal because
of that would be ridiculous.