wales@valeria.cs.ucla.edu (Rich Wales) (09/07/90)
I would like to figure out a way to generate kerning information auto- matically for a soft font (e.g., an HP LJ IIP font). There's a good chance I'll be starting to use WordPerfect 5.1 later this year. WordPerfect (unlike Microsoft Word, my current word processing program of choice) has facilities to support kerning. Since HP soft font files themselves have no provision for kerning info, "free" fonts (e.g., from the Waterloo archive) tend not to come with any kerning tables. What I'm currently thinking of is a program which would construct the character shapes for a given font in memory -- then take each pair of symbols and try to move them closer together (up to some minimum dis- tance, measured in any direction). I suspect the above idea is too simplistic, though, and I'd like to hear any comments, pointers to authoritative works on the subject, etc. I've read what little Knuth has to say about kerning in the Metafont book. On the one hand, he doesn't say very much about how to decide what amount of kerning is appropriate and where. On the other hand, given Knuth's background in typesetting, the fact that he doesn't say much about it in his book suggests that maybe there =is= no real theory. -- -- Rich Wales <wales@CS.UCLA.EDU> // UCLA Computer Science Department 3531 Boelter Hall // Los Angeles, CA 90024-1596 // +1 (213) 825-5683 "You must not drink the tea. It is deadly to humans."
daniel@osf.org (Daniel Dardailler) (09/07/90)
You can't generate kerning tables (pair or track) with only the knowlegde of the character codes. You might think that when you have "AV" then you can remove some pixels to the left, but it's not always the case. There are about 100 to 300 pair kerning entries in a standard font, and most of them depend on the shape of the glyph, not only of the relative codes. Just look at the pair "L-": in the Times family, because of the right serif of the L, the kerning of the - is positive (shift to the right). in Helvetica family, as there is no serif and an empty space, the kerning is negative... The kerning tables should be done when the font is created, by the font designer him(her)self. It's generally the case, but most of our poor computer font formats think it's not useful to carry them during the lifetime of the font. Daniel Dardailler | OSF/Motif Team Open Software Foundation | Email : daniel@osf.org 11 Cambridge Center | Phone : (617) 621 8840 CAMBRIDGE, MA 02142 | Fax : (617) 621 0584 Disclaimer : This is just my opinion, not my employer's
wales@valeria.cs.ucla.edu (Rich Wales) (09/07/90)
In article <38743@shemp.CS.UCLA.EDU> I asked for ideas regarding auto- matic generation of kerning info. In article <12990@paperboy.OSF.ORG> daniel@osf.org (Daniel Dardailler) replied: You can't generate kerning tables (pair or track) with only the knowledge of the character codes. You might think that when you have "AV" then you can remove some pixels to the left, but it's not always the case. There are about 100 to 300 pair kerning entries in a standard font, and most of them depend on the shape of the glyph, not only of the relative codes. Apparently my original article was misunderstood. It was never my intention to generate kerning solely on the basis of the character codes. What I was intending to do was to create the actual shapes (glyphs) within the program -- then see how the shapes of various pairs of characters happen to fit together in a given font. -- -- Rich Wales <wales@CS.UCLA.EDU> // UCLA Computer Science Department 3531 Boelter Hall // Los Angeles, CA 90024-1596 // +1 (213) 825-5683 "You must not drink the tea. It is deadly to humans."
dhosek@frigga.claremont.edu (Hosek, Donald A.) (09/08/90)
[A question was asked about heuristics for determining kerning between character pairs.] The basic principle that guides both letter design and the kerning is that for maximum readability, the vertical (or mostly vertical, e.g., the sides of an "o") lines of a font should be fairly evenly spaced. In general, this is going to be largely a function of the character design itself (and it is worth noting that many fonts supplied without kerning information have been adapted to compensate somewhat for that loss). Where kerning is most important in many fonts is between pairs of capitals (e.g., LT, AV, etc.), although, my feeling is that all-caps text should be letter spaced rather than kerned (i.e., rather than bringing AV closer together, pull II further apart). Comparison of older titling in all caps with letter spacing to a dtp monstrosity will indicate the difference in readability. -dh --- Don Hosek TeX, LaTeX, and Metafont support, consulting dhosek@ymir.claremont.edu installation and production work. dhosek@ymir.bitnet Free Estimates. uunet!jarthur!ymir Phone: 714-625-0147 finger dhosek@ymir.claremont.edu for more info
laporta@apollo.HP.COM (John X. Laporta) (09/08/90)
>What I'm currently thinking of is a program which would construct the >character shapes for a given font in memory -- then take each pair of >symbols and try to move them closer together (up to some minimum dis- >tance, measured in any direction). > As far as I know the original kerning was done in Venice by Aldo Manutius sometime in the last 1400's. He took his letter forms and filed off each corner when the counter (flat surface from which typeform rises) at that corner was spacious. Then when he set type the characters kerned when the filing angles fit into one another. That is, `W' and `A' would kern, but `H' and `A' would not. So it sounds like your proposal is in the best typographic tradition, certainly one of the oldest, and Manutius' work is generally regarded as very elegant. By the way, are you aware that there are three types of kerning, and all three may be enabled simultaneously: overall kerning - an identical (positive/negative) amount is added to the distance between each pair of characters. track kerning - like overall kerning, but the values differ for different ranges of point sizes within a given font. pairwise/triplet kerning - a lookup table offers kerning increments/decrements for specific pairs of characters and for the pairs in specific triplets. Kerning triplets are often used when the font has no ligatures (e.g. for "ffl"). The kerning you are talking about is pairwise decrement. John