在Flex / AS3中动态加载字体

时间:2009-08-02 23:02:43

标签: flash fonts runtime

虽然有办法将字体加载为swf文件,但我更关注的是加载字体文件本身的方法,比如用户上传字体文件,我如何在应用程序本身中使用该字体文件?

谢谢, 费萨尔阿比德

1 个答案:

答案 0 :(得分:1)

不幸的是,我很确定这是不可能的,至少以任何正常的方式。 您无法加载ttf文件的bytearray并将其传递给Font.registerFont(),需要调用它才能使用该字体。

然而,即使我没有掌握所有这些知识,我知道这绝对不是不可能的。

正如你所说,字体可以从swf中加载,而swf的可以作为byteArray动态创建并加载。

我不知道这对你来说是不是一个选择,而且我不确定它会有多难。 我会阅读这里提供的swf文件格式规范: http://www.adobe.com/devnet/swf/ 然后研究空swf的字节码,然后研究嵌入了单个字体的swf的字节码,并找到字体数据的位置,即必须用用户提供的字体替换的字体。 我想知道嵌入swf时是否所有文件内容都不受影响。在这种情况下,实际上只是将字体数据插入模板swf的正确位置,这不应该太难。但它可能比那更难,我怀疑它也被压缩了...... 如果您在谷歌周围编辑,可能会有一些关于以编程方式创建swf的信息。

抱歉,我无法给你一个更方便的答案=)