He importado una fuente a la biblioteca con TLFTextField a través de una variable TextLayoutFormat. El texto a mostrar proviene de un XML donde también se encuentran las propiedades como, tamaño, interlineado, cursiva, etc... pero no sé por qué, solo hace caso a parámetros como el tamaño y el texto a mostrar, no acepta datos desde el XML para las propiedades fontFamily (que llama a una fuente importada a la biblioteca para TLF), tampoco lo acepta para la propiedad lineHeight, leadingModel ni color. La introducción del contenido desde XML está bien hecho, funciona para los demás parámetros ¿será que debe ser a través de un String distinto? aquí os dejo el código:
Código ActionScript :
import fl.text.TLFTextField; import flashx.textLayout.formats.TextLayoutFormat; import flashx.textLayout.elements.TextFlow; flash.text.Font import flash.xml.XMLNode; //Carga Xml var CargaXml:URLLoader=new URLLoader(); CargaXml.load(new URLRequest("Content/content.xml")); CargaXml.addEventListener(Event.COMPLETE, mostrar); function mostrar(e:Event):void{ var Xml:XML=new XML(); Xml=new XML(CargaXml.data); var HojaActual:String; //Caja de texto. var Texto:TLFTextField = new TLFTextField(); Texto.x=Xml.hoja[i].cajaX; Texto.y=Xml.hoja[i].cajaY; Texto.width=Xml.hoja[i].cajaWidth; Texto.height=Xml.hoja[i].cajaHeight; Texto.columnCount=Xml.hoja[i].columnCount; Texto.columnGap=Xml.hoja[i].columnGap; HojaActual=Xml.hoja[i].texto; Texto.text=HojaActual; addChild(Texto); //HASTA AQUÍ TODO FUNCIONA PERO LA COSA CAMBIA A CONTINUACIÓN. //Formato de texto. var Formato:TextLayoutFormat = new TextLayoutFormat(); Formato.color=Xml.hoja[i].color; ("color" no acepta los datos desde el XML) Formato.fontFamily=Xml.hoja[i].font; ("fontFamily" no acepta los datos desde el XML) Formato.fontSize=Xml.hoja[i].size; ("fontSize" Sí lo acepta) Formato.fontStyle=Xml.hoja[i].italic; ("fontStyle" tampoco lo acepta desde XML) var FormatoPrincipal:TextFlow = Texto.textFlow; FormatoPrincipal.hostFormat = Formato; FormatoPrincipal.flowComposer.updateAllControllers(); }
Gracias por adelantado.