Re: Windows Glyph Handling

From: John Hudson (
Date: Tue Aug 23 2005 - 15:26:03 CDT

  • Next message: John Hudson: "Re: 28th IUC paper - Tamil Unicode New"

    Richard Wordingham wrote:

    >> In the OpenType model re-ordering is specifically NOT handled at the
    >> glyph level, but at the character level. This is why it only works
    >> with standard Unicode characters, and not codepoints in what I've come
    >> to regard as the 'Pretty Useless Area'.

    > Do you mean 'OpenType' or something like 'Uniscribe/OpenType' or
    > 'Microsoft'?

    I mean OpenType. The OpenType GSUB and GPOS lookup types are not designed for glyph
    *re-ordering*. There is no mechanism within OpenType to say 'take this sequence ABC and
    rearrange it to ACB'. It is a presumption of the format that re-ordering, and other
    aspects of language processing, is done at the (buffered) character level. Both Microsoft
    and Adobe will tell you this. It was a design decision, and one that has been discussed in
    numerous articles, discussion lists, conference sessions etc. for the better part of a decade.

    > There's no mention of re-ordering by Uniscribe (or equivalent) or of
    > breaking into runs by script - Step 0!. You have to read higher level
    > documentation to realise that the characters may be re-ordered (or even
    > changed!) before the font tables can affect them.

    Yes, precisely. Character level re-ordering is not discussed within the OpenType spec
    itself because it is not something that happens within the font format. The OT spec also
    doesn't talk about the need for character level analysis of e.g. Arabic text to determine
    which OTL features should be applied to the default glyphs for each character dependent on
    word position and neighbouring characters, because that is not something that happens
    within the font format. OpenType fonts are part of larger architectures for script and
    language support, always relying on external shaping engines for a variety of functions,
    whether those shaping engines are in Unscribe, ICU, CoolType, etc. The shaping engines
    handle the character end and the font handles the glyph end; between them is some kind of
    generic OTL handler such as Microsoft's OTLS.

    John Hudson

    Tiro Typeworks
    Vancouver, BC

    This archive was generated by hypermail 2.1.5 : Tue Aug 23 2005 - 15:26:50 CDT