パッケージ | flash.text |
クラス | public final class TextRenderer |
継承 | TextRenderer Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
テキストフィールドで高度なアンチエイリアスを設定するには、TextField インスタンスの antiAliasType
プロパティを設定します。
高度なアンチエイリアスには、線の太さとエッジのシャープネスの両方を連続的に変調する CSM(Continuous Stroke Modulation)機能が用意されています。高度な機能として、setAdvancedAntiAliasingTable()
メソッドを使用すると、特定の書体やフォントサイズの設定を定義できます。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
displayMode : String [静的]
高度なアンチエイリアスの適用されたテキストの表示を制御します。 | TextRenderer | ||
maxLevel : int [静的]
高度なアンチエイリアス用の ADF 品質レベルです。 | TextRenderer |
メソッド | 定義元 | ||
---|---|---|---|
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
setAdvancedAntiAliasingTable(fontName:String, fontStyle:String, colorType:String, advancedAntiAliasingTable:Array):void [静的]
フォントのカスタム CSM ルックアップテーブルを設定します。 | TextRenderer | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
displayMode | プロパティ |
displayMode:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
高度なアンチエイリアスの適用されたテキストの表示を制御します。テキストの表示品質は主観的です。Flash Player がさまざまな条件に最適な設定を使用しようとしても、デザイナーは別の外観や感触をテキストに対して選択する場合があります。また、displayMode
を使用すると、デザイナーは Flash Player のサブピクセル選択をオーバーライドし、ユーザーのハードウェアに依存しない表示の一貫性を実現できます。TextDisplayMode クラスの値を使用して、このプロパティを設定します。
デフォルト値: "default"。
実装
public static function get displayMode():String
public static function set displayMode(value:String):void
関連する API エレメント
maxLevel | プロパティ |
maxLevel:int
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
高度なアンチエイリアス用の ADF 品質レベルです。有効な値は 3、4、7 のみです。
高度なアンチエイリアスは、ADF を使用して、字形を決定するアウトラインを表します。品質が高くなるほど、ADF 構造用により多くのキャッシュ領域が必要となります。値 3
を指定すると、必要なメモリ量は最小で、品質は最低となります。フォントが大きければ、より多くのキャッシュ領域が必要となります。フォントサイズが 64 ピクセルの場合、品質レベルは 3
から 4
、または 4
から 7
(レベルが既に 7
に設定されている場合を除く)に上がります。
デフォルト値: 4。
実装
public static function get maxLevel():int
public static function set maxLevel(value:int):void
setAdvancedAntiAliasingTable | () | メソッド |
public static function setAdvancedAntiAliasingTable(fontName:String, fontStyle:String, colorType:String, advancedAntiAliasingTable:Array):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
フォントのカスタム CSM ルックアップテーブルを設定します。Flash Player は、フォントに最適な CSM を検出しようとします。Flash Player で提供される CSM が適切ではない場合、setAdvancedAntiAliasingTable()
メソッドを使用して独自の CSM をカスタマイズできます。
パラメーター
fontName:String — 設定を適用するフォントの名前です。
| |
fontStyle:String — flash.text.FontStyle クラスのいずれかの値を使用して示されるフォントスタイルです。
| |
colorType:String — この値によって、線が濃いか薄いかが決定されます。flash.text.TextColorType クラスのいずれかの値を使用します。
| |
advancedAntiAliasingTable:Array — 指定されたフォントの CSMSettings オブジェクトの配列です。各オブジェクトには、次のプロパティがあります。
高度なアンチエイリアスは、ADF(Adaptively sampled Distance Fields)を使用して、字形を決定するアウトラインを表します。Flash Player では、外部カットオフ値( 外部カットオフ値と内部カットオフ値を調整すると、線の太さとエッジのシャープネスに影響します。これら 2 つのパラメーター間の間隔は、標準のアンチエイリアスメソッドのフィルター半径の 2 倍に相当します。間隔が狭ければ、エッジがシャープになり、間隔が広ければ、エッジがぼやけて、フィルターの適用度が高い状態になります。間隔が 0 の場合、結果の密度イメージは 2 層のビットマップとなります。間隔が非常に広ければ、結果の密度イメージのエッジは水彩画のようになります。 通常、ユーザーは、小さなポイントサイズではシャープでコントラストのはっきりしたエッジを、アニメーションテキストや大きなポイントサイズではぼやけたエッジを好みます。 通常、外部カットオフは負の値、内部カットオフは正の値で、中間点は 0 の近辺になります。これらのパラメーターを調整して、中間点を負の無限大に向かってシフトすると、線の太さが増します。中間点を正の無限大に向かってシフトすると、線の太さは減ります。外部カットオフ値が常に内部カットオフ値以下になるようにする必要があります。 |
関連する API エレメント
- georgia.ttf という名前の Georgia フォントをこの AS ファイルと同じディレクトリに置きます。
- クラス定義のすぐ下に次の各行を追加します。
[Embed(source="georgia.ttf", fontFamily="Georgia")]
private var embeddedFont:String;
- ステージ上にテキストフィールドを配置してそれを選択します。
- プロパティトインスペクターでそのテキストのフィールドのフォントを Georgia に設定します。
- 次に、プロパティインスペクターで「埋め込み」を押して「すべて」を選択します。
注意:
- 「ローカルでの再生に関するセキュリティ」を「ローカルファイルにのみアクセスする」に設定して SWF ファイルをコンパイルする必要があります。
package { import flash.display.DisplayObject; import flash.display.Sprite; import flash.events.*; import flash.text.*; public class TextRendererExample2 extends Sprite { private var gutter:int = 10; public function TextRendererExample2() { createTextField(8,AntiAliasType.NORMAL); createTextField(8,AntiAliasType.ADVANCED); createTextField(24,AntiAliasType.NORMAL); createTextField(24,AntiAliasType.ADVANCED); } private function createTextField(fontSize:Number,antiAliasType:String):TextField { var tf:TextField = new TextField(); tf.embedFonts = true; tf.autoSize = TextFieldAutoSize.LEFT; tf.antiAliasType = antiAliasType; tf.defaultTextFormat = getTextFormat(fontSize); tf.selectable = false; tf.mouseEnabled = true; tf.text = "The quick brown fox jumped over the lazy dog."; if(numChildren > 0) { var sibling:DisplayObject = getChildAt(numChildren - 1); tf.y = sibling.y + sibling.height + gutter; } addChild(tf); return tf; } private function getTextFormat(fontSize:Number):TextFormat { var format:TextFormat = new TextFormat(); format.size = fontSize; format.font = "Georgia"; return format; } } }
Tue Jun 12 2018, 10:34 AM Z