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 :
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.
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
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
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
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
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
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.