這可能是一個棘手的事情得到恰到好處。大約10天前,我不得不與這個戰鬥,只有嘗試將幾個名稱和參數組合到嵌入中才能使其工作。
我讀博客報道,有軼事的建議,如果你需要加粗或不加什麼,你必須包括fontStyle。這裏是爲我工作的咒語:我不認爲unicodeRange
[Embed(source="assets/HelveticaBold.ttf",
fontName="HelveticaBold",
fontWeight="bold",
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')]
private static var HelveticaBold:Class;
嚴格必要的,但我並不需要整個字體和上面爲您提供了「基本拉丁語」在IDE的等價物。
當我想要使用的字體我這樣做是這樣的:
var titleFormat:TextFormat = new TextFormat();
titleFormat.font = "HelveticaBold";
titleFormat.bold = true;
titleFormat.color = 0x0;
titleFormat.size = 18;
var errorTitle:TextField = new TextField();
addChild(errorTitle);
errorTitle.embedFonts = true;
errorTitle.autoSize = TextFieldAutoSize.LEFT;
errorTitle.antiAliasType = AntiAliasType.ADVANCED;
errorTitle.x = 5;
errorTitle.y = 5;
errorTitle.defaultTextFormat = titleFormat;
我無法相信我錯過了最重要的一塊。在我強制mxmlc編譯器使用自定義字體管理器之前,上述操作無效。
添加如下編譯器選項:
-managers=flash.fonts.AFEFontManager
有上troubleshooting fonts in Flex 3一個Adobe的技術說明,列出了可用的字體管理器。嘗試他們,直到你找到一個工作。
你說它以前工作過(在你做出改變之前)......你做了什麼改變?對於什麼值得我輸入嵌入的字體作爲類不是字符串。我還經常需要在embed語句中設置fontStyle和fontWeight屬性以使它們正確嵌入。你在調用Font.registerFont(font)嗎? – heavilyinvolved 2010-05-14 16:00:08
它在很久以前。我想我沒有改變任何有關字體的東西。我試圖註冊,它也不會改變任何^^。不錯的嘗試 :)。這個文檔很糟糕:/ – Legogo 2010-05-16 11:04:23