我嵌入了这样的字体(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指令不会改变行为。
似乎像死路一样,但请帮助。
答案 0 :(得分:1)
您使用的字体不包含日语所需的字形。你可以尝试另一种字体,确保它有足够的字形。提示:如果字体不大于1兆字节,很可能它既没有日文字符也没有中文字形,如果它更大,那么尝试嵌入并检查hasGlyphs()
是否有足够的字形。一旦你找到了正确的字体,嵌入并享受。但是,我说要使用广泛分布的字体并按设计设计日语字形,比如Arial。