【问题标题】:Google Fonts API and Actionscript谷歌字体 API 和 Actionscript
【发布时间】:2011-06-15 19:08:25
【问题描述】:

根据我在 Google Fonts API 上的了解,这些字体旨在通过 JavaScript/CSS 访问。有什么方法可以为 Flash 应用程序动态加载它们,而无需将它们本地下载到服务器?

更新:所以我一直在玩弄这个,以下只是我对如何去做的一些想法。他们都没有工作,但我觉得他们在正确的轨道上。仅供参考...

当您选择要在 Google API 中使用的字体时,系统会为您提供一个指向根据您的偏好生成的 CSS 样式表的链接:

<link href='http://fonts.googleapis.com/css?family=Kranky' rel='stylesheet' type='text/css'>

我最初尝试在我的&lt;fx:Style source=.../&gt; 中仅使用href URL,但ActionScript 拒绝了这个(不确定是不是因为它不是本地的,或者它意识到它没有以.css 结尾)。

失败后,我将链接复制到浏览器并手动检索 CSS,将其粘贴到 &lt;fx:Style&gt; 标记中,就像使用任何其他 CSS 一样。同样,ActionScript 不喜欢这样,因为它无法在本地找到 URL。

我怀疑其中一些预防措施是由于 Flash 强制执行的整个“安全沙盒”位而实施的。有更多ActionScript能力的人可能可以使用它来解决问题,但我不知道它是否可以解决。

【问题讨论】:

  • 好问题。我的猜测是这是不可能的,因为 flash 在编译时嵌入了字体,但我很高兴被证明是错误的。
  • @Bosworth99 您可以在运行时下载和注册字体。您只需使用 flash.text.Font 类并使用 Font.registerFont();
  • @jonathan。不知道。严重的心理记录!

标签: flash actionscript fonts google-font-api


【解决方案1】:

您可以在运行时将动态字体加载到 flash/actionscript 中。这里有一个很好的例子:http://developer.yahoo.com/flash/articles/runtime-fonts-as3.html

基本上归结为使用 Loader 类和Font.registerFont();

问题在于 Google 提供的 CSS 提供了 WOFF(网络开放字体)文件,我不相信 flash 可以嵌入该字体类型。

不过,Google 字体是可下载的,并且可以轻松嵌入到您的 Flex/Flash 应用程序中。只需在 Google 网站上转到您想要的字体,然后单击“下载”。从那里,您可以提取 TTF 文件并将其直接嵌入到您的 Flash 应用程序中。

你可以像这样在 actionscript 中这样做:

[Embed(source="theFontYouDownloaded.ttf",  fontName = "someFont",  mimeType = "application/x-font")]
private var someFont:Class;

根据我的经验,有时您需要使用该 mimetype 才能使其正常工作。

由于您似乎在使用 Flex,您可以像这样简单地使用 Flex 样式表:

@font-face
{
src:            url("fonts/someFont.ttf");
fontFamily:     someFont;
font-weight:    normal; 
}

【讨论】:

  • +1 - 请注意:www.fontsquirrel.com 是开源/免费使用网络字体的绝佳资源。
猜你喜欢
  • 2011-12-30
  • 2012-01-03
  • 2011-05-11
  • 2014-07-01
  • 2012-01-17
  • 1970-01-01
  • 2022-11-20
  • 2014-05-16
  • 2017-07-31
相关资源
最近更新 更多