R – Flash: Antialiasing characters on dynamic textfields without embedding fonts, in japanese

antialiasingflashfontsinternationalizationtextfield

I'm trying to achieve antialiasing on dynamic textfields in flash on a Japanese site. The content of these textfields is not fixed data.

I don't have the option to embed the fonts, since embeddeding all characters will result in a very heavy swf file(3000kb+ just for the fonts). This is due to the fact that there's a large number of unique characters in japanese(literally thousands).

Basically, any flash site using dynamic textfields faces the same choice:

  1. keep the filesize down and use
    only Device Fonts (without
    antialiasing)
  2. force a 3mb+ font download to the user
    to display smooth antialiased fonts.

I've asked around to some japanese friends, and they said "Shoganai!" (translation: "can't be helped"). Anybody have ideas?

ps: unfortunately, silverlight is not an option either.

Best Answer

Really dumb 'workaround', and I'm sure it'll get downvoted, but since flash.text.TextField inherits flash.display.DisplayObject, you can use the built-in filters such as flash.filters.Blur to blur the text by half a pixel horizontally and vertically.

This will consume a little more CPU.

EDIT: After working a little bit with CS4, I found ther perfect way to do it without the extra CPU overhead! The result will look 1:1 exactly like 'static text' render. I believe the same will work under CS3 as I recall a similar option.

While the text is selected, under properties, select 'Anti-alias' and select 'Custom Anti-alias'. Set the Thickness to 100 and the sharpness to 0. That did the trick for me!

Related Topic