From: Eric Muller (emuller@adobe.com)
Date: Wed Jan 19 2005 - 18:37:39 CST
Christopher Fynn wrote:
> In Microsoft fonts where glyphs for these characters are present,
> these glyphs seem to have zero advance width. I guess it is this way
> for applications which simplisticly calculate line length using the
> width of glyphs directly mapped to characters?
Speaking as a layout engine developer: One requirement of the "show
controls" mode is that the layout be exactly the same as in the "don't
show controls" mode. I believe that the only robust way to achieve that
is to use the exact same layout in both cases. This more or less
implies that the control glyphs should not be part of the normal
layout, but instead be painted separately, on top of the "don't show
controls" layout.
Consider the extreme case where the font does not have any provision for
"show controls", e.g. does not include glyphs for the control
characters: if you leave the control characters in the rendered stream,
you end up with .notdef glyphs for them, which may prevent some glyph
substitutions or have other adverse effects, and therefore produce a
different layout. Even if a font has today all the proper provisions for
control characters, the addition of a control character to Unicode just
breaks it.
With a separate rendering pass, the advance width of the control glyphs
(and pretty much all their other characteristics) does not matter anymore.
Eric.
This archive was generated by hypermail 2.1.5 : Wed Jan 19 2005 - 18:38:42 CST