Flash Player 10: Languages & OpenType

Some folks have been asking, so I thought it would be handy to summarize the language and OpenType layout support in the Flash Player 10 public beta.

The Flash Player 10 public beta is a huge leap forward for Flash typography and world-readiness. I can’t express how impressed I am with what’s been achieved here. Let’s look at language support first, then OpenType typography.

Language support

For language support, the table below lists scripts (writing systems) and layout technologies supported by FP10. Note that “Latin” includes all sorts of languages written with the Latin writing system, including English, French, German, Hungarian, Polish, Romanian, Turkish, Vietnamese, etc.

  OpenType TrueType
Latin, Greek, Cyrillic, Armenian, Georgian, Ethiopic, Tifinagh, Yi, Cherokee, Canadian Syllabics, Deseret, Shavian, Vai, Tagalog, Hanunoo, Buhid, and Tagbanwa. x x
Hebrew x x
Arabic x  
Thai x Windows PUA definition
Lao x n/a
Khmer x n/a
Han ideographs and Kana (simplified and traditional Chinese, Japanese, Korean) x x
Hangul Johab x x
Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam x, Vista interface n/a
Thaana x n/a
Tibetan x n/a


By “OpenType,” we mean OpenType fonts with a GSUB or GPOS table, implementing the features defined by Microsoft for the corresponding script. By “TrueType,” we mean OpenType fonts with neither a GSUB nor a GPOS table (typically these have TrueType outlines). In both cases, the font must have a Unicode cmap subtable.

For Hangul, only the Johab set (aka modern syllables) is supported; the encoding can be either with conjoining jamos (with at most one L, one T and one V jamo) or with (precomposed) characters of the Hangul Syllables block.

For the Indic/Dravidian scripts, Microsoft has used two interfaces between layout engines and OpenType fonts: the older one used in XP and the newer one used in Vista. Only the newer Vista-style interface is supported. It may not be fully documented yet.

For Thai, the non-OpenType layout is supported for fonts which follow the Windows convention of encoding some glyphs in the Private Use Area (e.g. U+0E0D without its lower part at U+F70F).

Of course, the support of a given combination is limited by the actual content of a font. Furthermore, the degree of support for a writing system may vary with the font technology: for example, only a limited set of Latin ligatures are supported with TrueType fonts, while all ligatures defined by the font designer are supported with OpenType fonts.

OpenType layout

The language support above often requires/involves OpenType layout. However, the new text engine also supports OpenType layout features being used for purely typographic effects. To summarize this, I have an updated version of the table which is seen at the end of the OpenType User Guide for Adobe Fonts to include Flash Player 10 (beta) information. (The main OpenType User Guide will be updated around the time that Flash Player 10 ships in a final version.)

2 Responses

  1. David says:

    Tom,this is great news indeed! Thank you for the overview. I am looking forward to test it. How is it with the security of the fonts used within the Flash? Are there any improvements. Any prevention of font piracy? To my knowledge it was fairly easy to get the embedded fotns out of the Flash “movie”.David[We have not announced anything new in the way of embedded font formats. However, I think it’s fair to say that as Flash is a fully publicly documented format, it can never be highly secure in terms of fonts. The specs for font storage in Flash are public, and will presumably remain so, The same is true of PDF and other publicly documented formats. However, our observation has been that the percentage of font piracy that involves stealing fonts from SWF or PDF files is extremely small. One reason is that you’re not getting the original font file with everything intact. There are much easier ways to rip off fonts if that’s what somebody wants to do. – T]

  2. Tal Leming says:

    This is very interesting. It has made me wonder about a few things:1. Has the internal embedded font format changed? Are the outlines compressed in the same way that they were in the previous versions of Flash?[Today, you can use the specified language and OpenType support with “device fonts” (fonts resident on the user’s computer). Adobe has not announced anything in terms of a new embedded font format for SWF. Clearly, there’s no reasonable way to handle a lot of this stuff in the existing DefineFont 3 format, but that’s all I can say for now. – T]2. Is this the CoolType layout engine or is this something else? If not, can type designers expect the same behavior and standards compliance as in CoolType?[It’s something else. First, CoolType is not a layout engine per se, but a font engine/library used by layout engines. Adobe has a number of layout engines that use CoolType, including the one in InDesign, and a different one shared by Illustrator, Photoshop, AfterEffects and some other applications. In general, the Flash Text Engine has an excellent level of standardscompliance. However, it is not identical to any of the others mentioned, nor does it use CoolType. – T]3. What GSUB and GPOS lookup types does this support? I’ve always found lists of “supported features” to be a bit misleading. An engine may support all features from aalt to zero, but if it doesn’t handle GSUB LookupType 1 that’s important to know. I’ve run into this issue more than a few times.[It supports ALL of them. – T]4. If this engine can handle GSUB LookupType 6 (and the GPOS equivalent), will there be significant speed reductions in feature processing for fonts with complex contextual rules?[There will always be significant speed reductions in OpenType feature processing for fonts with complex contextual rules, in any text engine. The engine can be written to deal with these as well as reasonably possible, but the fact is that complex processing will always involve a performance hit. For western fonts, I doubt this will be very noticeable most of the time, with the smallish amounts of text one usually sets in something like Bickham Script Pro or Zapfino Extra Pro Contextual. – T]

Comments are closed.

Thomas Phinney

Adobe type alumnus (1997–2008), now VP at FontLab, also helped create WebINK at Extensis. Lives in Portland (OR), enjoys board games, movies, and loves spicy food.

InDesign Font Conflicts

Thomas Phinney · May 8, 2008 · Making Type

Workarounds for Win ATM (and MMs) on Vista

Thomas Phinney · July 12, 2008 · Making Type