在我的ActionScript 3项目中,我使用TextField,其嵌入字体设置为true,并且HTML设置为true。当我显示拉丁字符时,一切正常。
但是当我想显示日文字符时,它们不会出现。实际上它应该是这样的,因为日语字体没有嵌入。
如果嵌入字体没有某些字符的字形,是否有办法回退到系统字体?
答案 0 :(得分:1)
尝试在hasGlyphs("...");
实例上使用Font
。我有一些问题,但总的来说它工作正常,希望它也适用于日本人。如果没有日语字形,你可以简单地使用_sans。
编辑: 我现在无法测试这个,但我认为这样的事情会起作用:
import flash.text.Font;
var myFont:Font = new MyFont(); // Embedded font in library, linkage set to 'MyFont'
if(myFont.hasGlyphs("Hello!")) {
field.embedFonts = true; // Not sure whether this is necessary in case of HTML text
field.htmlText = "<p><font color='#ff0000' face='" + myFont.fontName + "'>Hello!</font></p>";
}
else {
field.embedFonts = false;
field.htmlText = "<p><font color='#ff0000' face='_sans'>Hello!</font></p>";
}