因此,在 Windows 上的 Flash Builder 中,我的应用程序和所有嵌入字体都可以正常编译。
但是当我尝试在生产 Linux 服务器上构建它时(通过使用 make
在命令行上生成 Makefile),在转码字体时编译失败:
/home/me/MyFlexProject/SomeModule/src/Fonts.as(29): Error: exception during
transcoding: Font for alias 'HelveticaRounded LT Std Blk' with plain weight
and style was not found at:
file:/home/me/MyFlexProject/SomeModule/src/assets/fonts/HelveticaRoundedLTStd-Black.otf
[Embed(source='/assets/fonts/HelveticaRoundedLTStd-Black.otf',
fontName='HelveticaRounded LT Std Blk',
mimeType='application/x-font',embedAsCFF='false')]
我尝试过的事情:
通过“-managers=flash.fonts.AFEFontManage”使用不同的字体管理器。
使用不同的字体,但它会给出与常见错误略有不同的版本,请参阅:
错误:转码期间出现异常:在以下位置找不到具有普通粗细和样式的别名“xxx”的字体:文件:...
使用fontforge
查看字体,我认为我已经将问题缩小到这样一个事实:显然在字体文件中定义了“Windows”和“Mac”名称。这似乎是可能的罪魁祸首,因为在 Windows 上字体编译得很好,但在 Linux 上它再也找不到同名的字体。然而,即使当我在 Linux 上改用“Mac”名称时,我仍然遇到相同的错误,即无法找到具有所请求名称的字体。
我想找出是什么原因导致转码无法进行。
这里是相关字体的链接:http://jetlib.com/HelveticaRoundedLTStd-Black.otf
为了更好地衡量,这里是 Fonts.as:
package ...
{
import flash.text.Font;
public class Fonts
{
[Embed(source='/assets/fonts/HelveticaRoundedLTStd-Black.otf',
fontNam e='HelveticaRounded LT Std Blk', fontWeight='normal',
mimeType='application/x-font',embedAsCFF='false')]
private static var _font1:Class;
/**
* register fonts with the font manager to be
* used in modules and sub applications
*/
public static function registerFonts():void
{
Font.registerFont(_font1);
}
}
}
任何帮助、想法或见解将不胜感激!
使用 fontWeight='bold' 输出:
/home/me/MyFlexProject/SomeModulesrc/Fonts.as(23): Error: exception during transcoding: Font for alias 'HelveticaRounded LT Std Blk' with bold weight was not found at: file:/home/me/MyFlexProject/SomeModulesrc/assets/fonts/HelveticaRoundedLTStd-Black.otf
[Embed(source='/assets/fonts/HelveticaRoundedLTStd-Black.otf',fontName='HelveticaRounded LT Std Blk',fontWeight='bold',mimeType='application/x-font',embedAsCFF='false')]
/home/me/MyFlexProject/SomeModulesrc/Fonts.as(23): col: 3: Error: unable to build font 'HelveticaRounded LT Std Blk'
[Embed(source='/assets/fonts/HelveticaRoundedLTStd-Black.otf',fontName='HelveticaRounded LT Std Blk',fontWeight='bold',mimeType='application/x-font',embedAsCFF='false')]
^
/home/me/MyFlexProject/SomeModulesrc/Fonts.as(23): col: 3: Error: Unable to transcode /assets/fonts/HelveticaRoundedLTStd-Black.otf.
使用 fontWeight='normal' 输出:
/home/me/MyFlexProject/SomeModulesrc/Fonts.as(23): Error: exception during transcoding: Font for alias 'HelveticaRounded LT Std Blk' with plain weight and style was not found at: file:/home/me/MyFlexProject/SomeModulesrc/assets/fonts/HelveticaRoundedLTStd-Black.otf
[Embed(source='/assets/fonts/HelveticaRoundedLTStd-Black.otf',fontName='HelveticaRounded LT Std Blk',fontWeight='normal',mimeType='application/x-font',embedAsCFF='false')]
/home/me/MyFlexProject/SomeModulesrc/Fonts.as(23): col: 3: Error: unable to build font 'HelveticaRounded LT Std Blk'
[Embed(source='/assets/fonts/HelveticaRoundedLTStd-Black.otf',fontName='HelveticaRounded LT Std Blk',fontWeight='normal',mimeType='application/x-font',embedAsCFF='false')]
^
/home/me/MyFlexProject/SomeModulesrc/Fonts.as(23): col: 3: Error: Unable to transcode /assets/fonts/HelveticaRoundedLTStd-Black.otf.
最佳答案
使用和不使用 fontWeight='bold'
都会失败吗?您的两个片段不同地包含和省略该行。两者之一正确。
编辑:显然这两种情况都失败了。我什么都没有。
关于apache-flex - Linux下ActionScript3字体编译转码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3389995/