代码之家  ›  专栏  ›  技术社区  ›  user216441

使用动态文本字段刷新自定义字体

  •  2
  • user216441  · 技术社区  · 15 年前

    我正在使用以下代码创建文本字段:

    window_title=p.createTextField(“border”+diepixWindow.nextOrderDepth,p.getNextHighestDepth(),wx1+title_offsetx,wy1+title_offsety,ww,64);
    var fformat:textformat=new textformat();
    fformat.font=“s2生成”;
    fformat.size=36;
    窗口标题.settextformat(fformat);
    窗口标题。setnewtextformat(fformat);

    但问题是,如果客户机没有“s2 build”字体,那么字体将是Times New Roman。
    我想知道如何将字体附加到.swf文件。

    2 回复  |  直到 15 年前
        1
  •  3
  •   tangentstorm    15 年前

    这将修复它:

    window_title.embedFonts = true;
    

    不过,您还需要将字体实际嵌入SWF文件中。如果您使用的是Flash应用程序,请在“属性”窗口中设置字体,然后选中“嵌入”框。如果您使用的是MXML,则可以使用@embed嵌入字体。

    请参见这里: http://www.adobe.com/devnet/flash/quickstart/embedding_fonts/

        2
  •  2
  •   user244251    15 年前

    如果您的目标是fp10+,那么也可以在纯AS3中使用嵌入元标记。 例如,在类中添加:

    [Embed(source="C:\WINDOWS\Fonts\myfontfile.ttf", fontFamily="myFont")]
    

    那么……

    TextField.embedFonts = true;
    myTextFormat.font = "myFont";
    

    请在此处查看一个很好的示例: http://marumushi.com/news/embedding-fonts-in-as3 任何避免图书馆字体链接的方法巫毒都是一个不错的选择。哦,还要确保你的字体文件是一种可接受的字体格式。