2009-08-02 79 views
0

虽然有许多方法可以将字体加载为swf文件,但我更加关注的是加载字体文件本身的方式,比如用户上传字体文件,我如何使用该字体文件应用程序本身的字体文件?在Flex/AS3中动态加载字体

感谢, 费萨尔阿比德

回答

1

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

但是,即使我不具备所有的知识去做,但我知道这绝对不是不可能的。

正如你所说的,字体可以从SWF的加载,和SWF的可以可以为ByteArray动态创建和装载块。

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

对不起,我不能给你一个更多方便的答案=)

+2

那么给了我一个主意。也许我可以做的事情(因为我们的虚拟主机托管这个)是创建一个模板作为文件,并使用ColdFusion填写模板,并将其传递给mxmlc,并获得该SWF加载到我们的应用程序。 理论上应该工作 谢谢! – 2009-08-03 01:16:04