AS3:使用嵌入字体

时间:2014-04-04 00:43:01

标签: actionscript-3 flex fonts

我嵌入了这样的字体(FlashDevelop):

[ Embed( source = "Ubuntu-R.ttf", embedAsCFF = "false", fontFamily = "Ubuntu" ) ]
private static const Ubuntu : Class;

然后尝试使用这样:

var textField : TextField = new TextField;
textField.embedFonts = true;
textField.defaultTextFormat = new TextFormat( "Ubuntu", 22 );
textField = "免費旋轉 ПРИВЕТ HELLO";
addChild( textField );

只有俄文和英文部分的文字可见,但不是日文(我的电脑是俄语)。如果要评论 textField.embedFonts = true; 行,那么整个文本将是可见的,但是使用了其他一些(似乎是Arial)字体。

调用 Font.enumerateFonts(false); 返回一个名为" Ubuntu"的字体数组。

在任何地方呼叫 Font.registerFont(Ubuntu); 并没有帮助。

添加参数 fontName unicodeRange =" U + 0000-U + FFFF" mimeType =" application / x -font-truetype" fontWeight advancedAntiAliasing 到具有不同属性的font embed指令不会改变行为。

似乎像死路一样,但请帮助。

1 个答案:

答案 0 :(得分:1)

您使用的字体不包含日语所需的字形。你可以尝试另一种字体,确保它有足够的字形。提示:如果字体不大于1兆字节,很可能它既没有日文字符也没有中文字形,如果它更大,那么尝试嵌入并检查hasGlyphs()是否有足够的字形。一旦你找到了正确的字体,嵌入并享受。但是,我说要使用广泛分布的字体并按设计设计日语字形,比如Arial。