TextField クラスについて
| ・ | テキストフィールドとは? | 
| ・ | テキストフィールドを作成して配置する | 
| ・ | テキストフィールドに文字を表示する | 
| ・ | テキストフィールドのプロパティを設定する | 
| ・ | テキストフィールドに書式を設定する | 
| ・ | スタイルシートを適用する | 
| ・ | 高品質アンチエイリアスを使用する | 
テキストフィールドとは?
■ TextField とは?
テキストフィールドは、ステージに配置して表示できるオブジェクトの1つです。
 
文字を表示したり、文字を入力する事ができます。
■ TextField クラスの派生について
TextField クラスは、以下の様に派生しています。
 
ここで解説してない分は、リンク先に解説がありますので合わせてご覧下さい。
| Object | 
| ↓派生 | 
| EventDispatcher | 
| ↓派生 | 
| DisplayObject | 
| ↓派生 | 
| InteractiveObject | 
| ↓派生 | 
| TextField | 
テキストフィールドを作成して配置する
サンプルをダウンロード
■テキストフィールドオブジェクトを作成する
new 演算子を使って、TextField クラスをインスタンス化します。
テキストフィールドオブジェクトを作成する
import flash.text.TextField;
// テキストフィールドオブジェクトを作成する
var text_field:TextField = new TextField();
■テキストフィールドをステージに配置する
テキストフィールドオブジェクトを、stage の表示リストに登録する
import flash.text.TextField;
// テキストフィールドオブジェクトを作成する
var text_field:TextField = new TextField();
// 枠線を表示する
text_field.border = true;
// ステージの表示リストに登録する
stage.addChild(text_field);
■テキストフィールドのサイズを変更する
テキストフィールドのサイズを変更するには、以下のプロパティを変更します。
| プロパティ名 | 型 | 説明 | 
| x | Number | x 座標(水平方向)の位置 | 
| y | Number | y 座標(垂直方向)の位置 | 
| width | Number | 水平方向の大きさ(ピクセル単位) | 
| height | Number | 垂直方向の大きさ(ピクセル単位) | 
テキストフィールドのサイズを変更する
import flash.text.TextField;
// テキストフィールドオブジェクトを作成する
var text_field:TextField = new TextField();
// 枠線を表示する
text_field.border = true;
// ステージの表示リストに登録する
stage.addChild(text_field);
text_field.x = 50;		// x 座標
text_field.y = 100;		// y 座標
text_field.width  = 200;	// 幅
text_field.height = 50;	// 高さ
■テキストフィールドの基本的な制御について
テキストフィールドの基本的な制御の方法は、こちらで解説しています。
このページでは、TextField クラスの機能について解説していきます。
テキストフィールドに文字を表示する
サンプルをダウンロード
■テキストフィールドに文字を表示する
テキストフィールドに文字を表示するには、text プロパティを使用します。
 
表示したい文字列をセットします。
テキストフィールドに文字を表示する
import flash.text.TextField;
// テキストフィールドオブジェクトを作成する
var text_field:TextField = new TextField();
// ステージの表示リストに登録する
stage.addChild(text_field);
// テキストフィールドの設定
text_field.border = true;
text_field.x = 10;
text_field.y = 10;
text_field.width  = stage.stageWidth  - 20;
text_field.height = stage.stageHeight - 20;
// 文字列を表示
text_field.text = "表示テスト";
■テキストフィールドに HTML 形式の文字を表示する
テキストフィールドは、一部の HTML タグに対応しています。
 
HTML 形式の文字列を表示するには、htmlText プロパティを使用します。
テキストフィールドに HTML 形式の文字を表示する
import flash.text.TextField;
// テキストフィールドオブジェクトを作成する
var text_field:TextField = new TextField();
// ステージの表示リストに登録する
stage.addChild(text_field);
// テキストフィールドの設定
text_field.border = true;
text_field.x = 10;
text_field.y = 10;
text_field.width  = stage.stageWidth  - 20;
text_field.height = stage.stageHeight - 20;
// HTML形式の文字列を表示
text_field.htmlText = "<B>表示テスト</B>";
■対応タグ一覧
| タグ名 | 表記 | 
| アンカータグ | <a> | 
| ボールドタグ | <b> | 
| ブレークタグ | <br> | 
| フォントタグ | <font> | 
| イメージタグ | <img> | 
| イタリックタグ | <i> | 
| リスト項目タグ | <li> | 
| 段落タグ | <p> | 
| 範囲タグ | <span> | 
| テキストフォーマットタグ | <textformat> | 
| 下線タグ | <u> | 
■対応エンティティ一覧
| 文字 | 表記 | 
| < (より小さい) | < | 
| > (より大きい) | > | 
| & (アンパサンド) | & | 
| " (二重引用符) | " | 
| ' (アポストロフィ、一重引用符) | ' | 
■数値型から文字型に変換する
数値型から文字型に変換したい場合は、String() 関数を使用します。
数字型から文字型に変換する
var num : Number = 123;
var str : String = String(num);
テキストフィールドのプロパティを設定する
サンプルをダウンロード
■テキストフィールドのプロパティを設定する
テキストフィールドクラスが持つ、読み取り専用のプロパティの一覧です(一部省略)
| プロパティ名 | 型 | 説明 | 
| caretIndex | int | カーソル位置のインデックス | 
| bottomScrollV | int | 現在の表示範囲の最終行 (1 からのインデックス) | 
| length | int | テキストの文字数 | 
| maxScrollH | int | scrollH の最大値 | 
| maxScrollV | int | scrollV の最大値 | 
| numLines | int | 複数行テキストフィールド内のテキスト行の数 | 
| selectionBeginIndex | int | 現在の選択範囲の最初の文字 0 からのインデックス値 | 
| selectionEndIndex | int | 現在の選択範囲の最後の文字 0 からのインデックス値 | 
| textWidth | Number | テキストの幅 | 
| textHeight | Number | テキストの高さ | 
テキストフィールドクラスが持つ、書き込み可能なプロパティの一覧です(一部省略)
| プロパティ名 | 型 | 説明 | 
| type | String | テキストフィールドのタイプ TextFieldType.* | 
| textColor | uint | テキストの色を、RGB で指定 (0xFFFFFF) | 
| background | Boolean | 背景の塗りがあるか? | 
| backgroundColor | uint | 背景の色を、RGB で指定 (0xFFFFFF) | 
| border | Boolean | 境界線があるか? | 
| borderColor | uint | 境界線の色を、RGB で指定 (0xFFFFFF) | 
| selectable | Boolean | 選択可能か? | 
| alwaysShowSelection | Boolean | フォーカスが無くなっても選択状態を維持するか? | 
| displayAsPassword | Boolean | パスワード表示か? | 
| multiline | Boolean | 複数行か? | 
| wordWrap | Boolean | 折り返すか? | 
| condenseWhite | Boolean | HTML表示時にスペース、改行などを削除するか? | 
| mouseWheelEnabled | Boolean | ホイール回転時にスクロールするか? | 
| useRichTextClipboard | Boolean | コピーアンドペースト時に書式もコピーするか? | 
| maxChars | int | 最大の文字数 | 
| scrollH | int | 水平スクロール位置(0 から) | 
| scrollV | int | 垂直座標 (1 から) | 
| styleSheet | StyleSheet | スタイルシートを関連付け | 
| defaultTextFormat | TextFormat | デフォルトの書式 | 
| embedFonts | Boolean | 埋め込みフォントを使用するか? | 
| autoSize | String | サイズ整形の種類 TextFieldAutoSize.* | 
| antiAliasType | String | アンチエイリアスの種類 AntiAliasType.* | 
| gridFitType | String | グリッドフィッティングの種類 GridFitType.* | 
| sharpness | Number | 文字エッジのシャープネス(-400 ~ 400) | 
| thickness | Number | 文字エッジの太さ(-200 ~ 200) | 
| restrict | String | 表示や入力可能な文字を制限する | 
■設定例
テキストフィールドのプロパティを設定する
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.text.AntiAliasType;
import flash.text.TextFieldAutoSize;
import flash.text.GridFitType;
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成する
var text_field:TextField = new TextField();
// ステージの表示リストに登録する
stage.addChild(text_field);
// テキストフィールドのサイズを設定
text_field.x = 10;
text_field.y = 10;
text_field.width  = stage.stageWidth  - 20;
text_field.height = stage.stageHeight - 20;
// 文字列を表示
text_field.text = "表示テスト";
// ------------------------------------------------------------
// テキストフィールドのプロパティを設定
// ------------------------------------------------------------
text_field.alwaysShowSelection = true; 		// フォーカスが無くなっても選択状態を維持するか? 
text_field.antiAliasType = AntiAliasType.NORMAL;	// アンチエイリアスの種類
text_field.autoSize = TextFieldAutoSize.NONE;	// サイズ整形の種類
text_field.background = true;			// 背景の塗りがあるか?
text_field.backgroundColor = 0xFFDDDD;	// 背景の色
text_field.border = true;			// 境界線があるか?
text_field.borderColor =0xAA0000;		// 境界線の色
text_field.condenseWhite = false;		// HTML表示時にスペース改行などを削除するか?
text_field.displayAsPassword = false;		// パスワード表示か?
text_field.embedFonts = false;			// 埋め込みフォントを使うか?
text_field.gridFitType = GridFitType.NONE;	// グリッドフィッティングの種類
text_field.maxChars = 10;			// 最大の文字数
text_field.mouseWheelEnabled = true;		// ホイール回転時にスクロールするか?
text_field.multiline = true;			// 複数行か?
text_field.selectable = true;			// 選択可能か?
text_field.sharpness = 0;			// 文字エッジのシャープネス
text_field.textColor = 0x0000AA;		// テキストの色
text_field.thickness = 1;			// 文字エッジの太さ
text_field.type = TextFieldType.INPUT;		// テキストフィールドのタイプ
text_field.useRichTextClipboard = true;	// コピー & ペースト時に書式もコピーするか?
text_field.wordWrap = false;			// 折り返すか?
■テキストフィールドのタイプ(type プロパティ)
テキストフィールドの種類を設定するには、type プロパティを使用します。
 
以下の定数を指定します。
| 定数 | 文字 | 説明 | 
| TextFieldType. | "dynamic" | 入力が不可能なテキストフィールド(ダイナミックテキストに相当) | 
| TextFieldType. | "input" | 入力が可能なテキストフィールド(入力テキストに相当) | 
■埋め込みフォントを使用するか?(embedFonts プロパティ)
埋め込みフォントを使用するには、embedFonts プロパティに true をセットします。
以下の設定が満たされている場合のみ動作します。
 
「書式設定で指定したフォントが、swf ファイルに埋め込まれている」
■サイズ整形の種類(autoSize プロパティ)
サイズ整形の種類を設定するには、autoSize プロパティを使用します。
 
以下の定数を指定します。
| 定数 | 文字 | 説明 | 
| TextFieldAutoSize. | "none" | なし | 
| TextFieldAutoSize. | "left" | 左に揃えて整形 | 
| TextFieldAutoSize. | "right" | 右に揃えて整形 | 
| TextFieldAutoSize. | "center" | 中央に揃えて整形 | 
以下の設定が満たされている場合のみ動作します。
 
「wordWrap = false」
■アンチエイリアスの種類(antiAliasType プロパティ)
アンチエイリアスの種類を設定するには、antiAliasType プロパティを使用します。
 
以下の定数を指定します。
| 定数 | 文字 | 説明 | 
| AntiAliasType. | "advanced" | アンチエイリアスをかける(小さいサイズだと綺麗に表示される) | 
| AntiAliasType. | "normal" | アンチエイリアスをかけない | 
高品質アンチエイリアスについては、こちらで解説しています。
高品質アンチエイリアスは、以下の設定が満たされている場合のみ動作します。
 
「embedFonts = true」
 
「書式設定で指定したフォントが、swf ファイルに埋め込まれている」
■グリッドフィッティングの種類(gridFitType プロパティ)
グリッドフィッティングの種類を設定するには、gridFitType プロパティを使用します。
 
以下の定数を指定します。
| 定数 | 文字 | 説明 | 
| GridFitType. | "none" | なし | 
| GridFitType. | "pixel" | 太い水平線と垂直線がピクセルグリッドに合わされます | 
| GridFitType. | "subpixel" | 太い水平線と垂直線が LCD モニタのサブピクセルグリッドに合わされます | 
以下の設定が満たされている場合のみ動作します。
 
「antiAliasType = AntiAliasType.ADVANCED」
 
「embedFonts = true」
 
「書式設定で指定したフォントが、swf ファイルに埋め込まれている」
■文字エッジのシャープネス(sharpness プロパティ)
文字エッジのシャープネスを使用するには、sharpness プロパティを使用します。
 
-400 から 400 までの数値を指定します。
以下の設定が満たされている場合のみ動作します。
 
「antiAliasType = AntiAliasType.ADVANCED」
 
「embedFonts = true」
 
「書式設定で指定したフォントが、swf ファイルに埋め込まれている」
■文字エッジの太さ(thickness プロパティ)
文字エッジの太さを使用するには、thickness プロパティを使用します。
 
-200 から 200 までの数値を指定します。
以下の設定が満たされている場合のみ動作します。
 
「antiAliasType = AntiAliasType.ADVANCED」
 
「embedFonts = true」
 
「書式設定で指定したフォントが、swf ファイルに埋め込まれている」
■表示や入力可能な文字を制限(restrict プロパティ)
表示や入力可能な文字を制限するには、restrict プロパティを使用します。
 
設定例です。
restrict プロパティの設定例
import flash.text.TextField;
import flash.text.TextFieldType;
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成する
var text_field:TextField = new TextField();
// ステージの表示リストに登録する
stage.addChild(text_field);
// テキストフィールドの設定
text_field.type = TextFieldType.INPUT;
text_field.border = true;
text_field.x = 10;
text_field.y = 10;
text_field.width  = stage.stageWidth  - 20;
text_field.height = stage.stageHeight - 20;
// ------------------------------------------------------------
// 文字制限の設定例
// ------------------------------------------------------------
text_field.restrict = "abc";		// a,b,c のみ
text_field.restrict = "a-z";		// 小文字英字
text_field.restrict = "a-z0-9";	// 小文字英字と数字
text_field.restrict = "^A";		// A以外すべて
text_field.restrict = "^A-Z";		// 大文字英字以外すべて
text_field.restrict = "\\-";		// -
text_field.restrict = "\\^";		// ^
text_field.restrict = "\u3041-\u3093";	// UNICODEで0x3041から0x3093まで
テキストフィールドに書式を設定する
サンプルをダウンロード
■書式用のパラメータを作成する
new 演算子を使って、TextFormat クラスをインスタンス化します。
TextFormat オブジェクトを作成する
import flash.text.TextFormat;
// TextFormat オブジェクトを作成する
var format:TextFormat = new TextFormat();
■TextFormat クラスのプロパティ
TextFormat クラスが持つ、読み書き可能なプロパティの一覧です(一部省略)
| プロパティ名 | 型 | 説明 | 
| align | String | 整列の設定 TextFormatAlign.* | 
| font | String | フォント名を文字列で指定 例)"MS ゴシック" | 
| size | Number | 文字のポイントサイズ | 
| color | uint | 文字の色を、RGBで指定 (0xFFFFFF) | 
| bold | Boolean | 太字にするか? | 
| italic | Boolean | 斜体にするか? | 
| underline | Boolean | アンダーラインを表示するか? | 
| bullet | Boolean | 箇条書きにするか? | 
| kerning | Boolean | カーニングが有効か?(埋め込みフォント時のみ動作) | 
| blockIndent | Number | 全体のインデント(単位:ピクセル) | 
| indent | Number | 折り返し行以外のインデント | 
| leading | Number | 行間の垂直の行送り | 
| leftMargin | Number | 段落の左マージン(単位:ピクセル) | 
| rightMargin | Number | 段落の右マージン(単位:ピクセル) | 
| letterSpacing | Number | すべての文字間に均等に配分されるスペースの量(単位:ピクセル) | 
| tabStops | Array | タブ文字の幅を配列に格納して指定 例) [40,80] (単位:ピクセル) | 
| url | String | ハイパーリンク先を文字列で指定 | 
| target | String | ハイパーリンク先のターゲットウィンドウ 例)"_blank" | 
■設定例
TextFormat にパラメータを設定する
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
// TextFormat オブジェクトを作成する
var format:TextFormat = new TextFormat();
// ------------------------------------------------------------
// テキストフォーマットのプロパティを設定
// ------------------------------------------------------------
format.align = TextFormatAlign.RIGHT;	// 整列
format.font = "MS ゴシック";		// フォント名
format.size = 14;		// 文字のポイントサイズ
format.color = 0xFF0000;	// 文字の色
format.bold = true;		// 太字にするか?
format.italic = true;		// 斜体にするか?
format.underline = true;	// アンダーラインを表示するか?
format.bullet = true;		// 箇条書きにするか?
format.kerning = true;		// カーニングが有効か?(埋め込みフォント時のみ動作)
format.blockIndent = 0;	// 全体のインデント(単位:ピクセル) 
format.indent = 0;		// 折り返し行以外のインデント
format.leading = -2;		// 行間の垂直の行送り
format.leftMargin = 5;		// 段落の左マージン(単位:ピクセル)
format.rightMargin = 5;	// 段落の右マージン(単位:ピクセル)
format.letterSpacing = 4;	// 文字間スペースの量(単位:ピクセル)
format.tabStops = [40];	// タブストップ(タブ文字の幅)
format.url = null;		// ハイパーリンク先を文字列で指定
format.target = null;		// ハイパーリンク先のターゲットウィンドウ
■整列の設定(align プロパティ)
サイズ整形の種類を設定するには、align プロパティを使用します。
 
以下の定数を指定します。
| 定数 | 文字 | 説明 | 
| TextFormatAlign. | "left" | 左に整列 | 
| TextFormatAlign. | "right" | 右に整列 | 
| TextFormatAlign. | "center" | 中央に配置 | 
| TextFormatAlign. | "justify" | 均等割り付け | 
■デフォルトの書式を設定する
デフォルトの書式を設定するには、defaultTextFormat プロパティを使用します。
 
TextFormat オブジェクトをセットします。
テキストを更新すると、新しい書式が適用されます。
 
既存のテキストに書式を設定したい場合は、setTextFormat() メソッドを使用します。
デフォルトの書式を設定する
import flash.text.TextField;
import flash.text.TextFormat;
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成する
var text_field:TextField = new TextField();
// ステージの表示リストに登録する
stage.addChild(text_field);
// テキストフィールドのサイズを設定
text_field.x = 10;
text_field.y = 10;
text_field.width  = stage.stageWidth  - 20;
text_field.height = stage.stageHeight - 20;
// ------------------------------------------------------------
// テキストフォーマット
// ------------------------------------------------------------
// TextFormat オブジェクトを作成する
var format:TextFormat = new TextFormat();
// テキストの色
format.color = 0xFF0000;
// デフォルトの書式を設定する
text_field.defaultTextFormat = format;
// ------------------------------------------------------------
// 表示したいテキストを設定する
// ------------------------------------------------------------
text_field.text = "表示テスト";
■既存のテキストに書式を設定する
既存のテキストに書式を設定するには、setTextFormat() メソッドを使用します。
第03引数で指定する終了位置は、設定対象に含まれません。
setTextFormat() メソッドで設定した書式は、一時的なものです。
 
テキストを更新すると、書式がデフォルトに戻ります。
テキストフィールド.setTextFormat ( TextFormat , 開始位置 , 終了位置 ) :void
| 第01引数 | TextFormat | TextFormat オブジェクトを指定 | 
| 第02引数(略可) | int | 書式の適用を開始する位置(0 から開始、-1 を指定すると先頭から) | 
| 第03引数(略可) | int | 書式の適用を終了する位置(0 から開始、-1 を指定すると最後まで) | 
| 戻り値 | void | なし | 
表示されているテキストの 1 番目から 3 番目までに書式を設定する
import flash.text.TextField;
import flash.text.TextFormat;
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成する
var text_field:TextField = new TextField();
// ステージの表示リストに登録する
stage.addChild(text_field);
// テキストフィールドのサイズを設定
text_field.x = 10;
text_field.y = 10;
text_field.width  = stage.stageWidth  - 20;
text_field.height = stage.stageHeight - 20;
// 表示したいテキストを設定する
text_field.text = "表示テスト";
// ------------------------------------------------------------
// テキストフォーマット
// ------------------------------------------------------------
// TextFormat オブジェクトを作成する
var format:TextFormat = new TextFormat();
// テキストの色
format.color = 0xFF0000;
// ------------------------------------------------------------
// 現在表示されている 1 番目から 3番目の文字に書式を設定する
// ------------------------------------------------------------
text_field.setTextFormat(format,1,4);
スタイルシートを適用する
■スタイルシートオブジェクトを作成する
new 演算子を使って、StyleSheet クラスをインスタンス化します。
スタイルシートオブジェクトを作成する
import flash.text.StyleSheet;
// スタイルシートオブジェクトを作成する
var style_sheet:StyleSheet = new StyleSheet();
■スタイルシート文字列からスタイルを設定する
スタイルシート文字列からスタイルを設定するには、parseCSS() メソッドを使用します。
 
引数に、スタイルシート文字列を指定します。
スタイルシート文字列からスタイルを設定する
import flash.text.StyleSheet;
// スタイルシートオブジェクトを作成する
var style_sheet:StyleSheet = new StyleSheet();
// スタイルシート文字列を用意
var css_text:String = ".point{ font-size:14; font-style:italic; color:#0000AA; } .strong { font-family: MS 明朝; font-size: 24px; font-weight: bold; }";
// スタイルシート文字列からスタイルを設定する
style_sheet.parseCSS(css_text);
■テキストフィールドにスタイルシートを適用する
テキストフィールドに、スタイルシートを適用するには、styleSheet プロパティを使用します。
 
styleSheet プロパティに、スタイルシートオブジェクトを渡します。
テキストフィールドにスタイルシートを反映する
import flash.text.TextField;
import flash.text.StyleSheet;
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成する
var text_field:TextField = new TextField();
// ステージの表示リストに登録する
stage.addChild(text_field);
// テキストフィールドの設定
text_field.border = true;
text_field.x = 10;
text_field.y = 10;
text_field.width  = stage.stageWidth  - 20;
text_field.height = stage.stageHeight - 20;
// ------------------------------------------------------------
// スタイルシート
// ------------------------------------------------------------
// スタイルシートオブジェクトを作成する
var style_sheet:StyleSheet = new StyleSheet();
// スタイルシート文字列からスタイルを設定する
style_sheet.parseCSS(".point{ font-size:14; font-style:italic; color:#0000AA; } .strong { font-family: MS 明朝; font-size: 24px; font-weight: bold; }");
// テキストフィールドにスタイルシートを適用する
text_field.styleSheet = style_sheet;
// ------------------------------------------------------------
// HTML 文字列を表示する
// ------------------------------------------------------------
text_field.htmlText = "<span class=\"point\">表示テスト1</span><span class=\"strong\">表示テスト2</span>";
高品質アンチエイリアスを使用する
■高品質アンチエイリアスレンダリングとは?
「Adobe Flash のテキストツール設定」の『アンチエイリアス(読みやすさ優先)』に該当する機能です。
 
高品質アンチエイリアスレンダリングを使用すると、小さめのフォントサイズを表示したときにアンチエイリアスをかけてもくっきりと綺麗に表示されます。
![]()  | 
表示するフォントが大きいほど、より多くのメモリが必要となります。
 
巨大なフォントを表示したい場合には不向きです。
■swf ファイルにフォントデータを埋め込む
高品質アンチエイリアスレンダリングを使用するには、swf ファイルにフォントデータを埋め込む必要があります。
1.新しいフォントを作成する
ライブラリウィンドウから、「新しいフォント」を作成します。
2.リンケージプロパティを設定する
フォントアイテムを選択して、コンテキストメニューから、「プロパティ」を選択します。
「クラス名」に好きな名前を付けます。ここでは、"MyFont" と名前を付けます。
 
さらに『ActionScript 用に書き出し』と『1フレーム目に書き出し』にチェックを付けます。
■埋め込んだフォントのフォント名を取得する
new 演算子を使って、作成した "MyFont" クラスをインスタンス化します。
フォントオブジェクトを作成する
import flash.text.Font;
// フォントオブジェクトを作成する
var my_font:Font = new MyFont();
埋め込んだフォントのフォント名を取得するには、fontName プロパティを使用します。
フォントオブジェクトを作成する
import flash.text.Font;
// フォントオブジェクトを作成する
var font:Font = new MyFont();
// フォント名を取得する
var font_name:String = font.fontName;
trace(font_name);
■テキストフォーマットからフォントを指定する
埋め込んだフォントを使用するには、TextFormat クラスの font プロパティを使用します。
 
font プロパティに、先ほど取得したフォント名を指定します。
TextFormat クラスについては、こちらで解説しています。
高品質アンチエイリアスを使用するためには、さらに以下の設定が必要です。
 
「TextField クラスの embedFonts プロパティに true を設定」
 
「TextField クラスの antiAliasType プロパティに AntiAliasType.ADVANCED を設定」
埋め込んだフォントを書式に使用する
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.AntiAliasType;
import flash.text.Font;
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成する
var text_field:TextField = new TextField();
// ステージの表示リストに登録する
stage.addChild(text_field);
// テキストフィールドの設定
text_field.border = true;
text_field.x = 10;
text_field.y = 10;
text_field.width  = stage.stageWidth  - 20;
text_field.height = stage.stageHeight - 20;
// 埋め込みフォントを使う
text_field.embedFonts = true;
// 高品質アンチエイリアスを使用する
text_field.antiAliasType = AntiAliasType.ADVANCED;
// ------------------------------------------------------------
// テキストフォーマット
// ------------------------------------------------------------
// TextFormat オブジェクトを作成する
var format:TextFormat = new TextFormat();
// フォントオブジェクトを作成する
var font:Font = new MyFont();
// フォントの識別子を指定
format.font = font.fontName;
// デフォルトの書式を設定する
text_field.defaultTextFormat = format;
// ------------------------------------------------------------
// 表示を更新
// ------------------------------------------------------------
text_field.text = "表示テスト";
■高品質アンチエイリアスの品質を設定する
高品質アンチエイリアスの品質を設定するには、TextRenderer.maxLevel  プロパティを使用します。
 
Flash 全体に反映されます。
  
3 か 4 か 7 を設定することができます。
 
数値が高いほど、多くのメモリを消費し、高品質な表示となります。
 
デフォルトは、4 です。
高品質アンチエイリアスの品質を変更する
import flash.text.TextRenderer;
TextRenderer.maxLevel = 3;

