flash.text.engine

# SpaceJustifier - AS3

Package | flash.text.engine
Class | public final class SpaceJustifier
Inheritance | SpaceJustifier TextJustifier Object

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5, Flash Lite 4

The SpaceJustifier class represents properties that control the justification options for text lines in a text block.

Use the constructor `new SpaceJustifier()` to create a SpaceJustifier object before setting its properties. Setting the properties of a SpaceJustifier object after you apply it to a TextBlock does not invalidate the TextBlock.

View the examples

More examples

Justifying text

Related API Elements

LineJustification
TextBlock.textJustifier
TextJustifier

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
|  | letterSpacing : Boolean Specifies whether to use letter spacing during justification. | SpaceJustifier
|  | lineJustification : String Specifies the line justification for the text in a text block. | TextJustifier
|  | locale : String [read-only] Specifies the locale to determine the justification rules for the text in a text block. | TextJustifier
|  | maximumSpacing : Number Specifies the maximum spacing (as a multiplier of the width of a normal space) between words to use during justification. | SpaceJustifier
|  | minimumSpacing : Number Specifies the minimum spacing (as a multiplier of the width of a normal space) between words to use during justification. | SpaceJustifier
|  | optimumSpacing : Number Specifies the optimum spacing (as a multiplier of the width of a normal space) between words to use during justification. | SpaceJustifier

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | SpaceJustifier(locale:String = "en", lineJustification:String = "unjustified", letterSpacing:Boolean = false) Creates a SpaceJustifier object. | SpaceJustifier
|  | clone():flash.text.engine:TextJustifier [override] Constructs a cloned copy of the SpaceJustifier. | SpaceJustifier
|  | getJustifierForLocale(locale:String):flash.text.engine:TextJustifier [static] Constructs a default TextJustifier subclass appropriate to the specified locale. | TextJustifier
|  | 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
|  | 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

### letterSpacing

property

`letterSpacing:Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5, Flash Lite 4

Specifies whether to use letter spacing during justification.

The default value is `false`

Implementation
`public function get letterSpacing():Boolean`
`public function set letterSpacing(value:Boolean):void`

### maximumSpacing

property

`maximumSpacing:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2

Specifies the maximum spacing (as a multiplier of the width of a normal space) between words to use during justification. If `letterSpacing` is `true`, letter spacing will be used after the spaces between words reach the maximum. If `letterSpacing` is `false`, the spaces between words will be expanded beyond the maximum.

The default value is `1.5`

Implementation
`public function get maximumSpacing():Number`
`public function set maximumSpacing(value:Number):void`
Throws

| `ArgumentError` — The `value` specified is less than `optimumSpacing`.

### minimumSpacing

property

`minimumSpacing:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2

Specifies the minimum spacing (as a multiplier of the width of a normal space) between words to use during justification.

The default value is `0.5`

Implementation
`public function get minimumSpacing():Number`
`public function set minimumSpacing(value:Number):void`
Throws

| `ArgumentError` — The `value` specified is less than zero or greater than `optimumSpacing`.

### optimumSpacing

property

`optimumSpacing:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2

Specifies the optimum spacing (as a multiplier of the width of a normal space) between words to use during justification.

The default value is `1.0`

Implementation
`public function get optimumSpacing():Number`
`public function set optimumSpacing(value:Number):void`
Throws

| `ArgumentError` — The `value` specified is less than `minimumSpacing` or greater than `maximumSpacing`.

Constructor Detail

### SpaceJustifier

()
Constructor

`public function SpaceJustifier(locale:String = "en", lineJustification:String = "unjustified", letterSpacing:Boolean = false)`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5, Flash Lite 4

Creates a SpaceJustifier object. The LineJustification class contains constants for specifying the types of line justification that you can apply.

Parameters

| `locale:String` (default = "`en`")`` — The locale to determine the justification rules. The default value is `"en"`.
| `lineJustification:String` (default = "`unjustified`")`` — The type of line justification for the paragraph. Use `LineJustification` constants for this property. The default value is `LineJustification.UNJUSTIFIED`.
| `letterSpacing:Boolean` (default = `false`)`` — Specifies whether to use letter spacing during justification. The default value is `false`.

Throws

| `ArgumentError` — The `locale` specified is `null` or too short to represent a valid locale.
| `ArgumentError` — The `lineJustification` specified is not a member of `LineJustification`.

Related API Elements

LineJustification
Method Detail

### clone

()
method

`override public function clone():flash.text.engine:TextJustifier`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5, Flash Lite 4

Constructs a cloned copy of the SpaceJustifier.

Returns

| `flash.text.engine:TextJustifier` — A copy of the `SpaceJustifier` object.

Examples How to use this example
SpaceJustifierExample.as
The following example uses letter spacing and justifies all of a block of text except for the last line.
Copy

    package {
        import flash.display.Sprite;
        import flash.text.engine.TextBlock;
        import flash.text.engine.TextElement;
        import flash.text.engine.TextLine;
        import flash.text.engine.ElementFormat;
        import flash.text.engine.SpaceJustifier;
        import flash.text.engine.LineJustification;

        public class SpaceJustifierExample extends Sprite {

            public function SpaceJustifierExample():void {
                var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, " +
                "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut " +
                "enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut " +
                "aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit " +
                "in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur " +
                "sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt " +
                "mollit anim id est laborum.";

                var format:ElementFormat = new ElementFormat(null, 12, 0xCC0000);
                var textElement:TextElement = new TextElement(str, format);
                var spaceJustifier:SpaceJustifier = new SpaceJustifier("en", LineJustification.ALL_BUT_LAST);
                spaceJustifier.letterSpacing = true;
                var textBlock:TextBlock = new TextBlock();
                textBlock.content = textElement;
                textBlock.textJustifier = spaceJustifier;
                createLines(textBlock);
            }

            private function createLines(textBlock:TextBlock):void {

                var yPos = 20;
                var textLine:TextLine = textBlock.createTextLine (null, 150);

                while (textLine)
                {
                    addChild(textLine);
                    textLine.x = 15;
                    yPos += textLine.textHeight+2;
                    textLine.y = yPos;
                    textLine = textBlock.createTextLine(textLine, 150);
                }
            }
        }
    }

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