Re: Forms for invisible ZWJ (and ZWNJ)

From: Eric Muller (
Date: Wed Jan 19 2005 - 18:37:39 CST

  • Next message: Hans Aberg: "Re: Subject: Re: 32'nd bit & UTF-8"

    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.


    This archive was generated by hypermail 2.1.5 : Wed Jan 19 2005 - 18:38:42 CST