Re: script or block detection needed for Unicode fonts

From: Mark Davis (
Date: Sat Sep 28 2002 - 21:45:43 EDT

  • Next message: John H. Jenkins: "Re: script or block detection needed for Unicode fonts"

    Another alternative is to check the font at install time, and then make sure
    that the bits are set correctly.

    ► “Eppur si muove” ◄

    ----- Original Message -----
    From: "Murray Sargent" <>
    To: "Michael Everson" <>
    Cc: <>
    Sent: Saturday, September 28, 2002 13:19
    Subject: RE: script or block detection needed for Unicode fonts

    > Michael Everson said:
    > > I don't understand why a particular bit has to be set in
    > > some table. Why can't the OS just accept what's in the font?
    > The main reason is performance. If an application has to check the font
    > cmap for every character in a file, it slows down reading the file.
    > Accordingly programs typically check the script bits of a font to see if
    > the font claims to support a script. If so, the font is accepted. Else
    > another font that has the appropriate bit is accepted. This info is
    > cached, so it's very fast.
    > A problem occurs more often with fonts that claim to support say Greek
    > or Cyrillic, but only support the most common characters in these
    > scripts. In RichEdit we now check the cmap for the less common Greek,
    > Cyrillic, Arabic, etc., characters to ensure that they are in fact in
    > the font. If not, we switch to some other font that has them.
    > The problem with a font setting a script bit when the font only has a
    > single glyph is that that font may then be used for other common
    > characters in the script, thereby resulting in a missing-character glyph
    > at display time.
    > I suppose one could have it both ways by instructing a program to always
    > check the cmap for a given font, thereby bypassing the more streamlined
    > algorithms. This would be a handy option for specialized fonts. We'd
    > need some font convention to turn on this behavior.
    > Thanks
    > Murray

    This archive was generated by hypermail 2.1.5 : Sat Sep 28 2002 - 22:25:20 EDT