2014-03-12 26 views
3

如何使用FlashDevelop在as3中嵌入字體?我已經閱讀了很多關於這個問題的文章,但沒有一篇能夠幫助我解決這個問題。 當我使用下面的代碼,不會顯示任何內容(這是所有的代碼):如何使用FlashDevelop在as3中嵌入字體?

package 
{ 
    import flash.display.Sprite; 
    import flash.text.TextField; 
    import flash.text.TextFormat; 

    public class Main extends Sprite 
    { 
     [Embed(source="/../resources/fonts/andbasr.ttf", fontName = "andbasr", fontWeight = "Demibold", mimeType="application/x-font")] 
     private var andbasr:Class; 

     public function Main() 
     { 
      var textField:TextField = new TextField(); 
      textField.embedFonts = true; 
      var format:TextFormat = new TextFormat("andbasr", 16, 0x000000); 
      textField.defaultTextFormat = format; 
      textField.text = "Test"; 
      stage.addChild(textField); 
     } 

    } 

} 

「andbasr」只是我發現了一個隨機TTF文件。任何想法我做錯了什麼?

回答

8

它工作正常,我只是下載了你正在測試的字體。我覺得字體沒有DemiBold重量,也是在你的情況,因爲你不使用TLF文本字段,在DF4格式的字體嵌入禁止通過embedAsCFF="false"

[Embed(source="AndBasR.ttf", 
     fontName = "myFont", 
     mimeType = "application/x-font", 
     advancedAntiAliasing="true", 
     embedAsCFF="false")] 
private var myEmbeddedFont:Class; 

//Testing 
var textField: TextField = new TextField(); 
textField.defaultTextFormat = new TextFormat("myFont", 20); 
textField.embedFonts = true; 
textField.text = "Test Embedded Font"; 

addChild(textField); 
+0

真棒! embedAsCFF =「false」是解決方案。我不明白爲什麼。我將收集關於TLF TextFields和DF4格式的一些信息...非常感謝! – user3240131