Paquete | flash.text.engine |
Clase | public final class TextBlock |
Herencia | TextBlock Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
La intención de la clase TextBlock es contener un solo párrafo, ya que los algoritmos Unicode bidireccionales y de salto de línea operan en un párrafo cada vez. En aplicaciones que componen varios párrafos de texto, deben utilizar su propio lenguaje de marcado o análisis de texto para dividir el texto en distintos párrafos y crear una clase TextBlock por cada uno.
El objeto TextBlock almacena su contenido en la propiedad content
, que es una instancia de la clase ContentElement. Como no es posible crear una instancia de la clase ContentElement, establezca content
como una instancia de una de sus subclases: TextElement, GraphicElement o GroupElement. Utilice TextElement para contenido de texto puro, GraphicElement para contenido de imágenes o gráficos y GroupElement para contenido con objetos TextElement, GraphicElement y GroupElement combinados. Consulte la clase ContentElement y sus subclases para obtener información sobre la gestión de ciclos de texto con formato, subciclos de texto incorporado y elementos gráficos.
Una vez creada la instancia de TextBlock y establecida la propiedad content
, llame al método createTextLine()
para crear líneas de texto que sean instancias de la clase TextLine
.
Elementos de API relacionados
GraphicElement
GroupElement
TextBaseline
TextElement
TextJustifier
TextLine
TextRotation
TabStop
Propiedad | Definido por | ||
---|---|---|---|
applyNonLinearFontScaling : Boolean
Especifica que quiere mejorar la apariencia de la pantalla a costa de la fidelidad de impresión WYSIWYG (lo que se ve en la pantalla es lo que se obtiene). | TextBlock | ||
baselineFontDescription : FontDescription
La fuente empleada para determinar las líneas base de todas las líneas con saltos en el bloque, independientemente de su contenido. | TextBlock | ||
baselineFontSize : Number
El tamaño de fuente empleado para calcular las líneas base de las líneas con saltos en el bloque. | TextBlock | ||
baselineZero : String
Especifica qué línea base está en y=0 para las líneas creadas a partir de este bloque. | TextBlock | ||
bidiLevel : int
Especifica el nivel de incorporación de párrafo bidireccional del bloque de texto. | TextBlock | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
content : ContentElement
Alberga el contenido del bloque de texto. | TextBlock | ||
firstInvalidLine : flash.text.engine:TextLine [solo lectura]
Identifica la primera línea del bloque de texto en la que TextLine.validity no es igual a TextLineValidity.VALID. | TextBlock | ||
firstLine : flash.text.engine:TextLine [solo lectura]
El primer elemento TextLine de TextBlock, si existe. | TextBlock | ||
lastLine : flash.text.engine:TextLine [solo lectura]
El último elemento TextLine de TextBlock, si existe. | TextBlock | ||
lineRotation : String
Gira las líneas de texto del bloque de texto como una unidad. | TextBlock | ||
tabStops : Vector.<flash.text.engine:TabStop>
Especifica los tabuladores del texto en el bloque de texto. Lo hace en forma de un vector de objetos TabStop. | TextBlock | ||
textJustifier : flash.text.engine:TextJustifier
Especifica el valor TextJustifier que se utiliza en la creación de líneas. | TextBlock | ||
textLineCreationResult : String [solo lectura]
Indica el resultado de una operación createTextLine(). | TextBlock | ||
userData : *
Permite a la aplicación asociar datos arbitrarios al bloque de texto. | TextBlock |
Método | Definido por | ||
---|---|---|---|
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)
Crea un objeto TextBlock
| TextBlock | ||
createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Ordena al bloque de texto que cree una línea de texto a partir de su propio contenido. Ésta comienza en el punto especificado por el parámetro previousLine y se rompe en el punto especificado por el parámetro width. | TextBlock | ||
Vuelca el contenido subyacente del objeto TextBlock como una cadena XML. | TextBlock | ||
Busca el índice del siguiente límite del objeto Atom en el índice de caracteres especificado, sin incluir el carácter en el índice especificado. | TextBlock | ||
Busca el índice del siguiente límite de palabra en el índice de caracteres especificado, sin incluir el carácter en el índice especificado. | TextBlock | ||
Busca el índice del límite del átomo anterior en el índice de caracteres especificado, sin incluir el carácter en el índice especificado. | TextBlock | ||
Busca el índice del límite de palabra anterior en el índice de caracteres especificado, sin incluir el carácter en el índice especificado. | TextBlock | ||
Devuelve el parámetro TextLine que contiene el carácter especificado por el parámetro charIndex. | TextBlock | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | 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
Ordena al bloque de texto que reutilice una línea de texto existente para crear una línea de texto a partir de su propio contenido. Ésta comienza en el punto especificado por el parámetro previousLine y se rompe en el punto especificado por el parámetro width. | TextBlock | ||
Ordena al bloque de texto que libere a todos los datos temporales asociados a la creación de líneas de texto. | TextBlock | ||
Elimina un rango de líneas de texto de la lista de líneas mantenida por TextBlock. | TextBlock | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object |
applyNonLinearFontScaling | propiedad |
applyNonLinearFontScaling:Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Especifica que quiere mejorar la apariencia de la pantalla a costa de la fidelidad de impresión WYSIWYG (lo que se ve en la pantalla es lo que se obtiene). En plataformas y fuentes que no admiten posición de glifos de subpíxeles durante el procesamiento de fuentes del dispositivo, pero que sí admitan escalado no lineal, al establecer esta propiedad como true
se permite el uso de métricas, aunque sacrificando la fidelidad de impresión WYSIWYG, especialmente en tamaños pequeños de puntos. No funciona ningún escalado de fuente lineal si se escala la anchura de los glifos individuales para ocultar los huecos antiestéticos causados por el ajuste de los píxeles.
En las plataformas que no admiten posición de glifos de subpíxeles, este indicador se omite.
Este indicador no tiene ningún efecto en el procesamiento de fuentes incorporadas
El valor predeterminado es true
.
Implementación
public function get applyNonLinearFontScaling():Boolean
public function set applyNonLinearFontScaling(value:Boolean):void
baselineFontDescription | propiedad |
baselineFontDescription:FontDescription
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
La fuente empleada para determinar las líneas base de todas las líneas con saltos en el bloque, independientemente de su contenido. Las líneas base dependen de la fuente y del tamaño de fuente.
El valor predeterminado es null
. Si la fuente de la línea base es null
, el tamaño de fuente de la línea base se omite, ya que cualquier línea se basará en la fuente y el tamaño del texto más grande de la línea. Si especifica baselineFontDescription
y baselineFontSize
, determinan las líneas base de todas las líneas del bloque, independientemente de su contenido. Esta combinación suele ser más útil en la tipografía asiática.
Implementación
public function get baselineFontDescription():FontDescription
public function set baselineFontDescription(value:FontDescription):void
Elementos de API relacionados
baselineFontSize | propiedad |
baselineFontSize:Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
El tamaño de fuente empleado para calcular las líneas base de las líneas con saltos en el bloque. Las líneas base dependen de la fuente y del tamaño de fuente.
El valor predeterminado es 12
. Si la fuente de la línea base es null
, el tamaño de fuente de la línea base se omite, ya que cualquier línea se basará en la fuente y el tamaño del texto más grande de la línea.
Implementación
public function get baselineFontSize():Number
public function set baselineFontSize(value:Number):void
Emite
ArgumentError — La propiedad baselineFontSize especificada es menor que 0.
|
Elementos de API relacionados
baselineZero | propiedad |
baselineZero:String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Especifica qué línea base está en y=0 para las líneas creadas a partir de este bloque. Los valores válidos de esta propiedad se encuentran en los miembros de la clase TextBaseline
.
El valor predeterminado es TextBaseline.ROMAN
.
Para definir los valores de esta propiedad, utilice los siguientes valores de cadena:
Valor de la cadena | Descripción |
---|---|
TextBaseline.ROMAN | La línea base Roman de las líneas se sitúa en y=0. |
TextBaseline.ASCENT | La línea base ascendente de las líneas se sitúa en y=0. |
TextBaseline.DESCENT | La línea base descendente de las líneas se sitúa en y=0. |
TextBaseline.IDEOGRAPHIC_TOP | La línea base ideográfica superior de las líneas se sitúa en y=0. |
TextBaseline.IDEOGRAPHIC_CENTER | La línea base ideográfica central de las líneas se sitúa en y=0. |
TextBaseline.IDEOGRAPHIC_BOTTOM | La línea base ideográfica inferior de las líneas se sitúa en y=0. |
Implementación
public function get baselineZero():String
public function set baselineZero(value:String):void
Emite
ArgumentError — Si se establece en cualquier valor que no sea miembro de TextBaseline .
|
Elementos de API relacionados
bidiLevel | propiedad |
bidiLevel:int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Especifica el nivel de incorporación de párrafo bidireccional del bloque de texto. En general, utilice 0 para párrafos de izquierda a derecha (inglés, japonés, etc.) y 1 para párrafos de derecha a izquierda (árabe, hebreo, etc.). El uso de valores distintos de 0 o 1 se reserva para casos especiales; consulte UAX#9, "Algoritmo bidireccional Unicode" (http://www.unicode.org/reports/tr9/) para obtener más información.
El valor predeterminado es 0.
Si se modifica la propiedad bidLevel
, cambia la validez de todas las líneas divididas anteriormente a TextLineValidity.INVALID. Una vez cambiada la propiedad bidLevel
, firstInvalidLine
es igual que la propiedad firstLine
y debe volver a dividir todas las líneas de TextBlock.
Implementación
public function get bidiLevel():int
public function set bidiLevel(value:int):void
Emite
ArgumentError — Si se establece en un valor menor que 0.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
bidiLevel
par y luego con bidiLevel
impar.
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 | propiedad |
content:ContentElement
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Alberga el contenido del bloque de texto. Como ContentElement es una clase base, se debe asignar la propiedad content
a una instancia de una subclase de ContentElement: TextElement, GraphicElement o GroupElement. Un objeto TextElement contiene una cadena, un objeto GraphicElement contiene un objeto de visualización y un objeto GroupElement contiene un objeto Vector con uno o más objetos TextElement, GraphicElement o GroupElement. Utilice un objeto TextElement para párrafos de texto homogéneo, un objeto GraphicElement para gráficos y un objeto GroupElement para una combinación de texto y gráficos. Puede utilizar varias instancias de estos elementos, así como otros objetos GroupElement.
El valor predeterminado es null
.
Si se modifica la propiedad content
, cambia la validez de todas las líneas creadas anteriormente a TextLineValidity.INVALID
. Una vez cambiada la propiedad content
, firstInvalidLine
es igual que la propiedad firstLine
y debe volver a dividir todas las líneas de TextBlock.
Implementación
public function get content():ContentElement
public function set content(value:ContentElement):void
Emite
ArgumentError — Si se establece en un valor que no sea una clase conocida de ContentElement .
| |
ArgumentError — La propiedad value especificada ya es un miembro de un grupo.
|
Elementos de API relacionados
firstInvalidLine | propiedad |
firstInvalidLine:flash.text.engine:TextLine
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Identifica la primera línea del bloque de texto en la que TextLine.validity
no es igual a TextLineValidity.VALID
.
El valor predeterminado es null
.
Implementación
public function get firstInvalidLine():flash.text.engine:TextLine
Elementos de API relacionados
firstLine | propiedad |
firstLine:flash.text.engine:TextLine
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
El primer elemento TextLine de TextBlock, si existe.
El valor predeterminado es null
.
Implementación
public function get firstLine():flash.text.engine:TextLine
Elementos de API relacionados
lastLine | propiedad |
lastLine:flash.text.engine:TextLine
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
El último elemento TextLine de TextBlock, si existe.
El valor predeterminado es null
.
Implementación
public function get lastLine():flash.text.engine:TextLine
Elementos de API relacionados
lineRotation | propiedad |
lineRotation:String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Gira las líneas de texto del bloque de texto como una unidad. Llame al método createTextLine()
después de haber establecido lineRotation
para que surta efecto. El valor predeterminado es TextRotation.ROTATE_0
.
La rotación final de cualquier glifo depende de los valores de ElementFormat.textRotation
, ContentElement.textRotation
y TextBlock.lineRotation
.
TextBlock.lineRotation
se suele utilizar en texto asiático. Para crear un párrafo de texto japonés vertical, haga lo siguiente:
- Establezca la propiedad
TextBlock.lineRotation
enTextRotation.ROTATE_90
. - Deje la propiedad
ElementFormat.textRotation
del contenido como predeterminada,TextRotation.AUTO
.
Utilice las siguientes constantes, definidas en la clase TextRotation
, para establecer el valor de esta propiedad:
Valor de la cadena | Descripción |
---|---|
TextRotation.ROTATE_0 | Las líneas no se giran. |
TextRotation.ROTATE_90 | Las líneas se giran 90 grados en sentido horario. |
TextRotation.ROTATE_180 | Las líneas se giran 180 grados. |
TextRotation.ROTATE_270 | Las líneas se giran 270 grados en sentido horario. |
TextRotation.AUTO | No se admite. |
Implementación
public function get lineRotation():String
public function set lineRotation(value:String):void
Emite
ArgumentError — Si se define en cualquier valor que no sea miembro de TextRotation .
| |
ArgumentError — Si se establece en TextRotation.AUTO .
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
lineRotation
como TextRotation.ROTATE_90 para mostrar la línea en vertical.
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 | propiedad |
tabStops:Vector.<flash.text.engine:TabStop>
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Especifica los tabuladores del texto en el bloque de texto. Lo hace en forma de un vector de objetos TabStop
.
El valor predeterminado es null
, lo que indica que no se especifica ninguna tabulación. Si no se especifica ninguna tabulación (o el punto de inserción está fuera de la última tabulación especificada), el motor de ejecución crea tabulaciones de media pulgada de forma predeterminada.
Si se establece la propiedad tabStops
, el bloque TextBlock hace una copia del vector para uso interno. Modificar el vector original o su contenido no afecta al bloque TextBlock. Si se consulta la propiedad tabStops
, se devuelve una copia del vector interno. De nuevo, modificar este vector devuelto o su contenido no afecta al bloque TextBlock.
Implementación
public function get tabStops():Vector.<flash.text.engine:TabStop>
public function set tabStops(value:Vector.<flash.text.engine:TabStop>):void
Emite
ArgumentError — La propiedad tabStops especificada contiene elementos null .
| |
ArgumentError — La propiedad tabStops especificada no está ordenada ascendentemente.
|
Elementos de API relacionados
textJustifier | propiedad |
textJustifier:flash.text.engine:TextJustifier
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Especifica el valor TextJustifier que se utiliza en la creación de líneas.
El valor predeterminado es un objeto TextJustifier construido predeterminado.
Si se establece la propiedad textJustifier
, TextBlock hace una copia del bloque para uso interno. Modificar el objeto original no afecta al bloque TextBlock. Si se consulta la propiedad textJustifier
, se devuelve una copia del objeto interno. De nuevo, modificar este objeto devuelto no afecta al bloque TextBlock.
Implementación
public function get textJustifier():flash.text.engine:TextJustifier
public function set textJustifier(value:flash.text.engine:TextJustifier):void
Emite
ArgumentError — Si se establece en un valor que no sea una clase conocida de TextJustifier .
|
Elementos de API relacionados
textLineCreationResult | propiedad |
textLineCreationResult:String
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Indica el resultado de una operación createTextLine()
Si cambia el contenido del bloque, se invalidan los saltos anteriores y se restablece la propiedad en null
.
El valor predeterminado es null
.
Los valores de esta propiedad se encuentran enTextLineCreationResult
Valor de la cadena | Descripción |
---|---|
TextLineCreationResult.SUCCESS | Se insertó un salto de línea correctamente. |
TextLineCreationResult.COMPLETE | O la nueva línea creada se ha alineado perfectamente con las líneas siguientes que han pasado de POSSIBLY_INVALID a VALID, o bien no se ha creado ninguna línea porque todo el texto del bloque ya tiene saltos de línea. |
TextLineCreationResult.INSUFFICIENT_WIDTH | No se ha creado ninguna línea porque no se ha podido ajustar el texto a la anchura especificada. |
Implementación
public function get textLineCreationResult():String
Elementos de API relacionados
userData | propiedad |
public var userData:*
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Permite a la aplicación asociar datos arbitrarios al bloque de texto. Los datos podrían ser información que se refiere al contenido, como una fecha de revisión o el nombre del autor, o bien se podrían almacenar los datos en la caché que utiliza durante el procesamiento.
TextBlock | () | Información sobre |
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)
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Crea un objeto TextBlock
Parámetroscontent:ContentElement (default = null ) — El contenido del bloque de texto.
| |
tabStops:Vector.<flash.text.engine:TabStop> (default = null ) — Marcas de tabulación del texto en el bloque de texto.
| |
textJustifier:flash.text.engine:TextJustifier (default = null ) — El objeto TextJustifier que se utiliza en los saltos de línea de este bloque. Si no se establece ninguna justificación, el valor predeterminado se obtendrá de la configuración regional inglesa.
| |
lineRotation:String (default = "rotate0 ") — La rotación aplicada a las líneas de texto generadas a partir del bloque de texto como unidades.
| |
baselineZero:String (default = "roman ") — Especifica qué línea base se sitúa en y=0 en todas las líneas del bloque.
| |
bidiLevel:int (default = 0 ) — Nivel de incorporación bidireccional predeterminada del texto del bloque de texto.
| |
applyNonLinearFontScaling:Boolean (default = true ) — Especifica que quiere mejorar la apariencia de la pantalla a costa de la fidelidad de impresión WYSIWYG.
| |
baselineFontDescription:FontDescription (default = null ) — Especifica una descripción de fuentes desde la que obtener las líneas base de todas las líneas del bloque.
| |
baselineFontSize:Number (default = 12.0 ) — Especifica el tamaño que se utiliza con baselineFontDescription. Este parámetro se omite si baselineFontDescription es null .
|
Emite
ArgumentError — La propiedad content especificada no es una subclase conocida de ContentElement .
| |
ArgumentError — La propiedad content especificada ya es un miembro de un grupo.
| |
ArgumentError — La propiedad lineRotation especificada no es un miembro de TextRotation .
| |
ArgumentError — La propiedad baselineZero especificada no es un miembro de TextBaseline .
| |
ArgumentError — La propiedad bidiLevel especificada es menor que 0.
| |
ArgumentError — La propiedad tabStops especificada contiene elementos null .
| |
ArgumentError — La propiedad tabStops especificada no está ordenada ascendentemente.
| |
ArgumentError — La propiedad baselineFontSize especificada es menor que 0.
|
Elementos de API relacionados
createTextLine | () | método |
public function createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Ordena al bloque de texto que cree una línea de texto a partir de su propio contenido. Ésta comienza en el punto especificado por el parámetro previousLine
y se rompe en el punto especificado por el parámetro width
. La línea de texto es un objeto TextLine que se puede añadir a la lista de visualización.
Si se introducen saltos de línea en un intervalo de bloque de texto en el que ya se hayan introducido saltos puede modificar la validez de las líneas que se vean afectadas por la acción. El estado de las líneas puede pasar de VALID a INVALID o POSSIBLY_INVALID. Si una línea con salto se alinea perfectamente con otra línea anterior con estado POSSIBLY_INVALID, la línea anterior y todas las líneas con estado POSSIBLY_INVALID volverán a tener un estado VALID. La validez de las líneas que se han definido en valores que no son miembros de TextLineValidity
no cambian a VALID, pero podrían cambiar a INVALID. Compruebe la propiedad firstInvalidLine
después de cualquier cambio realizado en el bloque de texto para saber dónde empieza o continúa la división de las líneas de texto.
Puede crear saltos de palabras artificiales si incluye el carácter de espacio de anchura cero (ZWSP, Zero Width Space) de Unicode en el texto. Esto resulta útil en idiomas como el tailandés, donde es necesario consultar el diccionario para introducir correctamente los saltos de línea. El motor de ejecución de Flash no incluye este diccionario.
Con el fin de reducir la sobrecarga de memoria, cuando se han creado todas las líneas deseadas (a menos que se espere que las líneas sean necesarias para crear saltos de línea repetidos debidos, por ejemplo, al cambio de tamaño del contenedor), el usuario debe llamar al método releaseLineCreationData()
para permitir que el bloque de texto elimine los datos temporales asociados a saltos de línea.
Parámetros
previousLine:flash.text.engine:TextLine (default = null ) — Especifica el salto de línea anterior tras el que se debe comenzar. Puede ser null si se inserta un salto en la primera línea.
| |
width:Number (default = 1000000 ) — Especifica la anchura deseada de la línea, en píxeles. La anchura real puede ser inferior.
| |
lineOffset:Number (default = 0.0 ) — Un parámetro opcional que especifica la diferencia (en píxeles) entre el origen de la línea y el de las tabulaciones. Se puede utilizar si las líneas no están alineadas, pero es recomendable para las tabulaciones. El valor predeterminado de este parámetro es.0.0 .
| |
fitSomething:Boolean (default = false ) — Un parámetro opcional que ordena a Flash Player que ajuste al menos un carácter en la línea de texto, independientemente de la anchura especificada (incluso si width es cero o negativo que, en otro contexto, emitiría una excepción).
|
flash.text.engine:TextLine — Una línea de texto o null si el bloque de texto está vacío o si el parámetro width especificado es inferior que el parámetro width del siguiente elemento. Para diferenciar estos casos, compruebe la propiedad textLineCreationResult del bloque de texto.
|
Emite
ArgumentError — Si el parámetro TextLine especificado por previousLine no es válido.
| |
ArgumentError — Si el parámetro TextLine especificado por previousLine es propiedad de un objeto TextBlock diferente.
| |
ArgumentError — Si width es menor que cero, a no ser que fitSomething sea true.
| |
ArgumentError — Si width es mayor que TextLine.MAX_LINE_WIDTH .
| |
IllegalOperationError — Si uno o varios elementos del contenido del bloque de texto tienen formato null ElementFormat .
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
createTextLine()
para crear líneas de texto en un bloque de texto. Esto se consigue llevando a cabo las siguientes tareas:
- Creación de un objeto TextElement a partir de una cadena y le da un tamaño de fuente de 20
- Creación de un objeto TextBlock y asignación de TextElement al mismo
- Llamada de
createTextLine()
para crear líneas de 300 píxeles de ancho a partir del bloque de texto - Colocación de cada línea en el escenario Stage (
addChild()
) y establecimiento de su posición (x
ey
)
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étodo |
public function dump():String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Vuelca el contenido subyacente del objeto TextBlock como una cadena XML. Esto puede resultar útil en las pruebas automatizadas e incluye texto, formato e información de diseño.
A continuación se describe la salida:
>block< [0-N LINE] >/block<
Para ver una descripción de la salida de cada línea, consulte el método TextLine.dump().
Nota: el contenido y el formato de la salida puede cambiar en el futuro. Adobe no garantiza que este método siga siendo compatible con versiones anteriores.
Valor devueltoString |
Elementos de API relacionados
findNextAtomBoundary | () | método |
public function findNextAtomBoundary(afterCharIndex:int):int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Busca el índice del siguiente límite del objeto Atom en el índice de caracteres especificado, sin incluir el carácter en el índice especificado. Los caracteres entre límites de átomos se combinan para formar un átomo en TextLine
, como una 'e' con un acento incorporado.
Parámetros
afterCharIndex:int — Especifica el índice del carácter en que se buscará el siguiente límite del átomo.
|
int — El índice del siguiente límite del átomo del índice del carácter especificado.
|
Emite
RangeError — El parámetro index especificado está fuera de rango.
| |
IllegalOperationError — El parámetro TextLine al que pertenece el carácter indexado no es válido.
|
Elementos de API relacionados
findNextWordBoundary | () | método |
public function findNextWordBoundary(afterCharIndex:int):int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Busca el índice del siguiente límite de palabra en el índice de caracteres especificado, sin incluir el carácter en el índice especificado. Los limites de palabras se determinan en función de las propiedades Unicode de los caracteres.
Parámetros
afterCharIndex:int — Especifica el índice del carácter en que se buscará el siguiente límite de palabra.
|
int — El índice del siguiente límite de palabra del índice del carácter especificado.
|
Emite
RangeError — El parámetro index especificado está fuera de rango.
| |
IllegalOperationError — El parámetro TextLine al que pertenece el carácter indexado no es válido.
|
findPreviousAtomBoundary | () | método |
public function findPreviousAtomBoundary(beforeCharIndex:int):int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Busca el índice del límite del átomo anterior en el índice de caracteres especificado, sin incluir el carácter en el índice especificado. Los caracteres entre límites de átomos se combinan para formar un átomo en TextLine
, como una 'e' con un acento incorporado.
Parámetros
beforeCharIndex:int — Especifica el índice del carácter en que se buscará el límite anterior del átomo.
|
int — El índice del límite del átomo anterior al índice del carácter especificado.
|
Emite
RangeError — El parámetro index especificado está fuera de rango.
| |
IllegalOperationError — El parámetro TextLine al que pertenece el carácter indexado no es válido.
|
Elementos de API relacionados
findPreviousWordBoundary | () | método |
public function findPreviousWordBoundary(beforeCharIndex:int):int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Busca el índice del límite de palabra anterior en el índice de caracteres especificado, sin incluir el carácter en el índice especificado. Los limites de palabras se determinan en función de las propiedades Unicode de los caracteres.
Parámetros
beforeCharIndex:int — Especifica el índice del carácter en que se buscará el límite de palabra anterior.
|
int — El índice del límite de palabra anterior al índice del carácter especificado.
|
Emite
RangeError — El parámetro index especificado está fuera de rango.
| |
IllegalOperationError — El parámetro TextLine al que pertenece el carácter indexado no es válido.
|
getTextLineAtCharIndex | () | método |
public function getTextLineAtCharIndex(charIndex:int):flash.text.engine:TextLine
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Devuelve el parámetro TextLine que contiene el carácter especificado por el parámetro charIndex
.
Parámetros
charIndex:int — El valor de índice basado en cero para el carácter (por ejemplo, el primer carácter es 0, el segundo carácter es 1, etc.).
|
flash.text.engine:TextLine — El parámetro TextLine que contiene el carácter en charIndex .
|
Emite
RangeError — El índice del carácter especificado está fuera de rango.
|
recreateTextLine | () | método |
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
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Ordena al bloque de texto que reutilice una línea de texto existente para crear una línea de texto a partir de su propio contenido. Ésta comienza en el punto especificado por el parámetro previousLine
y se rompe en el punto especificado por el parámetro width
. La línea de texto es un objeto TextLine que se puede añadir a la lista de visualización. Al reutilizar una línea de texto existente, se mejora el rendimiento gracias a la reducción de creación de objetos.
El parámetro textLine
que se vuelve a crear se libera de cualquier bloque de texto en que se encuentre, si está en alguno. Además, todas las propiedades, incluidas las propiedades heredadas de DisplayObjectContainer
, InteractiveObject
y DisplayObject
se restablecen a sus valores predeterminados. Por último, todos los elementos secundarios de la línea se eliminan, incluidos elementos gráficos y otros elementos decorativos, y todos los detectores de eventos en la línea se eliminan. Para mejorar el rendimiento, la única excepción a este restablecimiento completo es que la línea en sí no se eliminará de su elemento principal.
Si se introducen saltos de línea en un intervalo de bloque de texto en el que ya se hayan introducido saltos puede modificar la validez de las líneas que se vean afectadas por la acción. El estado de las líneas puede pasar de VALID a INVALID o POSSIBLY_INVALID. Si una línea con salto se alinea perfectamente con otra línea anterior con estado POSSIBLY_INVALID, la línea anterior y todas las líneas con estado POSSIBLY_INVALID volverán a tener un estado VALID. La validez de las líneas que se han definido en valores que no son miembros de TextLineValidity
no cambian a VALID, pero podrían cambiar a INVALID. Compruebe la propiedad firstInvalidLine
después de cualquier cambio realizado en el bloque de texto para saber dónde empieza o continúa la división de las líneas de texto.
Puede crear saltos de palabras artificiales si incluye el carácter de espacio de anchura cero (ZWSP, Zero Width Space) de Unicode en el texto. Esto resulta útil en idiomas como el tailandés, donde es necesario consultar el diccionario para introducir correctamente los saltos de línea. El motor de ejecución de Flash no incluye este diccionario.
Con el fin de reducir la sobrecarga de memoria, cuando se han creado todas las líneas deseadas (a menos que se espere que las líneas sean necesarias para crear saltos de línea repetidos debidos, por ejemplo, al cambio de tamaño del contenedor), el usuario debe llamar al método releaseLineCreationData()
para permitir que el bloque de texto elimine los datos temporales asociados a saltos de línea.
Parámetros
textLine:flash.text.engine:TextLine — Especifica un objeto TextLine creado anteriormente para volver a utilizarlo.
| |
previousLine:flash.text.engine:TextLine (default = null ) — Especifica el salto de línea anterior tras el que se debe comenzar. Puede ser null si se inserta un salto en la primera línea.
| |
width:Number (default = 1000000 ) — Especifica la anchura deseada de la línea, en píxeles. La anchura real puede ser inferior.
| |
lineOffset:Number (default = 0.0 ) — Un parámetro opcional que especifica la diferencia (en píxeles) entre el origen de la línea y el de las tabulaciones. Se puede utilizar si las líneas no están alineadas, pero es recomendable para las tabulaciones. El valor predeterminado de este parámetro es.0.0 .
| |
fitSomething:Boolean (default = false ) — Un parámetro opcional que ordena a Flash Player que ajuste al menos un carácter en la línea de texto, independientemente de la anchura especificada (incluso si width es cero o negativo que, en otro contexto, emitiría una excepción).
|
flash.text.engine:TextLine — Una línea de texto o null si el bloque de texto está vacío o si el parámetro width especificado es inferior que el parámetro width del siguiente elemento. Para diferenciar estos casos, compruebe la propiedad textLineCreationResult del bloque de texto.
|
Emite
ArgumentError — Si textLine es null.
| |
ArgumentError — Si el parámetro TextLine especificado por previousLine no es válido.
| |
ArgumentError — Si el parámetro TextLine especificado por previousLine es propiedad de un objeto TextBlock diferente.
| |
ArgumentError — Si el parámetro TextLine especificado por previousLine también está especificado por textLine .
| |
ArgumentError — Si width es menor que cero, a no ser que fitSomething sea true.
| |
ArgumentError — Si width es mayor que TextLine.MAX_LINE_WIDTH .
| |
IllegalOperationError — Si uno o varios elementos del contenido del bloque de texto tienen formato null ElementFormat .
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
TextLine
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étodo |
public function releaseLineCreationData():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Ordena al bloque de texto que libere a todos los datos temporales asociados a la creación de líneas de texto. Para minimizar el uso de memoria de la aplicación, se debe llamar al método releaseLineCreationData()
cuando se haya terminado de crear líneas de texto a partir de un bloque de texto. Sin embargo, para maximizar el rendimiento la recreación de saltos de línea (por ejemplo, cuando se cambia el tamaño del contenedor) no se debe llamar al método releaseLineCreationData()
. Es responsabilidad de la aplicación equilibrar la memoria frente al rendimiento.
El proceso recomendado para el texto que no se espera cambiar es el siguiente: inicializar un bloque de texto, llamar al método createTextLine()
con la frecuencia que sea necesario para crear la salida deseada y, a continuación, llamar al método releaseLineCreationData()
Elementos de API relacionados
releaseLines | () | método |
public function releaseLines(firstLine:flash.text.engine:TextLine, lastLine:flash.text.engine:TextLine):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Elimina un rango de líneas de texto de la lista de líneas mantenida por TextBlock. Esto permite eliminar los datos innecesarios de las líneas si existen más referencias.
Establece los miembros textBlock
, nextLine
y previousLine
de las líneas eliminadas en null
. Establece el valor de validity
en las líneas eliminadas y en todas las líneas que siguen a las líneas eliminadas en TextBlock con TextLineValidity.INVALID
.
Parámetros
firstLine:flash.text.engine:TextLine — Especifica la primera línea que se va a liberar.
| |
lastLine:flash.text.engine:TextLine — Especifica la última línea que se va a liberar.
|
Emite
ArgumentError — Si el objeto TextLine especificado por firstLine o por lastLine no se encuentra en la lista de líneas de texto mantenida por el bloque de texto.
|
Elementos de API relacionados
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, 02:12 PM Z