gpt4 book ai didi

flash - 字体未嵌入 Flash CS4 AS3

转载 作者:行者123 更新时间:2023-12-02 01:31:52 25 4
gpt4 key购买 nike

也许你可以帮助我解决我遇到的问题。该项目的网址是: http://www.mauriciogiraldo.com/vgline/beta/

它是一个由 Drupal 驱动、AMFPHP 连接的 AS3 Web 应用程序。数据毫无问题地传输到 Flash,我已经验证 UTF-8 没问题。在这些 URL 中可以更好地看出问题:

http://www.mauriciogiraldo.com/vgline/beta/#/146

该链接的纯文本版本:

http://www.mauriciogiraldo.com/vgline/node/146

(记下这个人的名字)

字体是 Inconsolata,但如果需要的话我可以使用任何等宽开源字体。您可以看到我已经嵌入了字体(我什至选择动态文本字段来嵌入整个内容,完整的字符集)以及库中的“新字体”菜单。 Inconsolata 在 CS4 创作工具中显示为星号(according to Adobe documentation 表示该东西已嵌入)。

我尝试过其他字体嵌入选项但无济于事。 Inconsolata 在创作中使用时似乎有“ō”字符,但它没有出现在动态文本中。

我遇到的另一个问题:如果我使用静态文本字段,则字体不会嵌入(WTF)。我必须将字段转换为动态字段,然后它才能工作(“视频游戏历史时间线”左上角是一个动态文本字段,尽管我不希望它是......那个和其他字段)。如果我使用静态文本字段,字体会转换为某种 Times New Roman 字体。

文本是 AS3 创建的(以及搜索结果)。

我通过 HTML (.htmlText) 嵌入文本并使用 CSS 设置样式。

整个代码是开源的,可以在这里找到:

http://code.google.com/p/vgline/

可以在此处找到如何填写文本字段的示例:

http://code.google.com/p/vgline/source/browse/trunk/src/TLDetail.as

此类代码片段是:

 var ss:StyleSheet = new StyleSheet();
var css:String = ".title { color:#333333; font-family:Inconsolata; font-size:16; leading:2; } ";
css += ".date { color:" + StringUtils.rgb2web(data.color.r, data.color.g, data.color.b) + "; font-family:Inconsolata; font-size:14; leading:4; } ";
css += ".text { color:#333333; font-family:Inconsolata; font-size:11; leading:4; } ";
css += ".link { color:#000000; font-family:Inconsolata; font-size:11; leading:4; text-decoration:underline; } ";
css += "a:hover { text-decoration:none; } ";
ss.parseCSS(css);
var fechahtml:String = "<span class='date'>";
if (data.mes != null && data.dia != null) {
fechahtml += data.dia + " " + StringUtils.month2name(data.mes) + " " + data.anotext;
} else if (data.mes != null) {
fechahtml += StringUtils.month2name(data.mes) + " " + data.anotext;
} else {
fechahtml += data.anotext;
}
fechahtml += "</span>";
date_txt = new TextField();
date_txt.width = 275;
date_txt.embedFonts = true;
date_txt.antiAliasType = "advanced";
date_txt.styleSheet = ss;
date_txt.htmlText = fechahtml;
date_txt.x = 8;
date_txt.y = 3;

addChild(date_txt);

任何帮助将不胜感激。我真的不知道该怎么办。

谢谢

最佳答案

字体嵌入是我创建 Flash 时最喜欢的敌人之一。但我找到了一种方法来减少墙上的洞(以及头上的肿 block )。

  1. 将字体嵌入到库中
  2. 将字体符号(在库中)链接到扩展 Font 类的自定义类(暂时将其称为 MyFont)
  3. 创建一个 TextFormat 对象(我们称之为 frmt)
  4. 设置frmt.font = new MyFont().fontName
  5. 创建一个 TextField(我们称之为 tf)
  6. 指定tf.embedFonts = truetf.defaultTextFormat = frmt

希望这有帮助。

关于flash - 字体未嵌入 Flash CS4 AS3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2079551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com