You seem to be right. I've just looked at the AFM specification and
there is a keyword for defining a kerning pair with a kerning vector
i.e., the horizontal and vertical amounts by which to move the second
character relative to the first one. I guess this type of kerning is
very rare (if existent) for western fonts, but may exist for others.

The AFM spec doesn't specify other kerning informations but the new
OpenType format may do, I don't know.

Regarding the LaTeX logo, this is just a series of TeX commands with
manually-adjusted kerning (which works only for the original Knuth
Computer Modern font); one can perfectly mimic that using standard FO
constructs like letter-spacing and alignment-adjust.

As far as I know, the dotless i and j characters also are special
characters that may be obtained with special commands (\i and \j). That
said, you may be refering to the more general font ligatures mechanism
(like the well-known fi, fl, ffi...): two or more characters are laid
out using a single glyph. I know that the OpenType spec defines tables
of ligatures. There is also perhaps a special Unicode property for
ligature characters (fi, fl and others appear at range FB00-FB06 in the
Unicode standard; there is also a bunch of special hebrew and arabic
characters that seem to be equivalent to ligatures).

Anyway, there are things to do in this area. I'm planning to have a look
at this in some (far?) future. I think there will be 2 levels, font and


Shannon Mann a écrit :
Hi Luca.

Its been over 15 years since I did any kerning, but, from what I remember, 
kerning isn't just left or right, its also up and down (and possibly other 
transforms/alterations for all I know).  Consider the kerned symbols in the 
LATeX logo.  The A is raised and snuggled between the L and the T.  I know that 
this is a special case, however, its worth verifying that the only spacing 
differences for all kerns are left/right.

I seem to remember that some characters (small i or j come to mind) lose their 
dots in certain circumstances as well - that may not be kerning, though - I 
don't remember, its been 15 years :-)  All of this would be from the LATeX 
manual and related documentation (MetaFont?), of which I don't have handy.


Shannon Mann

-----Original Message-----
From: Luca Furini [mailto:[EMAIL PROTECTED]
Sent: Friday, December 09, 2005 8:42 AM
Subject: Re: Kerning

Starting from your final summary:

Manuel Mall wrote:

IMO FOP should limit itself to:
a) Use kerning only for consecutive characters within the same fo

Ok, but more on this later in this message ...

b) Limit itself to the kerning information in the font


c) Only apply kerning if the letter-spacing property has the value "normal" (and the font supports it)

Isn't this condition too strong? I see kerning as an extra space, something that is added to the letter spacing, not something that replaces it.

A simple example with our kerning couple "AV":

a) at the moment kerning is not implemented, so with normal letter-spacing the space between A and V seems bigger than the space between I and L, for example;

b) we implement kerning, so the space between A and V is reduced and it visually looks like the space between I and L;

c) what if we have a negative letter-spacing? if we don't apply kerning any more, we go back to a): the space between A and V would seem bigger than the space between I and L.

In other words: if the kerning value stored in the font is correct, it should always be added to the letter spacing: it would make the characters overlap only when the letter-spacing alone would make "normal" characters overlap, and in this case this should be considered the desired output.

In the end XSL-FO has the letter-spacing property which users (and programs generating XSL-FO) can use to adjust kerning.

A little doubt concerning letter spaces: at the moment, a letter space is "assigned" to the preceding character. Is this correct? I don't remember any section in the specs stating about the "ownership" of letter spaces ... I think that everything is simpler, from the point of view of both users and implementors, if each letter space is owned by the preceding (or following) formatting object, but this does not mean it is what the specs require!

An example: if we have the text WORD where each letter is a fo:character, the first three fo:character ATM have a letter space each, and the fourth has none. All is ok as long as the fo:characters have no (or equal) letter-spacing, but what if each fo:character has a different letter-spacing property the ouput is different according to the fo:characters controlling letter spaces.


This transmission (including any attachments) may contain confidential 
information, privileged material (including material protected by the 
solicitor-client or other applicable privileges), or constitute non-public 
information. Any use of this information by anyone other than the intended 
recipient is prohibited. If you have received this transmission in error, 
please immediately reply to the sender and delete this information from your 
system. Use, dissemination, distribution, or reproduction of this transmission 
by unintended recipients is not authorized and may be unlawful.

  • RE: Kerning Shannon Mann
    • Re: Kerning Vincent Hennebert

Reply via email to