[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: "Kerning?"



** Reply to note from "R Tennenbaum"  Sat, 15 Feb 97 22:25:07 -0400

Annie's comment about attributes got me thinking about the printer file and
other ways to introduce intercharacter spacing.

One would be a 3Plus-style solution involving a combination of WiDth and
SUbstitution tables. In a SUb table, you could set a random character
(e.g. Ascii-94) equal to a 1-dot movement, e.g.:
 ^={27}*p+1X
then in a WiDth table set "^" to 1:
 ^=1
Your space widths would be reckoned as part of the line length calculation
(hence, no problem with long lines or with JU). Enter as many "^"s as you
want, to pad intercharacter space. (Prior to v3.55, true kerning was a
real possibility with strategies like this, because negative numbers were
accepted in WD tables.) It would be clumsy to insert the spaces, they'd
look lousy on the display, you'd be limited to bitmapped nonscaleable
fonts, and you'd have to fundamentally revise your PRN file back in the
very direction of immense complexity that Xy4 tried to escape! But
otherwise, not bad at all!

Another solution is to use the built-in "#" operator in attribute tables,
which inserts a specified string after every character in a MoDe. Thus,
you could establish an attribute like SPACE:

 AT:SPACE
 AT#{27}*p+10X
 ET

then assign SPACE to a MoDe:

 PT=1
 ...
 MD RV=(*+SPACE)

It oughtta work. But it would be a static space (1/30th of an inch, in the
example, at 300x300dpi), and it would not be included in the calculation of
line lengths. Sure would be easy to use though. Note that a quirk of it
is that you'd have to write:
 Jack Paar
to inhibit a gratuitous space after the letter "r".

Bottom line is, there's no way to get dynamic intercharacter spaces short
of a marriage of PI and XPL -- although that would be very easy. Unless
Annie can do it in PS... (but doesn't that require an external formatting
program like Ghostscript? sounds cumbersome to me, printing is a real bore
in my book).



-----------
Robert Holmgren
holmgren@xxxxxxxx
-----------