我面临一个项目的有线问题。我正在嵌入 Arial 字体,因为项目是多语言的。如果我在我的一台开发机器上构建这个项目,字体会成功嵌入,但在任何其他机器上,项目会成功发布而没有任何警告,但字体不会嵌入到 SWF 中。
注意:项目代码库非常大。
到底有什么可以防止flash嵌入字体?有什么想法吗?
谢谢, Bhavesh Bagadiya
我面临一个项目的有线问题。我正在嵌入 Arial 字体,因为项目是多语言的。如果我在我的一台开发机器上构建这个项目,字体会成功嵌入,但在任何其他机器上,项目会成功发布而没有任何警告,但字体不会嵌入到 SWF 中。
注意:项目代码库非常大。
到底有什么可以防止flash嵌入字体?有什么想法吗?
谢谢, Bhavesh Bagadiya
您可能需要检查以确保您在其他机器上安装了完全相同的字体。Arial 有 unicode 和非 unicode 版本。您可以随时打开“字体映射”对话框,查看 Flash 是否会自动为您做一些您可能不知道的事情。我不确定该对话框在 PC 上的位置,但在 OS X 下,您可以在主应用程序菜单(Flash > 字体映射)下找到它。
默认的 arial 字体仅包含英语。嵌入 arialuni.ttf,大小为 22MB,包含所有语言。
我很久以前就找到了解决方案,但又偶然发现了这个问题,所以回复了,所以这对其他人有帮助。
主要原因是内存,如果在编译过程中内存不足,flex builder 会停止构建代码或/和嵌入。通过以下参数增加内存可以解决问题。
FlexBuilder.exe -vmargs -Xms256M -Xmx512M
注意:我们有一个奇怪的观察结果是它并不总是增加内存的解决方案。它需要机器的特定内存设置。在某些机器上,它甚至在 256M 上也能顺利运行,而有些需要 512m,可能取决于 RAM 上的其他程序负载。