Package | flash.text.engine |
Classe | public final class TextBlock |
Héritage | TextBlock Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
La classe TextBlock est destinée à contenir un seul paragraphe car les algorithmes bidirectionnels Unicode et de saut de ligne fonctionnent sur un paragraphe à la fois. Pour les applications composées de plusieurs paragraphes de texte, utilisez un langage de balisage, ou une analyse de texte, pour diviser le texte en paragraphes et créer un seul TextBlock par paragraphe.
L’objet TextBlock stocke son contenu dans la propriété content
, une occurrence de la classe ContentElement. Comme vous ne pouvez pas créer d’occurrence de la classe ContentElement, définissez content
sur une occurrence de l’une de ses sous-classes : TextElement, GraphicElement ou GroupElement. Utilisez TextElement pour du contenu texte seulement, GraphicElement pour une image ou du contenu graphique et GroupElement pour du contenu combinant des objets TextElement, GraphicElement et d’autres objets GroupElement. Pour plus d’informations sur la gestion des séquences de texte formatées, des sous-séquences intégrées et des éléments graphiques, reportez-vous à la classe ContentElement et à ses sous-classes.
Après avoir créé l’occurrence de TextBlock et défini la propriété content
, appelez la méthode createTextLine()
pour créer des lignes de texte, correspondant à des occurrences de la classe TextLine
.
Plus d’exemples
Exemple d’utilisation de Flash Text Engine : mise en forme d’un article de journal
Eléments de l’API associés
GraphicElement
GroupElement
TextBaseline
TextElement
TextJustifier
TextLine
TextRotation
TabStop
Propriété | Défini par | ||
---|---|---|---|
applyNonLinearFontScaling : Boolean
Indique que vous souhaitez améliorer l’aspect de l’écran au détriment de la fidélité d’impression WYSIWYG. | TextBlock | ||
baselineFontDescription : FontDescription
Police utilisée pour déterminer les lignes de base de toutes les lignes créées à partir du bloc, quel que soit leur contenu. | TextBlock | ||
baselineFontSize : Number
Taille de police utilisée pour calculer les lignes de base des lignes créées à partir du bloc. | TextBlock | ||
baselineZero : String
Spécifie quelle ligne de base est au niveau y=0 pour les lignes créées à partir de ce bloc. | TextBlock | ||
bidiLevel : int
Spécifie le niveau d’intégration du paragraphe bidirectionnel du bloc de texte. | TextBlock | ||
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
content : ContentElement
Détient le contenu du bloc de texte. | TextBlock | ||
firstInvalidLine : flash.text.engine:TextLine [lecture seule]
Identifie la première ligne du bloc de texte dans laquelle TextLine.validity n’est pas égale à TextLineValidity.VALID. | TextBlock | ||
firstLine : flash.text.engine:TextLine [lecture seule]
Premier TextLine du TextBlock, le cas échéant. | TextBlock | ||
lastLine : flash.text.engine:TextLine [lecture seule]
Dernier TextLine du TextBlock, le cas échéant. | TextBlock | ||
lineRotation : String
Fait pivoter les lignes de texte du bloc de texte en une seule unité. | TextBlock | ||
tabStops : Vector.<flash.text.engine:TabStop>
Spécifie les arrêts de tabulation du texte du bloc de texte, sous la forme d’un vecteur d’objets TabStop. | TextBlock | ||
textJustifier : flash.text.engine:TextJustifier
Spécifie le TextJustifier à utiliser lors de la création de ligne. | TextBlock | ||
textLineCreationResult : String [lecture seule]
Indique le résultat d’une opération createTextLine(). | TextBlock | ||
userData : *
Permet à l’application d’associer des données arbitraires au bloc de texte. | TextBlock |
Méthode | Défini par | ||
---|---|---|---|
TextBlock(content:ContentElement = null, tabStops:Vector.<flash.text.engine:TabStop> = null, textJustifier:flash.text.engine:TextJustifier = null, lineRotation:String = "rotate0", baselineZero:String = "roman", bidiLevel:int = 0, applyNonLinearFontScaling:Boolean = true, baselineFontDescription:FontDescription = null, baselineFontSize:Number = 12.0)
Crée un objet TextBlock
| TextBlock | ||
createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Indique au bloc de texte de créer une ligne de texte à partir de son contenu, en commençant au point spécifié par le paramètre previousLine et en faisant un saut de ligne au point spécifié par le paramètre width. | TextBlock | ||
Libère le contenu sous-jacent du TextBlock sous forme de chaîne XML. | TextBlock | ||
Recherche l’index de la prochaine limite d’atome à partir de l’index de caractère spécifié, sans inclure le caractère situé au niveau de l’index spécifié. | TextBlock | ||
Recherche l’index de la prochaine limite de mot à partir de l’index de caractère spécifié, sans comprendre le caractère situé au niveau de l’index spécifié. | TextBlock | ||
Recherche l’index de la limite d’atome précédente jusqu’à l’index de caractère spécifié, sans inclure le caractère situé au niveau de l’index spécifié. | TextBlock | ||
Recherche l’index de la précédente limite de mot jusqu’à l’index de caractère spécifié, sans comprendre le caractère situé au niveau de l’index spécifié. | TextBlock | ||
Renvoie le TextLine contenant le caractère spécifié par le paramètre charIndex. | TextBlock | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
recreateTextLine(textLine:flash.text.engine:TextLine, previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Indique au bloc de texte de réutiliser une ligne de texte existante pour créer une ligne de texte à partir de son contenu, en commençant au point spécifié par le paramètre previousLine et en faisant un saut de ligne au point spécifié par le paramètre width. | TextBlock | ||
Indique au bloc de texte de libérer toutes les données temporaires associées à la création de lignes de texte. | TextBlock | ||
Supprime une plage de lignes de texte de la liste des lignes conservées par le TextBlock. | TextBlock | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
applyNonLinearFontScaling | propriété |
applyNonLinearFontScaling:Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Indique que vous souhaitez améliorer l’aspect de l’écran au détriment de la fidélité d’impression WYSIWYG. Dans le cas des plates-formes et des polices qui ne prennent pas en charge le positionnement de glyphes de sous-pixels lors du rendu des polices de périphérique, mais qui prennent en charge la mise à l’échelle non linéaire, le fait de définir cette propriété sur true
permet d’utiliser ces mesures, au détriment de la fidélité d’impression WYSIWYG, en particulier pour les petites tailles de point. La mise à l’échelle non linéaire des polices consiste à mettre à l’échelle la largeur de glyphes individuelles en vue de dissimuler les écarts disgracieux provoqués par l’accrochage aux pixels.
Sur les plates-formes qui prennent en charge le positionnement de glyphes de sous-pixels, cet indicateur est ignoré.
Cet indicateur n’a aucun effet sur le rendu des polices incorporées.
La valeur par défaut est true
.
Implémentation
public function get applyNonLinearFontScaling():Boolean
public function set applyNonLinearFontScaling(value:Boolean):void
baselineFontDescription | propriété |
baselineFontDescription:FontDescription
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Police utilisée pour déterminer les lignes de base de toutes les lignes créées à partir du bloc, quel que soit leur contenu. Les lignes de base dépendent de la police et de sa taille.
La valeur par défaut est null
. Lorsque la police de la ligne de base est null
, la taille de police de la ligne de base est ignorée et la ligne de base de toutes les lignes est basée sur la police et la taille du texte le plus large de la ligne. Lorsque vous spécifiez à la fois baselineFontDescription
et baselineFontSize
, ces paramètres déterminent les lignes de base de toutes les lignes du bloc de texte, indépendamment de leur contenu. Cette combinaison est plus généralement utilisée dans la typographie asiatique.
Implémentation
public function get baselineFontDescription():FontDescription
public function set baselineFontDescription(value:FontDescription):void
Eléments de l’API associés
baselineFontSize | propriété |
baselineFontSize:Number
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Taille de police utilisée pour calculer les lignes de base des lignes créées à partir du bloc. Les lignes de base dépendent de la police et de sa taille.
La valeur par défaut est 12
. Lorsque la police de la ligne de base est null
, la taille de police de la ligne de base est ignorée et la ligne de base de toutes les lignes est basée sur la police et la taille du texte le plus large de la ligne.
Implémentation
public function get baselineFontSize():Number
public function set baselineFontSize(value:Number):void
Valeur émise
ArgumentError — La baselineFontSize spécifiée est inférieure à 0.
|
Eléments de l’API associés
baselineZero | propriété |
baselineZero:String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Spécifie quelle ligne de base est au niveau y=0 pour les lignes créées à partir de ce bloc. Les valeurs valides de cette propriété sont les membres de la classe TextBaseline
.
La valeur par défaut est TextBaseline.ROMAN
.
Pour définir les valeurs pour cette propriété, utilisez les valeurs de chaîne suivantes :
Valeur de chaîne | Description |
---|---|
TextBaseline.ROMAN | La ligne de base des lignes à caractères romains est située à y=0. |
TextBaseline.ASCENT | La ligne de base des lignes à caractères ascendants est située à y=0. |
TextBaseline.DESCENT | La ligne de base des lignes à caractères descendants est située à y=0. |
TextBaseline.IDEOGRAPHIC_TOP | La ligne de base des lignes avec haut des caractères idéographiques est située à y=0. |
TextBaseline.IDEOGRAPHIC_CENTER | La ligne de base des lignes avec centre des caractères idéographiques est située à y=0. |
TextBaseline.IDEOGRAPHIC_BOTTOM | La ligne de base des lignes avec bas des caractères idéographiques est située à y=0. |
Implémentation
public function get baselineZero():String
public function set baselineZero(value:String):void
Valeur émise
ArgumentError — Si la propriété est définie sur une valeur n’appartenant pas à TextBaseline .
|
Eléments de l’API associés
bidiLevel | propriété |
bidiLevel:int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Spécifie le niveau d’intégration du paragraphe bidirectionnel du bloc de texte. En règle générale, utilisez 0 pour les paragraphes LTR (anglais, japonais, etc.) et 1 pour les paragraphes RTL (arabe, hébreu, etc.). L’utilisation de valeurs autres que 0 ou 1 est réservée aux cas spéciaux ; voir UAX#9, « Unicode Bidirectional Algorithm » (http://www.unicode.org/reports/tr9/) pour plus de détails.
La valeur par défaut est 0.
Le fait de modifier bidiLevel
définit la validité de toutes les lignes précédemment coupées en deux sur TextLineValidity.INVALID. Après la modification de bidiLevel
, la propriété firstInvalidLine
est égale à la propriété firstLine
et vous devez créer à nouveau les sauts de toutes les lignes du TextBlock.
Implémentation
public function get bidiLevel():int
public function set bidiLevel(value:int):void
Valeur émise
ArgumentError — Si défini sur une valeur inférieure à 0.
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
bidiLevel
est pair et ensuite alors que bidiLevel
est impair.
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.FontDescription; public class TextBlock_bidiLevelExample extends Sprite { public function TextBlock_bidiLevelExample():void { var fontSize:Number = 36; var format:ElementFormat = new ElementFormat(); format.fontDescription = new FontDescription("Adobe Hebrew"); format.fontSize = fontSize; var y:Number = 0; var leading:Number = fontSize * 0.2; var text:String = "abc" + String.fromCharCode(0x05D0, 0x05D1, 0x05D2); var textBlock:TextBlock = new TextBlock(); textBlock.content = new TextElement(text, format); // bidiLevel even textBlock.bidiLevel = 0; var textLine = textBlock.createTextLine(null, 400); y += leading + textLine.ascent; textLine.y = y; y += textLine.descent; addChild(textLine); // bidiLevel odd textBlock.content = new TextElement(text, format); textBlock.bidiLevel = 1; textLine = textBlock.createTextLine(null, 400); y += leading + textLine.ascent; textLine.y = y; addChild(textLine); } } }
content | propriété |
content:ContentElement
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Détient le contenu du bloc de texte. ContentElement étant une classe de base, affectez content
à une occurrence d’une sous-classe ContentElement : TextElement, GraphicElement ou GroupElement. Un objet TextElement contient une chaîne, un objet GraphicElement contient un objet DisplayObject et un objet GroupElement contient un objet Vector contenant un ou plusieurs objets TextElement ou GraphicElement ou d’autres objets GroupElement. Utilisez un TextElement pour un paragraphe de texte homogène, un GraphicElement pour un élément graphique et un GroupElement pour une combinaison de texte et d’éléments graphiques ou pour plusieurs occurrences de ces éléments, ainsi que d’autres objets GroupElement.
La valeur par défaut est null
.
La modification de la propriété content
change la validité de toute ligne créée précédemment en TextLineValidity.INVALID
. Après la modification de content
, la propriété firstInvalidLine
est égale à la propriété firstLine
et vous devez recréer les sauts de toutes les lignes du TextBlock.
Implémentation
public function get content():ContentElement
public function set content(value:ContentElement):void
Valeur émise
ArgumentError — Si défini sur une valeur ne correspondant pas à une sous-classe connue de ContentElement .
| |
ArgumentError — Le contenu spécifié est déjà membre d’un groupe.
|
Eléments de l’API associés
firstInvalidLine | propriété |
firstInvalidLine:flash.text.engine:TextLine
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Identifie la première ligne du bloc de texte dans laquelle TextLine.validity
n’est pas égal à TextLineValidity.VALID
.
La valeur par défaut est null
.
Implémentation
public function get firstInvalidLine():flash.text.engine:TextLine
Eléments de l’API associés
firstLine | propriété |
firstLine:flash.text.engine:TextLine
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Premier TextLine du TextBlock, le cas échéant.
La valeur par défaut est null
.
Implémentation
public function get firstLine():flash.text.engine:TextLine
Eléments de l’API associés
lastLine | propriété |
lastLine:flash.text.engine:TextLine
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Dernier TextLine du TextBlock, le cas échéant.
La valeur par défaut est null
.
Implémentation
public function get lastLine():flash.text.engine:TextLine
Eléments de l’API associés
lineRotation | propriété |
lineRotation:String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Fait pivoter les lignes de texte du bloc de texte en une seule unité. Appelez la méthode createTextLine()
après avoir défini lineRotation
pour qu’elle prenne effet. La valeur par défaut est TextRotation.ROTATE_0
.
La rotation finale d’un glyphe dépend des valeurs de , de ElementFormat.textRotation
, de ContentElement.textRotation
et de TextBlock.lineRotation
.
TextBlock.lineRotation
est généralement utilisé pour le texte asiatique. Pour créer un paragraphe de texte japonais vertical, procédez comme suit :
- Définissez la propriété
TextBlock.lineRotation
surTextRotation.ROTATE_90
. - Conservez la propriété
ElementFormat.textRotation
du contenu par défaut,TextRotation.AUTO
.
Utilisez les constantes suivantes, définies dans la classe TextRotation
, pour définir la valeur de cette propriété :
Valeur de chaîne | Description |
---|---|
TextRotation.ROTATE_0 | Les lignes ne pivotent pas. |
TextRotation.ROTATE_90 | Les lignes pivotent de 90 degrés vers la droite. |
TextRotation.ROTATE_180 | Les lignes pivotent de 180 degrés. |
TextRotation.ROTATE_270 | Les lignes pivotent de 270 degrés vers la droite. |
TextRotation.AUTO | Non pris en charge. |
Implémentation
public function get lineRotation():String
public function set lineRotation(value:String):void
Valeur émise
ArgumentError — Si la propriété est définie sur une valeur n’appartenant pas à TextRotation .
| |
ArgumentError — Si la propriété est définie sur TextRotation.AUTO .
|
Plus d’exemples
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
lineRotation
sur TextRotation.ROTATE_90 pour afficher la ligne verticalement.
package { import flash.display.Sprite; import flash.text.engine.FontDescription; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.TextRotation; import flash.text.engine.ElementFormat; public class TextBlock_lineRotationExample extends Sprite { public function TextBlock_lineRotationExample():void { var Japanese:String = String.fromCharCode( 0x5185, 0x95A3, 0x5E9C, 0x304C, 0x300C, 0x653F, 0x5E9C, 0x30A4, 0x30F3, 0x30BF, 0x30FC, 0x30CD, 0x30C3, 0x30C8, 0x30C6, 0x30EC, 0x30D3, 0x300D, 0x306E, 0x52D5, 0x753B, 0x914D, 0x4FE1, 0x5411, 0x3051, 0x306B, 0x30A2, 0x30C9, 0x30D3, 0x30B7, 0x30B9, 0x30C6, 0x30E0, 0x30BA, 0x793E, 0x306E ) + "FMS 2" + String.fromCharCode(0x3092, 0x63A1, 0x7528, 0x3059, 0x308B, 0x3068, 0x767a, 0x8868, 0x3057, 0x307e, 0x3057, 0x305F, 0x3002); var fontDescription:FontDescription = new FontDescription("MS Mincho"); var format:ElementFormat = new ElementFormat(); format.fontSize = 15; format.fontDescription = fontDescription; var textElement:TextElement = new TextElement(Japanese, format); var textBlock:TextBlock = new TextBlock(); textBlock.content = textElement; textBlock.lineRotation = TextRotation.ROTATE_90; var linePosition:Number = this.stage.stageWidth - 120; var previousLine:TextLine = null; while (true) { var textLine:TextLine = textBlock.createTextLine( previousLine, 300); if (textLine == null) break; textLine.y = 30; textLine.x = linePosition; linePosition -= 24; addChild(textLine); previousLine = textLine; } } } }
tabStops | propriété |
tabStops:Vector.<flash.text.engine:TabStop>
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Spécifie les arrêts de tabulation du texte du bloc de texte, sous la forme d’un vecteur d’objets TabStop
.
La valeur par défaut est null
, c’est-à-dire qu’aucun taquet de tabulation n’est spécifié. Si aucun taquet de tabulation n’est spécifié (ou si le point d’insertion se trouve au-delà du dernier taquet de tabulation spécifié), le moteur d’exécution crée des tabulations demi-pouce par défaut.
Lorsque la propriété tabStops
est définie, le TextBlock effectue une copie du vecteur pour usage interne. La modification du vecteur original ou de son contenu n’a aucune incidence sur le TextBlock. Lorsque la propriété tabStops
est interrogée, une copie du vecteur interne est renvoyée. La modification du vecteur renvoyé ou de son contenu n’a aucune incidence sur le TextBlock.
Implémentation
public function get tabStops():Vector.<flash.text.engine:TabStop>
public function set tabStops(value:Vector.<flash.text.engine:TabStop>):void
Valeur émise
ArgumentError — Les tabStops spécifiés contiennent des éléments null .
| |
ArgumentError — Les tabStops spécifiés ne sont pas stockés par position croissante.
|
Eléments de l’API associés
textJustifier | propriété |
textJustifier:flash.text.engine:TextJustifier
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Spécifie le TextJustifier à utiliser lors de la création de ligne.
La valeur par défaut est un objet TextJustifier créé par défaut.
Lorsque la propriété textJustifier
est définie, le TextBlock effectue une copie de l’objet pour usage interne. La modification de l’objet original n’a aucune incidence sur le TextBlock. Lorsque la propriété textJustifier
est interrogée, une copie de l’objet interne est renvoyée. Nous vous rappelons que la modification de cet objet renvoyé n’a aucune incidence sur le TextBlock.
Implémentation
public function get textJustifier():flash.text.engine:TextJustifier
public function set textJustifier(value:flash.text.engine:TextJustifier):void
Valeur émise
ArgumentError — Si défini sur une valeur ne correspondant pas à une sous-classe connue de TextJustifier .
|
Plus d’exemples
Eléments de l’API associés
textLineCreationResult | propriété |
textLineCreationResult:String
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Indique le résultat d’une opération createTextLine()
. La modification du contenu du bloc invalide les sauts de ligne précédents et réinitialise cette propriété sur null
.
La valeur par défaut est null
.
Les valeurs de cette propriété sont les membres de TextLineCreationResult
.
Valeur de chaîne | Description |
---|---|
TextLineCreationResult.SUCCESS | La ligne a bien été séparée. |
TextLineCreationResult.COMPLETE | Soit la nouvelle ligne créée s’alignait parfaitement avec les lignes suivantes qui sont passées de POSSIBLY_INVALID à VALID, soit aucune ligne n’a été créée car l’ensemble du texte du bloc a déjà été séparé. |
TextLineCreationResult.INSUFFICIENT_WIDTH | Aucune ligne n’a été créée car le texte n’entrait pas dans la largeur spécifiée. |
Implémentation
public function get textLineCreationResult():String
Eléments de l’API associés
userData | propriété |
public var userData:*
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Permet à l’application d’associer des données arbitraires au bloc de texte. Les données peuvent être des informations faisant référence au contenu, par exemple, une date de révision ou le nom de l’auteur, ou peuvent être des données mises en cache et requises lors du traitement.
TextBlock | () | Constructeur |
public function TextBlock(content:ContentElement = null, tabStops:Vector.<flash.text.engine:TabStop> = null, textJustifier:flash.text.engine:TextJustifier = null, lineRotation:String = "rotate0", baselineZero:String = "roman", bidiLevel:int = 0, applyNonLinearFontScaling:Boolean = true, baselineFontDescription:FontDescription = null, baselineFontSize:Number = 12.0)
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Crée un objet TextBlock
Paramètrescontent:ContentElement (default = null ) — Contenu du bloc de texte.
| |
tabStops:Vector.<flash.text.engine:TabStop> (default = null ) — Arrêts de tabulation du texte dans le bloc de texte.
| |
textJustifier:flash.text.engine:TextJustifier (default = null ) — Objet TextJustifier à utiliser lors de la création de la ligne pour ce bloc. Lorsque aucun justificateur n’est fourni, un justificateur par défaut est construit à partir des paramètres régionaux anglais.
| |
lineRotation:String (default = "rotate0 ") — Rotation appliquée aux lignes de texte générées à partir du bloc de texte en tant qu’unités.
| |
baselineZero:String (default = "roman ") — Spécifie quelle ligne de base est à y=0 pour toutes les lignes du bloc.
| |
bidiLevel:int (default = 0 ) — Niveau d’intégration bidirectionnelle par défaut du texte dans le bloc de texte.
| |
applyNonLinearFontScaling:Boolean (default = true ) — Indique que vous souhaitez améliorer l’aspect de l’écran au détriment de la fidélité d’impression WYSIWYG.
| |
baselineFontDescription:FontDescription (default = null ) — Spécifie la description d’une police à partir de laquelle les lignes de base des lignes doivent dériver pour toutes les lignes du bloc.
| |
baselineFontSize:Number (default = 12.0 ) — Spécifie la taille à utiliser avec le baselineFontDescription. Ce paramètre est ignoré si baselineFontDescription est null .
|
Valeur émise
ArgumentError — Le contenu spécifié n’est pas une sous-classe connue de ContentElement .
| |
ArgumentError — Le contenu spécifié est déjà membre d’un groupe.
| |
ArgumentError — Le paramètre lineRotation spécifié n’appartient pas à TextRotation .
| |
ArgumentError — Le paramètre baselineZero spécifié n’appartient pas àTextBaseline .
| |
ArgumentError — Le paramètre bidiLevel spécifié est inférieur à 0.
| |
ArgumentError — Les tabStops spécifiés contiennent des éléments null .
| |
ArgumentError — Les tabStops spécifiés ne sont pas stockés par position croissante.
| |
ArgumentError — La baselineFontSize spécifiée est inférieure à 0.
|
Eléments de l’API associés
createTextLine | () | méthode |
public function createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Indique au bloc de texte de créer une ligne de texte à partir de son contenu, en commençant au point spécifié par le paramètre previousLine
et en faisant un saut de ligne au point spécifié par le paramètre width
. La ligne de texte est un objet TextLine, que vous pouvez ajouter à la liste d’affichage.
Insérer des sauts de ligne dans une plage de blocs de texte dans laquelle une séparation existe déjà peut modifier la validité des lignes dans et au-delà de la zone où sont situés les sauts de ligne. L’état des lignes peut passer de VALID à INVALID ou à POSSIBLY_INVALID. Si un nouveau saut de ligne s’aligne parfaitement avec un saut de ligne précédent dont l’état est POSSIBLY_INVALID, cette dernière ligne et toutes les lignes POSSIBLY_INVALID reprennent un état VALID. La validité des lignes définies sur des valeurs n’appartenant pas à TextLineValidity
ne devient pas VALID, mais peut devenir INVALID. Vérifiez la propriété firstInvalidLine
après chaque modification du bloc de texte pour savoir où commencer ou poursuivre les sauts de lignes de texte.
Vous pouvez créer des séparations de mots artificielles en incluant le caractère Unicode ZWSP (Zero Width Space), ou espace sans chasse, dans le texte. Cela peut se révéler utile pour les langues telles que le Thaïlandais, qui requiert un dictionnaire pour les sauts de ligne corrects. Le moteur d’exécution de Flash ne dispose pas d’un tel dictionnaire.
Pour réduire les ressources supplémentaires de mémoire requises, l’utilisateur doit appeler la méthode releaseLineCreationData()
afin que le bloc de texte puisse supprimer les données temporaires associées aux sauts de ligne lorsque toutes les lignes souhaitées ont été créées, à moins qu’il soit nécessaire de recréer plusieurs fois les lignes, notamment suite au redimensionnement du conteneur.
Paramètres
previousLine:flash.text.engine:TextLine (default = null ) — Spécifie la ligne précédemment coupée en deux après laquelle la séparation doit commencer. Peut être null lorsque la séparation est au niveau de la première ligne.
| |
width:Number (default = 1000000 ) — Spécifie la largeur désirée de la ligne, en pixels. La largeur réelle peut être inférieure.
| |
lineOffset:Number (default = 0.0 ) — Paramètre facultatif qui spécifie la différence, en pixels, entre l’origine de la ligne et l’origine des taquets de tabulation. Ce paramètre peut être utilisé lorsque les lignes ne sont pas alignées mais, pour leurs tabulations, il est préférable qu’elles le soient. La valeur par défaut de ce paramètre est 0.0 .
| |
fitSomething:Boolean (default = false ) — Paramètre facultatif qui indique à Flash Player d’ajuster au moins un caractère dans la ligne de texte, quelle que soit la largeur spécifiée (même si la largeur est nulle ou négative, ce qui autrement entraîne le renvoi d’une exception).
|
flash.text.engine:TextLine — Ligne de texte ou null si le bloc de texte est vide ou si la largeur spécifiée est inférieure à celle de l’élément suivant. Pour différencier les deux cas, vérifiez la propriété textLineCreationResult du bloc de texte.
|
Valeur émise
ArgumentError — Si le TextLine spécifié par previousLine n’est pas valide.
| |
ArgumentError — Si le TextLine spécifié par previousLine est administré par un autre TextBlock.
| |
ArgumentError — Si width est inférieur à zéro, sauf si fitSomething est true.
| |
ArgumentError — Si width est supérieur à TextLine.MAX_LINE_WIDTH .
| |
IllegalOperationError — Si un ou plusieurs éléments du contenu du bloc de texte possèdent un ElementFormat null .
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
createTextLine()
pour créer des lignes de texte dans un bloc de texte. Pour ce faire, il effectue les tâches suivantes :
- Il crée un objet TextElement à partir d’une chaîne et lui donne une taille de police de 20.
- Il crée un objet TextBlock et lui affecte l’objet TextElement.
- Il appelle la méthode
createTextLine()
pour créer des lignes de 300 pixels à partir du bloc de texte. - Il place chaque ligne sur la scène (
addChild()
) et définit sa position (x
ety
).
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.FontDescription; public class TextBlock_createTextLineExample extends Sprite { public function TextBlock_createTextLineExample():void { var str:String = "I am a TextElement, created from a String and assigned " + "to the content property of a TextBlock. The createTextLine() method " + "then created these lines, 300 pixels wide, for display." ; var fontDescription:FontDescription = new FontDescription("Arial"); var format:ElementFormat = new ElementFormat(fontDescription); format.fontSize = 16; var textElement:TextElement = new TextElement(str, format); var textBlock:TextBlock = new TextBlock(); textBlock.content = textElement; createLines(textBlock); } private function createLines(textBlock:TextBlock):void { var lineWidth:Number = 300; var xPos:Number = 15.0; var yPos:Number = 20.0; var textLine:TextLine = textBlock.createTextLine (null, lineWidth); while (textLine) { textLine.x = xPos; textLine.y = yPos; yPos += textLine.height + 2; addChild (textLine); textLine = textBlock.createTextLine (textLine, lineWidth); } } } }
dump | () | méthode |
public function dump():String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Libère le contenu sous-jacent du TextBlock sous forme de chaîne XML. Cela peut se révéler utile lors de tests automatisés, et comprend le texte, le formatage et les informations de mise en forme.
Voici le résultat :
>block< [0-N LINE] >/block<
Pour obtenir une description du résultat pour chaque ligne, voir la méthode TextLine.dump().
Remarque : le contenu et le format du résultat peuvent changer dans le futur. Adobe ne garantie pas la compatibilité ascendante pour cette méthode.
Valeur renvoyéeString |
Eléments de l’API associés
findNextAtomBoundary | () | méthode |
public function findNextAtomBoundary(afterCharIndex:int):int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Recherche l’index de la prochaine limite d’atome à partir de l’index de caractère spécifié, sans inclure le caractère situé au niveau de l’index spécifié. Les caractères situés entre les limites des atomes se combinent pour former un seul atome dans un TextLine
, par exemple un ’e’ et un accent aigu.
Paramètres
afterCharIndex:int — Spécifie l’index de caractère à partir duquel la prochaine limite d’atome doit être recherchée.
|
int — Index de la prochaine limite d’atome à partir de l’index de caractère spécifié.
|
Valeur émise
RangeError — Le caractère index spécifié est hors limites.
| |
IllegalOperationError — Le TextLine auquel le caractère indexé appartient n’est pas valide.
|
Eléments de l’API associés
findNextWordBoundary | () | méthode |
public function findNextWordBoundary(afterCharIndex:int):int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Recherche l’index de la prochaine limite de mot à partir de l’index de caractère spécifié, sans comprendre le caractère situé au niveau de l’index spécifié. Les limites de mot sont déterminées à partir des propriétés Unicode des caractères.
Paramètres
afterCharIndex:int — Spécifie l’index de caractère à partir duquel la prochaine limite de mot doit être recherchée.
|
int — Index de la prochaine limite de mot à partir de l’index de caractère spécifié.
|
Valeur émise
RangeError — Le caractère index spécifié est hors limites.
| |
IllegalOperationError — Le TextLine auquel le caractère indexé appartient n’est pas valide.
|
findPreviousAtomBoundary | () | méthode |
public function findPreviousAtomBoundary(beforeCharIndex:int):int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Recherche l’index de la limite d’atome précédente jusqu’à l’index de caractère spécifié, sans inclure le caractère situé au niveau de l’index spécifié. Les caractères situés entre les limites des atomes se combinent pour former un seul atome dans un TextLine
, par exemple un ’e’ et un accent aigu.
Paramètres
beforeCharIndex:int — Spécifie l’index de caractère à partir duquel la limite d’atome précédente doit être recherchée.
|
int — Index de la limite d’atome précédente jusqu’à l’index de caractère spécifié.
|
Valeur émise
RangeError — Le caractère index spécifié est hors limites.
| |
IllegalOperationError — Le TextLine auquel le caractère indexé appartient n’est pas valide.
|
Eléments de l’API associés
findPreviousWordBoundary | () | méthode |
public function findPreviousWordBoundary(beforeCharIndex:int):int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Recherche l’index de la précédente limite de mot jusqu’à l’index de caractère spécifié, sans comprendre le caractère situé au niveau de l’index spécifié. Les limites de mot sont déterminées à partir des propriétés Unicode des caractères.
Paramètres
beforeCharIndex:int — Spécifie l’index de caractère à partir duquel la limite de mot précédente doit être recherchée.
|
int — Index de la précédente limite de mot jusqu’à l’index de caractère spécifié.
|
Valeur émise
RangeError — Le caractère index spécifié est hors limites.
| |
IllegalOperationError — Le TextLine auquel le caractère indexé appartient n’est pas valide.
|
getTextLineAtCharIndex | () | méthode |
public function getTextLineAtCharIndex(charIndex:int):flash.text.engine:TextLine
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Renvoie le TextLine contenant le caractère spécifié par le paramètre charIndex
.
Paramètres
charIndex:int — Valeur d’index de base zéro du caractère (par exemple, le premier caractère est 0, le deuxième caractère est 1, etc.).
|
flash.text.engine:TextLine — TextLine contenant le caractère au niveau de charIndex .
|
Valeur émise
RangeError — Le caractère d’index spécifié est hors limites.
|
recreateTextLine | () | méthode |
public function recreateTextLine(textLine:flash.text.engine:TextLine, previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Indique au bloc de texte de réutiliser une ligne de texte existante pour créer une ligne de texte à partir de son contenu, en commençant au point spécifié par le paramètre previousLine
et en faisant un saut de ligne au point spécifié par le paramètre width
. La ligne de texte est un objet TextLine, que vous pouvez ajouter à la liste d’affichage. La réutilisation d’une ligne de texte existante améliore les performances, car moins d’objets sont créés.
L’objet textLine
recréé est dégagé du bloc de texte dans lequel il se trouve, le cas échéant. Par ailleurs, toutes les propriétés, notamment les propriétés héritées de DisplayObjectContainer
, InteractiveObject
et DisplayObject
, sont réinitialisées à leurs valeurs par défaut. Enfin, tous les enfants de la ligne sont supprimés, notamment les éléments graphiques et autres décorations ; tous les écouteurs d’événement dans la ligne sont également supprimés. Pour améliorer les performances, la seule exception à cette réinitialisation est que la ligne elle-même n’est pas supprimée de son parent.
Insérer des sauts de ligne dans une plage de blocs de texte dans laquelle une séparation existe déjà peut modifier la validité des lignes dans et au-delà de la zone où sont situés les sauts de ligne. L’état des lignes peut passer de VALID à INVALID ou à POSSIBLY_INVALID. Si un nouveau saut de ligne s’aligne parfaitement avec un saut de ligne précédent dont l’état est POSSIBLY_INVALID, cette dernière ligne et toutes les lignes POSSIBLY_INVALID reprennent un état VALID. La validité des lignes définies sur des valeurs n’appartenant pas à TextLineValidity
ne devient pas VALID, mais peut devenir INVALID. Vérifiez la propriété firstInvalidLine
après chaque modification du bloc de texte pour savoir où commencer ou poursuivre les sauts de lignes de texte.
Vous pouvez créer des séparations de mots artificielles en incluant le caractère Unicode ZWSP (Zero Width Space), ou espace sans chasse, dans le texte. Cela peut se révéler utile pour les langues telles que le Thaïlandais, qui requiert un dictionnaire pour les sauts de ligne corrects. Le moteur d’exécution de Flash ne dispose pas d’un tel dictionnaire.
Pour réduire les ressources supplémentaires de mémoire requises, l’utilisateur doit appeler la méthode releaseLineCreationData()
afin que le bloc de texte puisse supprimer les données temporaires associées aux sauts de ligne lorsque toutes les lignes souhaitées ont été créées, à moins qu’il soit nécessaire de recréer plusieurs fois les lignes, notamment suite au redimensionnement du conteneur.
Paramètres
textLine:flash.text.engine:TextLine — Indique qu’un objet TextLine précédemment créé doit être réutilisé.
| |
previousLine:flash.text.engine:TextLine (default = null ) — Spécifie la ligne précédemment coupée en deux après laquelle la séparation doit commencer. Peut être null lorsque la séparation est au niveau de la première ligne.
| |
width:Number (default = 1000000 ) — Spécifie la largeur désirée de la ligne, en pixels. La largeur réelle peut être inférieure.
| |
lineOffset:Number (default = 0.0 ) — Paramètre facultatif qui spécifie la différence, en pixels, entre l’origine de la ligne et l’origine des taquets de tabulation. Ce paramètre peut être utilisé lorsque les lignes ne sont pas alignées mais, pour leurs tabulations, il est préférable qu’elles le soient. La valeur par défaut de ce paramètre est 0.0 .
| |
fitSomething:Boolean (default = false ) — Paramètre facultatif qui indique à Flash Player d’ajuster au moins un caractère dans la ligne de texte, quelle que soit la largeur spécifiée (même si la largeur est nulle ou négative, ce qui autrement entraîne le renvoi d’une exception).
|
flash.text.engine:TextLine — Ligne de texte ou null si le bloc de texte est vide ou si la largeur spécifiée est inférieure à celle de l’élément suivant. Pour différencier les deux cas, vérifiez la propriété textLineCreationResult du bloc de texte.
|
Valeur émise
ArgumentError — Si textLine est null.
| |
ArgumentError — Si le TextLine spécifié par previousLine n’est pas valide.
| |
ArgumentError — Si le TextLine spécifié par previousLine est administré par un autre TextBlock.
| |
ArgumentError — Si le TextLine spécifié par previousLine est également spécifié par textLine .
| |
ArgumentError — Si width est inférieur à zéro, sauf si fitSomething est true.
| |
ArgumentError — Si width est supérieur à TextLine.MAX_LINE_WIDTH .
| |
IllegalOperationError — Si un ou plusieurs éléments du contenu du bloc de texte possèdent un ElementFormat null .
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
textLine
:
var elementFormat:ElementFormat = new ElementFormat(); elementFormat.fontDescription = new FontDescription("Arial"); elementFormat.fontSize = 48; var textElement:TextElement = new TextElement("Text you'll never see", elementFormat) var textBlock:TextBlock = new TextBlock(textElement); var textLine:TextLine = textBlock.createTextLine(); textLine.x = 50; textLine.y = 50; addChild(textLine); // Reuse the element format to preserve the text formatting var elementTwo:TextElement = new TextElement("Text you see", elementFormat); textBlock.content = elementTwo; textBlock.recreateTextLine(textLine); // Set the position (and any other display object properties like alpha, children, etc.) // otherwise, they're all set to default properties. textLine.x = 50; textLine.y = 50;
releaseLineCreationData | () | méthode |
public function releaseLineCreationData():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Indique au bloc de texte de libérer toutes les données temporaires associées à la création de lignes de texte. Pour minimiser l’encombrement mémoire de l’application, nous vous conseillons d’appeler la méthode releaseLineCreationData()
lorsque vous avez terminé la création de lignes de texte à partir d’un bloc de texte. Cependant, pour optimiser les performances de nouveaux sauts de lignes (notamment lorsque le conteneur est redimensionné), vous devez éviter d’appeler la méthode releaseLineCreationData()
. C’est à l’application de trouver un juste équilibre entre mémoire et performances.
La procédure recommandée pour du texte qui ne subira aucune modification est la suivante : initialisez un bloc de texte, appelez la méthode createTextLine()
aussi souvent que nécessaire pour obtenir le résultat souhaité, puis appelez la méthode releaseLineCreationData()
.
Eléments de l’API associés
releaseLines | () | méthode |
public function releaseLines(firstLine:flash.text.engine:TextLine, lastLine:flash.text.engine:TextLine):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Supprime une plage de lignes de texte de la liste des lignes conservées par le TextBlock. Les lignes peuvent ainsi être nettoyées lorsque aucune autre référence n’existe.
Définissez sur null
les textBlock
, nextLine
et previousLine
appartenant aux lignes supprimées. Définissez sur TextLineValidity.INVALID
la validity
des lignes supprimées et de toutes les lignes qui les suivent dans le TextBlock.
Paramètres
firstLine:flash.text.engine:TextLine — Spécifie la première ligne à libérer.
| |
lastLine:flash.text.engine:TextLine — Spécifie la dernière ligne à libérer.
|
Valeur émise
ArgumentError — Si le TextLine spécifié par firstLine ou lastLine n’est pas dans la liste des lignes de texte conservées par le bloc de texte.
|
Eléments de l’API associés
package { import fl.controls.Button; import flash.text.engine.TextBlock; import flash.text.engine.TextLine; import flash.text.engine.TextElement; import flash.text.engine.ElementFormat; import flash.text.engine.TextRotation; import flash.text.engine.TextBaseline; import flash.text.engine.LineJustification; import flash.text.engine.FontDescription; import flash.text.engine.EastAsianJustifier; import flash.display.Loader; import flash.display.Sprite; import flash.display.Stage; import flash.events.MouseEvent; import flash.system.Capabilities; public class TextBlockExample extends Sprite { var vertical:Boolean; var container:Sprite; var textBlocks:Vector.<TextBlock>; var loader:Loader = new Loader(); var directionButton:Button = new Button(); public function TextBlockExample():void { addChild(directionButton); directionButton.width = 30; directionButton.move(50, 350); directionButton.addEventListener(MouseEvent.CLICK, clickHandler); createContent(); createLines(); } private function createEmptyBlock():TextBlock { var textBlock:TextBlock = new TextBlock(); textBlock.baselineZero = TextBaseline.IDEOGRAPHIC_CENTER; textBlock.textJustifier = new EastAsianJustifier("ja", LineJustification.ALL_BUT_LAST); textBlock.lineRotation = vertical? TextRotation.ROTATE_90: TextRotation.ROTATE_0; return textBlock; } private function paragraph1(format:ElementFormat):TextBlock { var textBlock:TextBlock = createEmptyBlock(); textBlock.content = new TextElement( String.fromCharCode( 0x5185, 0x95A3, 0x5E9C, 0x304C, 0x300C, 0x653F, 0x5E9C, 0x30A4, 0x30F3, 0x30BF, 0x30FC, 0x30CD, 0x30C3, 0x30C8, 0x30C6, 0x30EC, 0x30D3, 0x300D, 0x306E, 0x52D5, 0x753B, 0x914D, 0x4FE1, 0x5411, 0x3051, 0x306B, 0x30A2, 0x30C9, 0x30D3, 0x30B7, 0x30B9, 0x30C6, 0x30E0, 0x30BA, 0x793E, 0x306E ) + "FMS 2" + String.fromCharCode(0x3092, 0x63A1, 0x7528, 0x3059, 0x308B, 0x3068, 0x767a, 0x8868, 0x3057, 0x307e, 0x3057, 0x305F, 0x3002), format); return textBlock; } private function paragraph2(format:ElementFormat):TextBlock { var textBlock:TextBlock = createEmptyBlock(); textBlock.content = new TextElement( String.fromCharCode( 0x30AF, 0x30ED, 0x30B9, 0x30D7, 0x30E9, 0x30C3, 0x30C8, 0x30D5, 0x30A9, 0x30FC, 0x30E0, 0x4E0A, 0x3067, 0x518D, 0x751F, 0x53EF, 0x80FD, 0x306A ) + "Flash Video" + String.fromCharCode( 0x3092, 0x914D, 0x4FE1, 0x3001, 0x653F, 0x5E9C, 0x6700, 0x65B0, 0x60C5, 0x5831, 0x3092, 0x3088, 0x308A, 0x591A, 0x304F, 0x306E, 0x56FD, 0x6C11, 0x306B, 0x9AD8, 0x54C1, 0x8CEA, 0x306A, 0x753B, 0x50CF, 0x3067, 0x7C21, 0x5358, 0x304B, 0x3064, 0x30EA, 0x30A2, 0x30EB, 0x30BF, 0x30A4, 0x30E0, 0x306B, 0x63D0, 0x4F9B, 0x3059, 0x308B, 0x3053, 0x3068, 0x304C, 0x53EF, 0x80FD, 0x306B, 0x306A, 0x308A, 0x307e, 0x3057, 0x305F, 0x3002), format); return textBlock; } private function paragraph3(format:ElementFormat):TextBlock { var textBlock:TextBlock = createEmptyBlock(); textBlock.content = new TextElement( String.fromCharCode(0x3010) + "2007" + String.fromCharCode(0x5E74) + "2" + String.fromCharCode(0x6708) + "21" + String.fromCharCode(0x65E5, 0x3011), format); return textBlock; } private function createContent():void { var font:FontDescription = new FontDescription(); if (Capabilities.os.search("Mac OS") > -1) font.fontName = String.fromCharCode(0x5C0F, 0x585A, 0x660E, 0x671D) + " Pro R"; // "Kozuka Mincho Pro R" koFont.fontName = "Adobe " + String.fromCharCode(0xBA85, 0xC870) + " Std M"; // "Adobe Myungjo Std M" else font.fontName = "Kozuka Mincho Pro R"; var format:ElementFormat = new ElementFormat(); format.fontDescription = font; format.fontSize = 12; format.locale = "ja"; format.color = 0x000000; if (!vertical) format.textRotation = TextRotation.ROTATE_0; textBlocks = new Vector.<TextBlock>(); textBlocks.push( paragraph1(format), paragraph2(format), paragraph3(format)//, ); } private function createLines():void { if (container != null) { removeChild(container); } container = new Sprite(); container.y = 45; container.x = 40; addChild(container); var linePosition:Number = vertical? this.stage.stageWidth - 120: 12; for (var i:uint = 0; i < textBlocks.length; i++) { var textBlock:TextBlock = textBlocks[i]; var previousLine:TextLine = null; while (true) { var textLine:TextLine = textBlock.createTextLine( previousLine, 300); if (textLine == null) break; if (vertical) { textLine.x = linePosition; linePosition -= 24; directionButton.label = " -- "; } else { textLine.y = linePosition+50; linePosition += 24; directionButton.label = " | "; } container.addChild(textLine); previousLine = textLine; } if (vertical) linePosition -= 16; else linePosition += 16; } } private function clickHandler(event:MouseEvent):void { vertical = !vertical; createContent(); createLines(); } } }
Tue Jun 12 2018, 09:30 AM Z