Re: Slots for Cyrillic Accented Vowels

From: Philippe Verdy (verdy_p@wanadoo.fr)
Date: Wed May 18 2011 - 18:14:40 CDT

  • Next message: fantasai: "Re: Properties"

    A general positioning scheme for all classes of diacritics (at least
    one) on all letters is definitely a must-have for high-quality fonts.

    Unfortunately, the OpenType format still does not support a generic
    positioning scheme that can act as a reasonnable rendering for
    letters+diacritics pairs that are still not specifically included in
    its embedded substitution and positioning tables.

    So if these letter+diacritic pairs are missing in OpenType features,
    all we get is a default positioning as specified in each diacritic
    separately, and that fails being rendered correctly quite often
    (notably for capital letters) in non monospaced fonts (the diacritic
    is not horizontally centered correctly). But even in monospaced fonts,
    the same diacritics are too often at the wrong vertical position (too
    low on capitals for diacritics above, too high for letters with
    descenders, or incorrectly attached, for example cedillas and
    ogoneks).

    The only solution would be that OpenType glyphs for each letter
    specify various attachment points for each class of diacritics
    supported in that font (there's not a lot of diacritics, and they
    belong to a limited set of attachement classes). This would work at
    least for a combination of at most one letter plus one diacritic, but
    nothing prevents also each diacritic to indicate other attachment
    point for secondary diacritics in the same class, using offseted
    metrics also to recompute the overall composition rectangle (including
    adjustments to the advance width) for the composition and optionally
    repositioning the other remaining unaffected attachment points.

    Adding a complete set of attachment points in each glyph could have a
    cost, but nothing prevents to assign each glyph to an attachments
    class, and define each attachment type as a list of offsets for each
    list of attachements classes.

    The renderer should also be able to order these diacritics according
    to their own attachment class (which is not strictly the same as the
    canonical combining class, due to some exceptions that could still be
    handled by encoding a limited number of specific letter+diacritic
    pairs in the SUB/POS tables of OpenType features, notably because
    these exceptions are causing glyph substitution as well for the
    diacritic itself, e.g. with the cedilla attached below sometimes
    transformed into cedilla attached above after some lowercase letters,
    depending on the presence of descenders on the letter, sometimes also
    depending to the effective visual design of the font-family).

    -- Philippe.

    2011/5/18 James Cloos <cloos@jhcloos.com>:
    > Running on a Linux box, using DejaVu Serif, seamonkey, firefox and arora
    > get the miniscule ө̄ almost right.  The majuscule Ө̄’s macron is too low.
    >
    > Emacs24 has the same rendering with DejaVu Serif, so the bug is in the
    > font.
    >
    > With DejaVu Sans Mono, Emacs24 and rxvt-unicode render both cases
    > correctly.
    >
    > So Παν誤, qt and libotf are all fine.  Some fonts, though, are not
    > quite ready.
    >
    > -JimC
    > --
    > James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6
    >
    >



    This archive was generated by hypermail 2.1.5 : Wed May 18 2011 - 18:19:31 CDT