2012-01-10 3 views
1

У меня есть родительский swf с встроенными в библиотеку шрифтами, которые имеют экспорт для набора actionscript и назначенное имя класса. Патент swf загружает несколько дочерних swf, к которым я пытаюсь передать объект textformat с использованием нужного шрифта из библиотеки родителей. Как это можно достичь. Я попробовал Font.registerFont (класс шрифта) и создал новый экземпляр шрифта перед установкой textformat, но это работает только на машинах с установленным шрифтом.as3 шрифт вложение от родительского к дочернему swf

В дочернем swf текст текстового поля установлен, затем текстовое поле применяется с помощью setTextFormat();

Любые указания по применению

ответ

0

Вы пробовали что-то вроде этого?

import flash.text.*; 
var font:Font1=new Font1(); 
var txt_fmt:TextFormat=new TextFormat(); 
txt_fmt.font=font.fontName; 
txt_fmt.size=24 
var txt:TextField=new TextField(); 
txt.autoSize=TextFieldAutoSize.LEFT; 
txt.defaultTextFormat=txt_fmt; 
txt.embedFonts=true 
txt.text="sara" 
txt.selectable=false 
addChild(txt); 

Код от http://sara-intop.blogspot.com/2007/10/embedding-font-in-flash-cs3using-as3.html

Также вы можете найти это полезно: http://www.adobe.com/devnet/flash/quickstart/embedding_fonts.html

и это: http://learnola.com/2008/11/05/flash-tutorial-embed-fonts-in-actionscript-3/

+0

Спасибо за ответ, но я хочу поделиться шрифтом библиотеки с родительским swf. В приведенном выше методе требуется, чтобы шрифт был встроен в дочерний swf напрямую –

+0

Когда родительский компонент заканчивает загрузку дочернего элемента, вы можете передать экземпляр класса шрифта (в приведенном выше примере Font1) загруженному ребенку? Это просто идея. – Diego

+1

Не использовать, у меня есть задача, близкая этому. Я обнаружил, что: TextFileds, созданный внутри загруженного swf, не может получить родительский SWF-шрифт, в списке шрифтов нет (прослеживается внутри chid swf) Даже регистрация его в списке дочерних шрифтов не заставила его работать. Список шрифтов показывает, что там такой шрифт, и ему нужны были символы, текстовое поле имело формат, но текста нет :( – dnkira

0

Таким образом, я понял это. Мне пришлось использовать массив, возвращаемый Font.enumerateFonts, и объявить новый класс Font, а затем создать объект Textfomat в дочернем swf и применить его к текстовому полю.

+0

эй Джефф, не могли бы вы объяснить, что вы сделали? Как вы объявили новый класс шрифтов во время выполнения? Thanx , Саар – Saariko