Unable to apply embedded font swf to text in text layout framework
Hello,
We have created a swf for a given font (for e.g., Calibri.swf) which contains all the styles (Regular, Italic, Bold, BoldItalic).
We have created a xml which lists the name of the font and the corresponding swf file path. The names from the xml are loaded into a combo box in the application.
When we try to apply the selected font to a text in the text layout framework, it does not apply the same. It sets the font to default "Times" font.
Following is a snippet of code to apply the font to the text:
private function selectFont(fontXML:XML):void {
var path:String = fontXML.@source;
var myEvent:IEventDispatcher = styleManager.loadStyleDeclarations(FlexGlobals.topLevelApplication.url.substring(0,FlexGlobals.topLevelApplication.url.lastIndexOf("/"))+"/"+path);
myEvent.addEventListener(StyleEvent.COMPLETE, function(event:StyleEvent):void{
var editManager:EditManager = textFlow.interactionManager as EditManager;
var itextLayout:TextLayoutFormat = new TextLayoutFormat();
itextLayout.fontSize = 20;
var fontName:String = fontXML.@name;
Alert.show(fontName);
itextLayout.fontFamily = fontName;
Alert.show( "itext = " + itextLayout.fontFamily);
editManager.applyFormat(itextLayout,itextLayout,itextLayout);
var flowLeafElement:FlowElement = textFlow.findLeaf(editManager.anchorPosition) as FlowElement;
editManager.changeStyleName(fontName,flowLeafElement);
});
}
Can anyone please let us know what is missing in the implementation?
Thanks in advance.
Vikram
