我突然在项目中遇到字体渲染错误。
下图是带有纹理的方形精灵和2个动态文本字段作为子项。
文本本身是正确的。底部字段是32位十六进制颜色(“H:0xFFFFF4A1”),但正如您所看到的那样,某些字符被拉伸(“x”,“4”和“1”)。它在第一个文本字段中是相同的,它以ARGB格式列出每种颜色。
使用的字体是Myriad Pro Condensed。我最初使用Myriad Pro Bold Condensed,我使用了几个月,但突然昨天字体变得比在这里可见的更疯狂,所以我换了。现在这个字体也被错误地渲染了。
我已经验证了字体。
我删除了我的ASO文件。
我在父精灵对象上使用cacheAsBitmapMatrix,但是cacheAsBitmapMatrix假设只影响移动设备,所以我不确定为什么它会在我的ADL下运行时呈现这样的字体(如果这是问题)桌面。
newSwatch.cacheAsBitmapMatrix = new Matrix();
newSwatch.cacheAsBitmap = true;
这就是我调用嵌入在我的库中的字体的方式。
//Create Text Field
private function swatchTextField():TextField
{
var myFont:Font = new MyFont();
var textFormat:TextFormat = new TextFormat();
textFormat.bold = true;
textFormat.color = 0xFFFFFF;
textFormat.font = myFont.fontName;
textFormat.size = swatchSize / 10;
var result:TextField = new TextField();
result.antiAliasType = AntiAliasType.ADVANCED;
result.blendMode = BlendMode.ERASE;
result.autoSize = TextFieldAutoSize.LEFT;
result.defaultTextFormat = textFormat;
result.embedFonts = true;
result.multiline = true;
result.selectable = false;
result.type = TextFieldType.DYNAMIC;
return result;
}
我不知道还能做什么。如果我切换到另一种字体,它可能会再次陷入困境。当我点击它放大的对象时,放大它也会旋转一点。这样做我可以看到字体错误略有变化。我几乎确信它是cacheAsBitmapMatrix的一个问题,但错误仍然存在甚至从代码中删除它。
这是具有不同轮换的相同对象:
任何线索都会非常感激!
更新
这个错误确实不是Flash的问题,而是Apple在Mac OS X 10.6.7中引入的一个错误,它影响了某些开放式字体的显示和打印。该错误已经解决,现在可以下载修复程序:http://support.apple.com/kb/HT4605
答案 0 :(得分:2)
你使用的是mac吗?这可能会对您有所帮助:
升级到Mac OSX 10.6.7后,某些用户遇到了许多不同OpenType字体的字体渲染问题。 Flash CS5及更早版本中会出现此问题。
答案 1 :(得分:0)
这是一个Mac / Flash CS5错误。
要解决此问题,您需要关闭Flash并重新打开它。这个bug可能会消失。如果没有,经过几次尝试,你需要降级到OSX 10.6.6。
请参阅以下链接(@ redHouse71)
答案 2 :(得分:0)
这发生在我身上,但我发现我的mac的简单重启解决了它。我正在将我的一个空中应用程序移植到Android平板电脑上,当Mac正在播放时,它实际上做了同样的事情。
我想我会加入它。