flash.text

# TextRenderer - AS3

Package | flash.text
Class | public final class TextRenderer
Inheritance | TextRenderer Object

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

The TextRenderer class provides functionality for the advanced anti-aliasing capability of embedded fonts. Advanced anti-aliasing allows font faces to render at very high quality at small sizes. Use advanced anti-aliasing with applications that have a lot of small text. Adobe does not recommend using advanced anti-aliasing for very large fonts (larger than 48 points). Advanced anti-aliasing is available in Flash Player 8 and later only.

To set advanced anti-aliasing on a text field, set the `antiAliasType` property of the TextField instance.

Advanced anti-aliasing provides continuous stroke modulation (CSM), which is continuous modulation of both stroke weight and edge sharpness. As an advanced feature, you can use the `setAdvancedAntiAliasingTable()` method to define settings for specific typefaces and font sizes.

View the examples

Related API Elements

flash.text.TextField.antiAliasType

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | displayMode : String [static] Controls the rendering of advanced anti-aliased text. | TextRenderer
|  | maxLevel : int [static] The adaptively sampled distance fields (ADFs) quality level for advanced anti-aliasing. | TextRenderer

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setAdvancedAntiAliasingTable(fontName:String, fontStyle:String, colorType:String, advancedAntiAliasingTable:Array):void [static] Sets a custom continuous stroke modulation (CSM) lookup table for a font. | TextRenderer
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Property Detail

### displayMode

property

`displayMode:String`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

Controls the rendering of advanced anti-aliased text. The visual quality of text is very subjective, and while Flash Player tries to use the best settings for various conditions, designers may choose a different look or feel for their text. Also, using `displayMode` allows a designer to override Flash Player's subpixel choice and create visual consistency independent of the user's hardware. Use the values in the TextDisplayMode class to set this property.

The default value is `"default".`

Implementation
`public static function get displayMode():String`
`public static function set displayMode(value:String):void`

Related API Elements

TextDisplayMode class

### maxLevel

property

`maxLevel:int`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

The adaptively sampled distance fields (ADFs) quality level for advanced anti-aliasing. The only acceptable values are 3, 4, and 7.

Advanced anti-aliasing uses ADFs to represent the outlines that determine a glyph. The higher the quality, the more cache space is required for ADF structures. A value of `3` takes the least amount of memory and provides the lowest quality. Larger fonts require more cache space; at a font size of 64 pixels, the quality level increases from `3` to `4` or from `4` to `7` unless, the level is already set to `7`.

The default value is `4.`

Implementation
`public static function get maxLevel():int`
`public static function set maxLevel(value:int):void`
Method Detail

### setAdvancedAntiAliasingTable

()
method

`public static function setAdvancedAntiAliasingTable(fontName:String, fontStyle:String, colorType:String, advancedAntiAliasingTable:Array):void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

Sets a custom continuous stroke modulation (CSM) lookup table for a font. Flash Player attempts to detect the best CSM for your font. If you are not satisfied with the CSM that the Flash Player provides, you can customize your own CSM by using the `setAdvancedAntiAliasingTable()` method.

Parameters

| `fontName:String` — The name of the font for which you are applying settings.
| `fontStyle:String` — The font style indicated by using one of the values from the flash.text.FontStyle class.
| `colorType:String` — This value determines whether the stroke is dark or whether it is light. Use one of the values from the flash.text.TextColorType class.
| `advancedAntiAliasingTable:Array` — An array of one or more CSMSettings objects for the specified font. Each object contains the following properties:

- `fontSize`
- `insideCutOff`
- `outsideCutOff`

The `advancedAntiAliasingTable` array can contain multiple entries that specify CSM settings for different font sizes.

The `fontSize` is the size, in pixels, for which the settings apply.

Advanced anti-aliasing uses adaptively sampled distance fields (ADFs) to represent the outlines that determine a glyph. Flash Player uses an outside cutoff value (`outsideCutOff`), below which densities are set to zero, and an inside cutoff value (`insideCutOff`), above which densities are set to a maximum density value (such as 255). Between these two cutoff values, the mapping function is a linear curve ranging from zero at the outside cutoff to the maximum density at the inside cutoff.

Adjusting the outside and inside cutoff values affects stroke weight and edge sharpness. The spacing between these two parameters is comparable to twice the filter radius of classic anti-aliasing methods; a narrow spacing provides a sharper edge, while a wider spacing provides a softer, more filtered edge. When the spacing is zero, the resulting density image is a bi-level bitmap. When the spacing is very wide, the resulting density image has a watercolor-like edge.

Typically, users prefer sharp, high-contrast edges at small point sizes, and softer edges for animated text and larger point sizes.

The outside cutoff typically has a negative value, and the inside cutoff typically has a positive value, and their midpoint typically lies near zero. Adjusting these parameters to shift the midpoint toward negative infinity increases the stroke weight; shifting the midpoint toward positive infinity decreases the stroke weight. Make sure that the outside cutoff value is always less than or equal to the inside cutoff value.

Related API Elements

flash.text.FontStyle
flash.text.TextColorType
CSMSettings
Examples How to use this example
TextRendererExample2.as
The following example creates the TextRendererExample class to demonstrate visual examples of advanced anti-aliasing settings with small and large font sizes. Before testing this example, you will need to embed a font. If you are using Flex, embed a font in the following manner:

1. Place the Georgia font, named georgia.ttf in the same directory as this AS file.
2. Add the following lines directly underneath the class definition:
3. `[Embed(source="georgia.ttf", fontFamily="Georgia")]`
4. `private var embeddedFont:String;`

If you are using Flash, embed a font in the following manner:

1. Place a text field on the stage and select it.
2. In the Property Inspector, set that text field's font to Georgia
3. In the Property Inspector, press "Embed..." and select "All"

Notes:

- You will need to compile the SWF file with "Local playback security" set to "Access local files only".

Copy

    package {
        import flash.display.DisplayObject;
        import flash.display.Sprite;
        import flash.events.*;
        import flash.text.*;

        public class TextRendererExample2 extends Sprite {

            private var gutter:int = 10;

            public function TextRendererExample2() {
                createTextField(8,AntiAliasType.NORMAL);
                createTextField(8,AntiAliasType.ADVANCED);
                createTextField(24,AntiAliasType.NORMAL);
                createTextField(24,AntiAliasType.ADVANCED);
            }

            private function createTextField(fontSize:Number,antiAliasType:String):TextField {
                var tf:TextField = new TextField();
                tf.embedFonts = true;
                tf.autoSize = TextFieldAutoSize.LEFT;
                tf.antiAliasType = antiAliasType;
                tf.defaultTextFormat = getTextFormat(fontSize);
                tf.selectable = false;
                tf.mouseEnabled = true;
                tf.text = "The quick brown fox jumped over the lazy dog.";
                if(numChildren > 0) {
                    var sibling:DisplayObject = getChildAt(numChildren - 1);
                    tf.y = sibling.y + sibling.height + gutter;
                }
                addChild(tf);
                return tf;
            }

            private function getTextFormat(fontSize:Number):TextFormat {
                var format:TextFormat = new TextFormat();
                format.size = fontSize;
                format.font = "Georgia";
                return format;
            }
        }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00