Actionscript 3 [embed]标记和字体的问题
我对[embed]标记有一些问题。即使我将textfield的EmbeddeFonts属性设置为true,文本也不会显示 问题是,它以前工作过,但经过一些更改(与字体无关)后就不工作了。我想了解字体的嵌入过程是如何在代码中查找错误的 我宣布:Actionscript 3 [embed]标记和字体的问题,actionscript-3,fonts,embed,Actionscript 3,Fonts,Embed,我对[embed]标记有一些问题。即使我将textfield的EmbeddeFonts属性设置为true,文本也不会显示 问题是,它以前工作过,但经过一些更改(与字体无关)后就不工作了。我想了解字体的嵌入过程是如何在代码中查找错误的 我宣布: [Embed(source = 'asset/font.ttf', fontName="font", mimeType="application/x-font-truetype")] private static var font:String; 将字体
[Embed(source = 'asset/font.ttf', fontName="font", mimeType="application/x-font-truetype")] private static var font:String;
将字体指定给程序
然后在声明文本格式时调用“字体”。“fontName”属性是文本格式的链接吗
我使用flashdevelop和flex_sdk_4.0.0.14159(大型adobe软件,含air(~140mo))
谢谢
-腿这可能是一件棘手的事情,要想做到恰到好处。大约10天前,我不得不与之抗争,只有尝试将几个名称和参数组合到嵌入中,我才能让它工作 我读过一些博客报道,其中有一些轶事建议,如果你需要加粗或其他什么的话,你必须加入fontStyle。这是对我有用的咒语:
[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;
我不认为unicodeRange是绝对必要的,但我不需要整个字体,上面的内容与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
屏幕上有一个Adobe technote,列出了可用的字体管理器。尝试它们,直到找到一个有效的。问题来自4.0 Flex SDK中的修改
我将兼容性设置为Flash player 9(使用sdk 3.4),它再次工作。您说它以前工作过(在您进行更改之前)。。。你做了什么改变?值得一提的是,我将嵌入式字体输入为类而不是字符串。我还经常需要在嵌入语句中设置fontStyle和fontWeight属性,以使它们正确嵌入。你是在呼叫Font.registerFont(Font)吗?那是很久以前的事了。我想我没有改变任何关于字体的事情。我试着注册,但它也没有改变任何事情。不错的尝试:)。[embed]标记中的:/fontName或fontFamily的文档非常差:这有关系吗?如果我将管理器行添加到编译器选项,它将返回一个错误:“找不到指定的文件”。这是非常棘手的:/在网络上做了所有其他事情之后,编译器标志终于为我解决了这个问题。