在Flash player / AIR中内置了哪些字体?

时间:2012-11-07 09:16:28

标签: actionscript-3 flash

我正在将我的AIR应用程序移植到iPad。我在我的应用程序的文本字段中使用嵌入字体。但是当用户开始编辑文本时(双击后textfield.type设置为TextFieldType.INPUT),文本就会变得很大......嵌入字体为DejaVuSans。当我textfield.embedFonts=false时,巨大的字体问题就消失了。我甚至不想问为什么字体会变得很大(看起来它特定于我的应用程序)。问题更简单一些。当我将textfield.embedFonts设置为false Times时,会使用字体。但我需要DejaVuSans。这是一个问题:如何在flash播放器中调用(这样我可以textFormat.font=NAME)以及列出所有可用字体的位置?

提前谢谢!

1 个答案:

答案 0 :(得分:4)

Flash Player或AIR中未内置任何字体。除了自己嵌入字体外,您还可以使用用户计算机上安装的字体(并且几乎所有操作系统都可以使用某些字体,如Verdana和Times)。

您可以通过enumerateFonts这样的Font方法获取用户计算机上所有字体的列表:

(从http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/Font.html#enumerateFonts%28%29复制)

var allFonts:Array = Font.enumerateFonts(true);

来自手册:

  

enumerateDeviceFonts:Boolean(default = false) - 指示是否要将列表限制为仅当前可用的嵌入字体。如果将其设置为true,则返回所有字体(设备字体和嵌入字体)的列表。如果将其设置为false,则仅返回嵌入字体列表。