Re: script or block detection needed for Unicode fonts

From: jameskass@att.net
Date: Fri Sep 27 2002 - 00:34:42 EDT

  • Next message: jameskass@att.net: "Re: glyph selection for Unicode in browsers"

    Peter Constable wrote,

    > >It appears as I mentioned in email to
    > >Mark that Unicode fonts use block ranges. Can someone verify this?
    >
    > The TrueType font format allows a vendor to indicate which "Unicode ranges"
    > a font supports. In Windows, there are APIs and data structures for making
    > this information available to an app. The only problem is that the notion
    > of "supports" is undefined: by what criteria does one decide whether a font
    > "supports" a given range? Only if every character in that range is
    > supported? Even if only one character in that range is supported? If >50%
    > of the characters are supported? If all the characters from that range
    > needed by some major language is supported? (If so, what major language,
    > and how does one decide exactly what characters a language "needs"? Does
    > English need the em dash? That depends upon one's purposes.)
    >
    > For details on Unicode ranges in TrueType fonts, see
    > http://www.microsoft.com/typography/otspec/os2.htm#ur.
    >

    Some apps won't display a glyph from a specified font if its corresponding
    Unicode Ranges Supported bit in the OS/2 table isn't set. So, font
    developers producing fonts intended to be used with such apps set the
    corresponding bit even if only one glyph from the entire range is
    present in the font.
     
    > Note, BTW, that these are not used on the Mac (I don't know about other
    > platforms). Also, there's a real possibility that the number of Unicode
    > ranges that may eventually need to be supported by this mechanism in
    > TrueType fonts will exceed the number of ranges that the format can
    > accommodate (it's a bit vector of 128 bits, and 83 have been assigned
    > values to cover up to Unicode 3.0).
    >

    The OS/2 table started as version zero, when Unicode Ranges Supported
    info was added the table became version one. Now there is a version two.
    If additional Unicode Range info is needed, it should be simple enough
    to add some bytes at the end of version two's table for this purpose,
    calling it version three. Existing apps shouldn't be broken because
    versions one and two will still have the same fields at the same offsets.

    Best regards,

    James Kass.



    This archive was generated by hypermail 2.1.5 : Fri Sep 27 2002 - 01:28:05 EDT