Google Fonts APIとアクションスクリプト
-
28-10-2019 - |
質問
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 をもう少し扱える人なら、これを使って問題を解決できるかもしれませんが、それが解決できるかどうかはわかりません。
解決
実行時に動的フォントを 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 アプリに直接埋め込むことができます。
次のようにアクションスクリプトでそれを行うことができます。
[Embed(source="theFontYouDownloaded.ttf", fontName = "someFont", mimeType = "application/x-font")]
private var someFont:Class;
私の経験では、正しく動作させるためにその MIME タイプをいじる必要がある場合があります。
Flex を使用しているようですので、単純に次のように Flex スタイル シートを使用できます。
@font-face
{
src: url("fonts/someFont.ttf");
fontFamily: someFont;
font-weight: normal;
}