[cairo] freetype backend: ignore global advace if required

Keith Packard keithp at keithp.com
Mon Aug 22 13:42:29 PDT 2005


On Mon, 2005-08-22 at 12:52 -0400, Owen Taylor wrote:

>  - How common are fonts that set isFixedPitch but have multiple
>    character widths?

Many (most?) CJK fonts have two character widths, and many of these 
set isFixedPitch. Fontconfig will tell you which fonts have this
'feature'.

>  - How common are fonts that have a correct advanceWidthMax but
>    buggy advances for individual characters?

This group is full of nominally monospaced fonts (courier, et al) which
have been extended to support a broader Unicode range. Often, these
additional characters are of different width than the base font. In
addition, these fonts are often ammended with zero width characters.
The trouble here occurs when the maximum width is not the same as the
nominal width; using the global advance makes things look right for most
characters.

> If the second group is much bigger than the first group, then
> your patch is right ... we should default to not setting
> the FreeType flag. If the first group is bigger than the second
> group, the default should go the other way.

The correct answer is "it depends". If you're using CJK fonts, the first
group is very common. If you're in terminal emulator land, the second is
more common.

Given that few applications need monospaced characters, it's arguably
better to ignore global advance by default and expect that applications
will be able to manage varible pitch text correctly.

-keith

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.freedesktop.org/archives/cairo/attachments/20050822/470809fc/attachment-0001.pgp


More information about the cairo mailing list