Re: Generic Base Letter

From: Khaled Hosny (
Date: Tue Jun 29 2010 - 23:59:36 CDT

  • Next message: William_J_G Overington: "Keying emoji characters using an ordinary keyboard (from Re: "ASCII" emoji in iOS4)"

    On Tue, Jun 29, 2010 at 09:41:58PM -0700, Michael S. Kaplan wrote:
    > Speaking as an MS employee who has seen how easy it is to put arbitrary
    > combining marks on scripts like Latin and Cyrillic that don't look very
    > good if the font has neither combined form glyphs or knowledge of
    > attachment points, it may be the case that some of these situations that
    > don't look good have more to do with the fact that making it look good
    > typographically when no one put in the effort for the specific case may be
    > simply the price one pays.

    In case of Arabic and Hebrew, Uniscribe inserts the dotted circle
    between, what it considers, invalid mark combination before doing any
    OpenType layout, so it is impossible for a font designer to support such
    combinations, simply because what the layout engine sees is
    <mark><dotted circle><mark> combination, so the <mark><mark> layout
    feature even if present in the font will never triggered.

    It is possible to hack around this by treating <mark><dotted circle><mark>
    sequences as <mark><mark> in the layout code, assuming nobody will ever
    insert the dotted circle manually, but this won't work for Arabic since
    the dotted circle also breaks Arabic shaping and getting around this
    will be much harder.

    Given how many times I've seen font designer trying to do advanced
    Arabic and Hebrew OpenType fonts frustrated by this, I think it is time
    for MS to review its decision here. Even if dropping "invalid" marks
    special handling for various reasons, at least allowing the font
    designers to tell Uniscribe "please let me handle the valid and invalid
    marks myself, I really know what I'm doing" would be very helpful.


     Khaled Hosny
     Arabic localiser and member of team
     Free font developer

    This archive was generated by hypermail 2.1.5 : Wed Jun 30 2010 - 00:03:34 CDT