代码之家  ›  专栏  ›  技术社区  ›  Faisal Abid

在flex/as3中动态加载字体

  •  0
  • Faisal Abid  · 技术社区  · 15 年前

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

    谢谢, 阿比德

    1 回复  |  直到 15 年前
        1
  •  1
  •   Clox    15 年前

    不幸的是,我确信这是不可能的,至少在正常情况下是不可能的。 无法加载TTF文件的bytearray并将其传递给font.registerFont(),需要调用它才能使用该字体。

    然而,即使我不具备做这件事的全部知识,我也知道这绝对不是不可能的。

    如你所说,字体可以从SWF和SWF加载 可以 动态创建为bytearray并载入。

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

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