- From: Stavros Macrakis <macrakis@osf.org>
- Date: Tue, 14 May 1996 14:02:10 -0400
- To: Abigail <abigail@tungsten.gn.iaf.nl>
- Cc: www-html@w3.org
Abigail <abigail@tungsten.gn.iaf.nl> said: I've always problems in imagining how wide a space is in a propotional font. For instance, in aligned text (both right and left) interword space clearly differs from line to line. As your example shows, there is NO standard interword space. In fact, even interletter space (letter spacing) is somewhat flexible in good typography. In good typesetting programs, there will be several kinds of fixed space defined: an en space (the width of the letter "n"); an em space (the width of the letter "m", and guaranteed to be at least as wide as the widest letter); a numeric space (the width of a number, used to align numbers in tables -- note that all numbers must be the same width). Scott E. Preece <preece@predator.urbana.mcd.mot.com> wrote: ...Another mode that would be extremely useful is 1. proportional type 2. no autofilling 3. preserve whitespace as provided (either by keeping as individual space characters or by tabbing to the indicated depth) In addition to the obvious use for poetry, this would be good for code, for those of us who believe code should be pretty-printed, rather than monospaced.... This is not good enough. For one thing, "preserve whitespace" is not well defined unless you calculate it assuming that all letters are of maximal width (1 em). For indentation only, assuming initial spaces are 1 em wide will work fairly well. However, this will not work for indenting past the whitespace. For instance, consider indenting argument lists and comments: do_my_function ( long_identifier / scale_factor, /* Must scale */ mainstruct.subfield -> stuff, "The end of the world is nigh.") /* Error message */ What is really needed is a way of saying that certain places must align. In general, this will require two passes (like table layout). The markup might look something like: do_my_function ( <tab 1>long_identifier / scale_factor, <tab 2>/* Must scale */ <tab 1>mainstruct.subfield -> stuff, <tab 1>"The end of the world is nigh.") <tab 2>/* Error message */ If a certain amount of whitespace was required in certain places, you could presumably use (say) a hard space (Latin-1 character hex a0 =" "). Note that global tabs are _not_ appropriate in many cases. Consider the setting of verse plays: Ant. Thou art perfect then, our ship hath touch'd upon (345) The deserts of Bohemia? (346) Mar. Ay, my lord; and fear (347) We have landed in ill time.... (348) presumably to be represented as something like: Ant. <tab n=sp>Thou art perfect then, our ship hath touch'd upon<tab n=lineref>(345) <tab n=sp>The deserts of Bohemia?<tab new n=split><tab n=lineref>(346) Mar. <tab n=split>Ay, my lord; and fear<tab n=lineref>(347) <tab n=sp>We have landed in ill time....<tab n=lineref>(348) In some cases, you may want to set hemistiches aligned right and left: Andra moi ennepe, mousa, polytropon, hos mala polla planchthe, epei Troies hieron ptoliethron epersen -s
Received on Tuesday, 14 May 1996 14:02:20 UTC