Text Layout Framework rasterization – and goodbye
I was recently asked regarding the Text Layout Framework for Flash and AIR: “It seems to be using system rasterizer (producing different results on Mac v Windows) but flattens output to grayscale. Is that correct? If so does/will Flash expose system rendering as an option or always use its own rasterizer? Or is the Text Layout Framework completely separate from Flash?”
The rasterization being done under the TLF is still Flash Player 10 (or AIR 1.5) rasterization. There is no new rasterizer involved specifically for the TLF, but it is exposing rasterization not previously seen. as TLF compatibility requires fonts to be embedded in the new DefineFont 4 rather than in Saffron format.
The Mac or Windows OS system rasterizer is only used for “device fonts” (non-embedded fonts resident on the device running the Flash Player). The “flattening to grey-scale” you’re seeing is almost certainly the result of an interaction with transparency and background graphics. Without alpha channel interactions, this won’t happen, and you’ll see the OS rasterization in its full glory – including for example ClearType on Windows.
Fonts embedded in the SWF or AIR application can get one of three different native Flash rasterizing modes:
- the original Flash outline rasterizer, available in all versions of Flash Player and AIR
- the Saffron rasterizer, available in Flash Player 8 and later, and in all versions of AIR
- the new DefineFont 4 rasterizer, available in Flash Player 10 and AIR 1.5
Support for the new DefineFont 4 embedded font format is new in FP 10 and AIR 1.5, and is only exposed by pre-release build tools at this time – such as the Text Layout Framework plug-in for FLash Professional CS4, and Flex “Gumbo.”
There is a bit of a “gotcha” in this area that one of my colleagues on the TLF team wanted me to reiterate. With the current pre-release tools and environments available to play with TLF, the existing Flash TextField container doesn’t support DefineFont 4 fonts, and the new TLF stuff *only* works with DefineFont 4 fonts, and doesn’t support DefineFont 3 fonts. One can envision scenarios where a developer wants to use both TLF and TextField containers for the same font in a given file, in which case they would literally have to embed the font twice, once in DF4 and once in DF3 (or earlier). I think this is a good example of an area in which this TLF stuff is pre-release software. But gee, you can do an awful lot with it.
* * * * *
In unrelated news, this is my last post for this blog. I’m sorry to say I’m leaving all my amazing colleagues and cool work at Adobe. It’s been a really great 11 1/2 years, and I count myself lucky to have been part of making some great typefaces and cool applications. If anybody is looking for me personally, as opposed to Adobe type, I’m I can be emailed at cal.berkeley.edu as tphinney at that address (alumni email will redirect to whatever my current email is). Don’t worry, I expect my colleagues will keep the blog going!