xmlgraphics-fop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luca Furini <lfur...@cs.unibo.it>
Subject Re: Kerning
Date Fri, 09 Dec 2005 13:41:45 GMT
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 
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 


View raw message