1

由于语言字符不同,我们的嵌入式 Telex 字体存在问题。从我读过的内容来看,有一种适用于 iPhone 的Helvetica 设备字体应该可以处理更多/大多数字符。

这就是我所做的,但没有显示任何文字。

private var defaultFormat:TextFormat;
defaultFormat = new TextFormat();
defaultFormat.font = "Helvetica";

var textField:TextField = new TextField();
textField.height = 40;
textField.defaultTextFormat = defaultFormat;

有人可以指出我正确的方向吗?

4

2 回答 2

1

Adobe AIR 使用自己的 Flash 运行时并提供自己的文本渲染。因此,它可能与本机渲染的某些方面不兼容,例如表情符号。

iOS 中带有 Retina 设备的屏幕的默认字体是 Helvetica Neue,它应该以“Helvetica Neue”或“HelveticaNeue”的形式提供,尽管我不熟悉 Flash Actionscript API 如何进行字体命名。Cocoa 知道在某些情况下将“Helvetica”别名为“Helvetica Neue”,因此实际的 Helvetica 字体可能不可用,从而导致您的文本丢失。

iOS 和 OS X 字体渲染通常会回退到其他字体以成功渲染当前字体中不可用的字符和字形。Flash 可能不这样做。

于 2012-12-13T12:29:25.397 回答
1

事实证明,上面的代码没有任何问题。我的问题是我正在设置

textField.embedFonts = true

稍后在错误的代码中。

请注意,默认值为 false。所以,在我删除那行之后,我的文字就出现了。

于 2012-12-13T13:06:24.173 回答