フォントの埋め込み

| comment (0) | trackback (0)

ActionScript を使って生成されたテキストフィールドに意図したフォントでアンチエリアスをかけた文字を表示した場合があります。このようなとき、任意のフォントをフォントデータごと swf ファイルに中に含めて利用することができます。これを埋め込みフォントと呼びます。

Flash IDE 環境で ActionScript を使って swf ファイルにフォント埋め込むには次のような手順が必要です。

まず使用したいフォントを「シンボル」として登録します。
「ライブラリ」パネルのメニューから[新しいフォント...]を選択し、[フォントシンボルプロパティ]ダイアログを開きます。
このダイアログでは、それぞれ次のような内容を設定します。

[名前]:myFont (シンボルの名前を指定)
[フォント]:Adobe Garamond Pro (使用したいフォントの種類を指定)

これ以外のところは任意の設定をします。

デフォルトでは詳細の設定項目が表示されていない場合がありますので[詳細]ボタンをクリックして詳細の設定を開きます。
[リンケージ]設定項目にある「ActionScript 用に書き出し」にチェックを入れます。
また、クラスには[名前](myFont)が継承されていると思いますのでそのままで[OK]をクリックしダイアログを閉じます。

上記の設定がされた上で、次のコードは TextFormat を使用してフォントを埋め込むみます。

var format:TextFormat= new TextFormat();
format.font = new myFont().fontName;

var myTextField= new TextField();
myTextField.embedFonts = true;
myTextField.defaultTextFormat = format;
myTextField.text = "function9";

addChild(myTextField);

TextFormat.font プロパティはこのテキストフォーマットのフォント名を指定します。
※ リンケージ名(myFont)ではないので注意しましょう。

[フォントシンボルプロパティ]ダイアログで[リンケージ]設定項目にある「ActionScript 用に書き出し」で設定されたクラス「myFont」は、Font クラスのサブクラスです。
Font クラスは、埋め込みフォントを管理するためのものす。Font クラスは、埋め込みフォントに関する情報を調べる事ができます。Font.fontName プロパティは埋め込みフォントの名前を示します。

よって、次のように埋め込まれたフォント名を TextFormat.font プロパティに設定しています。

format.font = new myFont().fontName;

テキストフィールドの文字を埋め込みフォントで表示するかどうかをしてしているのは TextField.embedFonts プロパティです。
埋め込みフォントを使用してレンダリングする場合は、 TextField.embedFonts プロパティを true に設定します。

myTextField.embedFonts = true;

埋め込見可能なフォントの種類ですが、ローカルディスクにインストールされている「フォントファイル」がすべて埋め込むことができるわけではありません。
埋め込むことができるフォントフォーマットは「 TrueType フォント」のみで、OpenType や PostScript フォントは埋め込む事ができません。

また、埋め込みフォントは swf ファイルにフォントデータを含めることになりますでファイルサイズが大きくなってしますことに注意しましょう。

trackback (0)

trackback URL: http://gelsol.sub.jp/core/mt-tb.cgi/19

Post your comment