views:

134

answers:

2

Any ideas about how to emulate Smooth font rendering option from Photoshop in Flash/Flex? I've tried different settings for advanced rendering (antiAliasType, gridFitType and friends) but not much luck so far. Any ideas?..

+4  A: 

TextField class has a properties for sharpness and thickness.

sharpness: can be set from -400 to 400 http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/text/TextField.html#sharpness

myField.sharpness = 400;

thickness: can be set from -200 to 200 http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/text/TextField.html#thickness

myField.thickness = -200

In general it is a good idea to set your TextField instances on a whole pixel. I sometimes sub-class TextField and override the setters for x and y with something like this.

override public function set x( value:Number ):void
{
     super.x = Math.round( value );
}

I've also found that if you are using pixel fonts that it is a good idea to set TextField.antiAliasType to AntiAliasType.ADVANCED.

jeremynealbrown
Thanks a ton - I actually knew about sharpness but never noticed thickness, and this saved me. Works great now - at least enough for my needs.
Michael Pliskin
glad it helped :)
jeremynealbrown
+1  A: 

Not really an answer but still valid,

You'll never get your fonts in Flash to look exactly the same as they do in Photoshop. Photoshop uses much more advanced font rendering techniques than flash does. This is mainly probably down to the fact that text in flash can be dynamic and be animated. The aliasing used in photoshop probably doesn't cope well under these conditions. Either that, or Adobe don't see any value in implementing font rendering to match Photoshop (unlikely).

I work for a design agency and can't even begin to imagine the amount of times I've had to break it to a designer that their fonts won't look the same in flash as they do in Photoshop. It's something we all just have to deal with.

That said you can often get it close through the techniques @jeremynealbrown states and often that's enough.

James Hay
Thanks for the explanation, I actually managed to use the techniques above and get close enough as you say. True that it is not perfect but fine for me.
Michael Pliskin