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.
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.
|Latin, Greek, Cyrillic, Armenian, Georgian, Ethiopic, Tifinagh, Yi, Cherokee, Canadian Syllabics, Deseret, Shavian, Vai, Tagalog, Hanunoo, Buhid, and Tagbanwa.||x||x|
|Thai||x||Windows PUA definition|
|Han ideographs and Kana (simplified and traditional Chinese, Japanese, Korean)||x||x|
|Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam||x, Vista interface||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.
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.)