The TextFormat class represents character formatting information. Use the TextFormat class to create specific text formatting for text fields. You can apply text formatting to both static and dynamic text fields. The properties of the TextFormat class apply to device and embedded fonts. However, for embedded fonts, bold and italic text actually require specific fonts. If you want to display bold or italic text with an embedded font, you need to embed the bold and italic variations of that font.

You must use the constructor new TextFormat() to create a TextFormat object before setting its properties. When you apply a TextFormat object to a text field using the TextField.defaultTextFormat property or the TextField.setTextFormat() method, only its defined properties are applied. Use the TextField.defaultTextFormat property to apply formatting BEFORE you add text to the TextField, and the setTextFormat() method to add formatting AFTER you add text to the TextField. The TextFormat properties are null by default because if you don't provide values for the properties, Flash Player uses its own default formatting. The default formatting that Flash Player uses for each property (if property's value is null) is as follows:

align = "left"
blockIndent = 0
bold = false
bullet = false
color = 0x000000
font = "Times New Roman" (default font is Times on Mac OS X)
indent = 0
italic = false
kerning = false
leading = 0
leftMargin = 0
letterSpacing = 0
rightMargin = 0
size = 12
tabStops = [] (empty array)
target = "" (empty string)
underline = false
url = "" (empty string)

The default formatting for each property is also described in each property description.

Constructor

@:value({ leading : null, indent : null, rightMargin : null, leftMargin : null, align : null, target : null, url : null, underline : null, italic : null, bold : null, color : null, size : null, font : null })new(?font:String, ?size:Int, ?color:Int, ?bold:Bool, ?italic:Bool, ?underline:Bool, ?url:String, ?target:String, ?align:TextFormatAlign, ?leftMargin:Int, ?rightMargin:Int, ?indent:Int, ?leading:Int)

Creates a TextFormat object with the specified properties. You can then change the properties of the TextFormat object to change the formatting of text fields.

Any parameter may be set to null to indicate that it is not defined. All of the parameters are optional; any omitted parameters are treated as null.

Parameters:

font

The name of a font for text as a string.

size

An integer that indicates the size in pixels.

color

The color of text using this text format. A number containing three 8-bit RGB components; for example, 0xFF0000 is red, and 0x00FF00 is green.

bold

A Boolean value that indicates whether the text is boldface.

italic

A Boolean value that indicates whether the text is italicized.

underline

A Boolean value that indicates whether the text is underlined.

url

The URL to which the text in this text format hyperlinks. If url is an empty string, the text does not have a hyperlink.

target

The target window where the hyperlink is displayed. If the target window is an empty string, the text is displayed in the default target window _self. If the url parameter is set to an empty string or to the value null, you can get or set this property, but the property will have no effect.

align

The alignment of the paragraph, as a TextFormatAlign value.

leftMargin

Indicates the left margin of the paragraph, in pixels.

rightMargin

Indicates the right margin of the paragraph, in pixels.

indent

An integer that indicates the indentation from the left margin to the first character in the paragraph.

leading

A number that indicates the amount of leading vertical space between lines.

Variables

align:TextFormatAlign

Indicates the alignment of the paragraph. Valid values are TextFormatAlign constants.

Throws:

ArgumentError

The align specified is not a member of openfl.text.TextFormatAlign.

blockIndent:Null<Int>

Indicates the block indentation in pixels. Block indentation is applied to an entire block of text; that is, to all lines of the text. In contrast, normal indentation(TextFormat.indent) affects only the first line of each paragraph. If this property is null, the TextFormat object does not specify block indentation(block indentation is 0).

bold:Null<Bool>

Specifies whether the text is boldface. The default value is null, which means no boldface is used. If the value is true, then the text is boldface.

bullet:Null<Bool>

Indicates that the text is part of a bulleted list. In a bulleted list, each paragraph of text is indented. To the left of the first line of each paragraph, a bullet symbol is displayed. The default value is null, which means no bulleted list is used.

color:Null<Int>

Indicates the color of the text. A number containing three 8-bit RGB components; for example, 0xFF0000 is red, and 0x00FF00 is green. The default value is null, which means that Flash Player uses the color black(0x000000).

font:String

The name of the font for text in this text format, as a string. The default value is null, which means that Flash Player uses Times New Roman font for the text.

indent:Null<Int>

Indicates the indentation from the left margin to the first character in the paragraph. The default value is null, which indicates that no indentation is used.

italic:Null<Bool>

Indicates whether text in this text format is italicized. The default value is null, which means no italics are used.

kerning:Null<Bool>

A Boolean value that indicates whether kerning is enabled (true) or disabled(false). Kerning adjusts the pixels between certain character pairs to improve readability, and should be used only when necessary, such as with headings in large fonts. Kerning is supported for embedded fonts only.

Certain fonts such as Verdana and monospaced fonts, such as Courier New, do not support kerning.

The default value is null, which means that kerning is not enabled.

leading:Null<Int>

An integer representing the amount of vertical space(called leading) between lines. The default value is null, which indicates that the amount of leading used is 0.

leftMargin:Null<Int>

The left margin of the paragraph, in pixels. The default value is null, which indicates that the left margin is 0 pixels.

letterSpacing:Null<Float>

A number representing the amount of space that is uniformly distributed between all characters. The value specifies the number of pixels that are added to the advance after each character. The default value is null, which means that 0 pixels of letter spacing is used. You can use decimal values such as 1.75.

rightMargin:Null<Int>

The right margin of the paragraph, in pixels. The default value is null, which indicates that the right margin is 0 pixels.

size:Null<Int>

The size in pixels of text in this text format. The default value is null, which means that a size of 12 is used.

tabStops:Array<Int>

Specifies custom tab stops as an array of non-negative integers. Each tab stop is specified in pixels. If custom tab stops are not specified (null), the default tab stop is 4(average character width).

target:String

Indicates the target window where the hyperlink is displayed. If the target window is an empty string, the text is displayed in the default target window _self. You can choose a custom name or one of the following four names: _self specifies the current frame in the current window, _blank specifies a new window, _parent specifies the parent of the current frame, and _top specifies the top-level frame in the current window. If the TextFormat.url property is an empty string or null, you can get or set this property, but the property will have no effect.

underline:Null<Bool>

Indicates whether the text that uses this text format is underlined (true) or not(false). This underlining is similar to that produced by the <U> tag, but the latter is not true underlining, because it does not skip descenders correctly. The default value is null, which indicates that underlining is not used.

url:String

Indicates the target URL for the text in this text format. If the url property is an empty string, the text does not have a hyperlink. The default value is null, which indicates that the text does not have a hyperlink.

Note: The text with the assigned text format must be set with the htmlText property for the hyperlink to work.