3

我最近将一个 Flex3 AIR 项目转换为 Flex4,所以它现在使用 Flex4.1 sdk 和<s:WindowedApplication>. 这是一个大型项目,并且煞费苦心地更新了所有重要的代码,以便与 Flex4 一起工作,现在它可以顺利编译。

项目中的大多数组件都从基于 mx 的组件下降了好几代,所以由于工作量的原因,我还没有更新它来触发。我遇到的问题是我无法让嵌入的字体适用于我现在添加到我的 mx 组件中的 spark 组件。

例如,我编辑了我的一个(基于 mx 的)组件并向其中添加了一些项目。我的嵌入字体必须具有 embedAsCFF=false 以便它适用于我的 mx 组件。所以为了让它嵌入火花,我应该能够简单地再次嵌入它 embedAsCFF=true 如下所示:

@font-face
{
    src: url("assets/fonts/MyriadWebPro.ttf");
    font-family: mainWithCFF;
    font-style: normal;
    font-weight: normal;
    font-anti-alias-type: "advanced";
    embedAsCFF: true;
}

s|Label{
    font-family: mainWithCFF;
}

我已经尝试了 Adob​​e 提供的一个基本示例,这个示例工作得很好,但在我的复杂项目中,它不起作用。我没有收到任何错误,但它没有使用 MyriadWebPro 的 spark 组件,而是默认为 Times。

我想知道这是否是因为我的组件是基于 mx 而不是基于 spark 的。也许这仅在您在 spark 组件中使用 mx 组件时才有效?如果是这样,是否有人知道您有一个 mx 组件并希望在其中有一个 spark 标签的问题的解决方案?

4

1 回答 1

3

如果您的组件是 MX (Halo),您希望 embedAsCFF 为 false。

对于 Spark 组件,您可以嵌入 AsCFF: true。

另外,我不确定您的高级抗锯齿是否正确。

火花示例:

@字体脸
{
    font-family: "万维网专业版";
    src: url("./assets/fonts/MyriadWebPro.ttf");
    字体粗细:正常;
    嵌入AsCFF:真;/*火花*/
    高级抗锯齿:真;
    unicode范围:
        U+0041-U+005A, /* 大写 [A..Z] */
        U+0061-U+007A, /* 小写 az */
        U+0030-U+003F, /* 数字 [0..9] */
        U+0020-U+002F, /* 空格+标点符号 [ !"#$%&'()*+,-./ ] */
        U+003A-U+0040;/* 特殊字符 [ :;?@ ] */
}

MX 光环示例:

@字体脸
{
    font-family: "万维网专业版";
    src: url("./assets/fonts/MyriadWebPro.ttf");
    字体粗细:正常;
    嵌入AsCFF:假;/* 光环 */
    高级抗锯齿:真;
    unicode范围:
        U+0041-U+005A, /* 大写 [A..Z] */
        U+0061-U+007A, /* 小写 az */
        U+0030-U+003F, /* 数字 [0..9] */
        U+0020-U+002F, /* 空格+标点符号 [ !"#$%&'()*+,-./ ] */
        U+003A-U+0040;/* 特殊字符 [ :;?@ ] */
}
于 2011-07-08T19:08:48.517 回答