Representación avanzada de textoFlash Player 9 y posterior, Adobe AIR 1.0 y posterior ActionScript 3.0 proporciona diversas clases en el paquete flash.text para controlar las propiedades del texto mostrado, incluidas las fuentes incorporadas, la configuración de suavizado, el control del canal alfa y otras configuraciones específicas. La Referencia de ActionScript 3.0 proporciona descripciones detalladas de estas clases y propiedades, incluidas las clases CSMSettings, Font y TextRenderer. Uso de fuentes incorporadasSi se especifica una fuente específica para un objeto TextField en la aplicación, Flash Player o AIR buscarán una fuente de dispositivo (una fuente que resida en el equipo del usuario) que tenga el mismo nombre. Si no encuentra esa fuente en el sistema o si el usuario tiene una versión algo distinta de una fuente con ese nombre, el aspecto del texto visualizado puede ser muy distinto del esperado. Para asegurarse de que el usuario ve la fuente correcta, se puede incorporar dicha fuente al archivo SWF de la aplicación. Las fuentes incorporadas ofrecen varias ventajas:
La mayor limitación del uso de fuentes incorporadas es que aumentan el tamaño del archivo o el tiempo de descarga de la aplicación. El método preciso de incorporar un archivo de fuente en el archivo SWF de la aplicación varía de un entorno de desarrollo a otro. Tras incorporar una fuente, es necesario comprobar que un objeto TextField utiliza la fuente incorporada correcta:
Incorporación de una fuente en FlashLa herramienta de edición de Flash permite incorporar prácticamente cualquier fuente que esté instalada en el sistema, incluidas las fuentes TrueType y las fuentes Postscript de tipo 1. Existen varias formas de incorporar fuentes en una aplicación, entre las que se incluyen:
Para obtener detalles sobre cómo incorporar fuentes en aplicaciones, consulte "Incorporación de fuentes para campos de texto dinámico o de entrada" en Uso de Flash. Incorporación de una fuente en FlexExisten varias formas de incorporar fuentes en una aplicación Flex, entre las que se incluyen:
En una aplicación Flex sólo se pueden incorporar directamente fuentes TrueType. Las fuentes que están en otro formato, como las PostScript de tipo 1, se pueden incorporar primero en un archivo SWF de Flash Professional mediante la herramienta de edición de Flash y, posteriormente, ese archivo SWF se puede usar en la aplicación Flex. Para obtener más información sobre la utilización de fuentes en Flex incorporadas desde archivos SWF, consulte la Guía del desarrollador de Flex 4. Control de la nitidez, el grosor y el suavizadoDe forma predeterminada, Flash Player o AIR determinan la configuración de los controles de la visualización del texto, como la nitidez, el grosor y el suavizado, cuando el texto cambia de tamaño, de color o se muestra con distintos fondos. En algunos casos, como cuando se dispone de un texto muy pequeño o muy grande, o un texto en diversos fondos únicos, es posible que se desee controlar esta configuración. Es posible reemplazar la configuración de Flash Player o AIR mediante la clase flash.text.TextRenderer y sus clases asociadas, como CSMSettings. Estas clases ofrecen un control preciso de la calidad de representación del texto incorporado. Para obtener más información sobre las fuentes incorporadas, consulte Uso de fuentes incorporadas. Nota: la propiedad flash.text.TextField.antiAliasType debe contar con el valor AntiAliasType.ADVANCED para que se pueda establecer la nitidez, el grosor o la propiedad gridFitType o para utilizar el método TextRenderer.setAdvancedAntiAliasingTable().
En el ejemplo siguiente se aplican propiedades de modulación de trazo continua y formato personalizados a texto visualizado con una fuente incorporada denominada myFont. Cuando el usuario hace clic en el texto mostrado, Flash Player o Adobe AIR aplican la configuración personalizada: var format:TextFormat = new TextFormat();
format.color = 0x336699;
format.size = 48;
format.font = "myFont";
var myText:TextField = new TextField();
myText.embedFonts = true;
myText.autoSize = TextFieldAutoSize.LEFT;
myText.antiAliasType = AntiAliasType.ADVANCED;
myText.defaultTextFormat = format;
myText.selectable = false;
myText.mouseEnabled = true;
myText.text = "Hello World";
addChild(myText);
myText.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:Event):void
{
var myAntiAliasSettings = new CSMSettings(48, 0.8, -0.8);
var myAliasTable:Array = new Array(myAntiAliasSettings);
TextRenderer.setAdvancedAntiAliasingTable("myFont", FontStyle.ITALIC, TextColorType.DARK_COLOR, myAliasTable);
}
|
|