4

Google Fonts APIでわかることから、これらのフォントはJavaScript/CSSからアクセスできるようになっています。サーバーにローカルにダウンロードせずに、Flashアプリケーション用に動的にロードする方法はありますか?

更新:それで、私はこれをもう少しいじくり回してきました、そして以下は私がそれについてどうやって行くかについて私が持っていたいくつかの考えです。どれも機能しませんが、正しい方向に進んでいるように感じます。将来の参考のために...

Google APIで使用するフォントを選択すると、設定に基づいて生成されたCSSスタイルシートへのリンクが提供されます。

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

最初はhref自分の内部のURLだけを使用しようとしました<fx:Style source=.../>が、ActionScriptはこれを拒否しました(ローカルではなかったためか、それともで終わっていないことに気付いたためかはわかりません.css)。

それが失敗した後、私はリンクをブラウザにコピーし、CSSを手動で取得して<fx:Style>、他のCSSの場合と同じようにタグ内に貼り付けました。繰り返しになりますが、ActionScriptはURLをローカルで見つけることができなかったため、これを好みませんでした。

Flashが実施する「セキュリティサンドボックス」ビット全体が原因で、これらの予防措置のいくつかが実施されているのではないかと思います。より多くのActionScriptの腕前を持っている人は、これを使用して問題を解決できるかもしれませんが、それが解決可能かどうかはわかりません。

4

1 に答える 1

4

実行時に動的フォントをflash/actionscriptにロードできます。ここにその良い例があります:http://developer.yahoo.com/flash/articles/runtime-fonts-as3.html

基本的には、Loaderクラスを使用することになります。 Font.registerFont();

問題は、Googleが提供するCSSがWOFF(Web Open Font)ファイルを提供していることであり、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; 
}
于 2011-06-28T19:51:01.657 に答える