RE: OpenType vs TrueType (was current version of unicode-font)

From: Peter Constable (petercon@microsoft.com)
Date: Fri Dec 03 2004 - 12:21:44 CST

  • Next message: John Hudson: "Re: OpenType vs TrueType (was current version of unicode-font)"

    > From: unicode-bounce@unicode.org [mailto:unicode-bounce@unicode.org]
    On Behalf
    > Of Gary P. Grosso

    > Questions about OpenType vs TrueType come up often in my work, so
    perhaps the list
    > will suffer a couple of questions in that regard.
    >
    > First, I see an "O" icon, not an "OT" icon in Windows' "Fonts folder"
    for some fonts
    > and a "TT" icon for others. Nothing looks like "OT" to me, so are we
    talking about the
    > same thing?

    Indeed, the icon shows "O"; I have no idea where the reference to "OT"
    originated.

     
    > Next, if I double-click on one of the "fonts" (files), I get a window
    which shows a
    > sample of the font, at the top of which is the font name, followed by
    either
    > "(OpenType)" or "(TrueType)". Can I believe what that says as
    indicative of whether
    > this is truly OpenType or TrueType?

    Yes, but as Antoine's message suggested, you need to understand what it
    does or doesn't imply.

    To get around terminology hurdles, I will refer to the "sfnt" file
    format. This is a file format for fonts that was first introduced when
    Apple and Microsoft developed TrueType fonts back around 1990. One of
    the features of the sfnt format is that it is extensible: it contains
    tables with various types of font-related data, and new tables can be
    added without affecting processes that know only about pre-existing
    tables.

    People have often used the term "TrueType" to refer to this extensible
    font file format, but this leads to confusion. "TrueType" fonts are
    fonts that use the sfnt format and that use TrueType outlines and
    hinting.

    OpenType differs from TrueType in two respects:

    1) OpenType uses the extensibility of the sfnt format to define
    additional tables

    2) OpenType allows for either TrueType outlines and hinting, or
    Postscript outlines and hinting

    Apart from the tables related to Postscript outlines, the OpenType spec
    defines six tables not found in the TrueType spec: one for a digital
    signature, and five related to advanced typographic capabilities.

    Strictly speaking, none of the six new tables are required by the
    OpenType spec. Therefore, any TrueType font could be considered an
    OpenType font. Of course, that's not particularly useful; generally
    people would like to talk about OpenType in contrast to TrueType.

    In terms of the icon that is displayed in the Windows font folder, it is
    the presence of the DSIG table that determines which fonts get the "O"
    icon rather than the "TT" icon.

    The distinction that most people are interested in, however, is whether
    there is support for advanced typographic capabilities. For instance,

    > Mostly how this comes up is we have customers ask if we support
    OpenType fonts...

    these people are probably interested in advanced typographic
    capabilities, not digital signatures. What they are asking, then, is
    whether your products support OpenType layout capabilities -- this is
    the advanced-typography functionality related to the other fives
    OpenType-specific tables.

    Three of these tables, in particular, are important:

    GSUB - glyph substitution data used to select alternate or
    presentation-form glyphs (e.g. ligatures, contextual forms)

    GPOS - glyph positioning data used to position combining marks and to
    kern glyphs

    GDEF - glyph definition data that is used to support substitution and
    positioning processes

    This is what you need to support in order to support scripts such as
    Arabic or Devanagari, or to support fine typography (e.g. true small
    caps, swashes, ligatures).

    Does that help?

    Peter Constable



    This archive was generated by hypermail 2.1.5 : Fri Dec 03 2004 - 12:27:05 CST