2013-03-08 27 views
3

我從嵌入字體的Flash CS3中導出了SWC。如何使用嵌入在SWC中的字體

現在我想在某些TextFields中使用它,但我不知道如何使用該字體。

+0

爲什麼不直接用@embed指令將字體嵌入到flex?你爲什麼使用中間SWC媒體? – Smolniy 2013-03-08 18:59:45

回答

2

完成!這是我的解決方案:

[Embed(source="res/guardanapo.otf", fontName="guardanapo", fontFamily="guardanapo", unicodeRange="U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E", advancedAntiAliasing="false", embedAsCFF="false")] 
public static const fonte:Class; 

我想從SWC中嵌入字體,但現在不再需要了。但是,如果你知道如何做到這一點,可以回答,也許現在有人正在爲此做出努力。

0

試試這個。 myLoader是你在你的swf/swc中加載字體的裝載器。 myTextField是一個預先存在的文本字段。我將embedFonts設置爲true,但您可能不需要它。

var MyFont:Class = myLoader.contentLoaderInfo.applicationDomain.getDefinition("FontClassName"); 

var embeddedFont:Font = new MyFont(); 

var textFormat:TextFormat = new TextFormat(); 
textFormat.font = embeddedFont.fontName; 
textFormat.size = 24; 

myTextField.setTextFormat(textFormat); 
myTextField.embedFonts = true; 

也許你可以在swf中包含你想使用的字體的字體提取類。可能有靜態方法將字體應用於字段,或者返回給定字體類名的字體名稱。這可以幫助保持應用程序的其他部分更清潔。