通过ANT任务编译时更改字体管理器的顺序,这是不可能的?

时间:2009-07-22 15:21:36

标签: flex actionscript-3 ant flex3

我最近需要使用managers编译器参数,因为项目嵌入了Open Type字体,并且在编译时产生错误。现在我需要在我的ant任务中使用相同的参数,但由于某种原因它不起作用。我正在使用Flex SDK 3.2。

任务看起来像:

<mxmlc
             file="${main.class}" 
             output="${swf.export}"
             actionscript-file-encoding="${ENCODING}"
             keep-generated-actionscript="false"
             incremental="false"
            show-actionscript-warnings="false"
            debug="true"

        >           
            <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml" /> 
           <source-path path-element="${FLEX_HOME}/frameworks" />
           <compiler.source-path path-element="${src.dir}" />
</mxmlc>

我尝试过不同的变体,从使用manager作为mxmlc的子元素,到将其用作属性,并将其与前缀(fonts,compiler.fonts)相结合。我也尝试将它用作元素字体的子元素,但没有任何效果。

我考虑过使用shell任务,但我宁愿不这样做。

我在adobe labs上寻找与此相关的帮助,他们说他们支持除“help”和“version”之外的所有编译器参数。而且似乎也没有其他人遇到过这个问题。

现在我已经在sdk的frameworks目录中更改了flex-config.xml,它似乎可以解决问题,但我认为必须有一种方法可以在任务中执行此操作。

有没有人知道我需要添加到任务中的确切元素才能使其工作,而无需修改“flex-config.xml”?

1 个答案:

答案 0 :(得分:2)

我相信它是

   <target...>
     <mxmlc...>
         <fonts>
            <manager class="flash.fonts.AFEFontManager"/>
         </fonts>

令人讨厌的是,文档没有让你真正弄清楚如何使用这些元素......一两个例子会让你在Adobe上有所不同。