2010-01-20 50 views
0

我有一個全AS3 Flex項目,我在其中嵌入字體。我試圖從CS4運行這個項目。但是,由於某種原因,文字根本沒有出現。Flexbuilder中的字體嵌入比較CS4

在Flex AS3的代碼看起來是這樣的:

[Embed(source='C:/WINDOWS/Fonts/ArialBD.TTF', fontWeight = 'bold', fontName='ArialBold', unicodeRange='U+0020-U+0020,U+0021-...')] //a bunch of other unicode 
    public static var _VerdanaFontBold:Class; 

    [Embed(source='C:/WINDOWS/Fonts/Arial.TTF', fontWeight = 'regular', fontName='Arial', unicodeRange='U+0020-U+0020...')] //a bunch of other unicode 
    public static var _VerdanaFont:Class; 

,並在其中出現在我的文本擴展的文本框的構造函數中我有:

 Font.registerFont(_VerdanaFontBold); 
     Font.registerFont(_VerdanaFont); 

我發現this article與嵌入元閃光,但我無法得到這個工作(我試過systemFont =「Arial」以及在該文章底部的評論中建議)。

所以我試着註釋掉上面的幾行,然後用另一種方式做。在CS4中,我明白我應該在FLA文件的設計模式中創建一個空白文本字段。然後,我可以選擇要嵌入到屬性面板中的字體。我選擇了verdana(大寫和小寫,標點符號,數字等)。但是,當我在CS4中運行應用程序時,文本字段爲空。

事實上,我將字體嵌入到空白文本字段中,而不是由我設置的文檔類調用的字體,這應該不重要,對吧? - 字體應該嵌入swf中並可供使用。但它是空白的。

任何人有任何想法?

回答

0

在flash cs4中嵌入字體我會做以下操作。

  1. 在flash環境中,在庫面板中添加一個字體符號。確保點擊「導出操作按鈕」。請注意字體類的名稱。這將是您在as3代碼中使用的字體類的名稱。最後單擊確定並忽略以下警告消息。

  2. 然後,您可以從as3文件中訪問該字體類。例如

    import flash.text.Font; ...

    var titleField:TextField = new TextField();

    var myFont:Font = new nameOfFontClass(); //見第1點

    var format:TextFormat = new TextFormat(); format.font = myFont.fontName;

    titleField.defaultTextFormat = format; titleField.embedFonts = true;

希望這有助於

+0

謝謝,David.That確實這樣做了。 – David 2010-01-22 17:00:27