| パッケージ | flash.text.engine |
| クラス | public final class TextBlock |
| 継承 | TextBlock Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
Unicode 双方向アルゴリズムおよび改行アルゴリズムは一度に 1 つの段落に対して実行されるので、TextBlock クラスは単一の段落が含まれることを想定しています。複数の段落でテキストを構成するアプリケーションは、テキストを段落に分割し、段落ごとに 1 つの TextBlock を作成するために、マークアップ言語またはテキスト解析を使用します。
TextBlock オブジェクトは、ContentElement クラスのインスタンスである content プロパティにそのコンテンツを格納します。ContentElement クラスのインスタンスを作成することはできないため、content をそのサブクラスである TextElement、GraphicElement または GroupElement のいずれかのインスタンスに設定します。純粋なテキストコンテンツには TextElement、イメージコンテンツまたはグラフィックコンテンツには GraphicElement、TextElement オブジェクト、GraphicElement オブジェクトおよびその他の GroupElement オブジェクトの組み合わせを含むコンテンツには GroupElement を使用します。フォーマットされたテキスト範囲、埋め込みのサブテキストおよびグラフィックエレメントの管理について詳しくは、ContentElement クラスおよびそのサブクラスを参照してください。
TextBlock インスタンスを作成して content プロパティを設定した後、createTextLine() メソッドを呼び出して TextLine クラスのインスタンスのテキスト行を作成します。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
| applyNonLinearFontScaling : Boolean
WYSIWYG 印刷の再現性を犠牲にして、画面の外観を強調するように指定します。 | TextBlock | ||
| baselineFontDescription : FontDescription
行の内容には関係なく、ブロックから作成されたすべての行に対するベースラインを特定するために使用されるフォントです。 | TextBlock | ||
| baselineFontSize : Number
ブロックから作成された行に対するベースラインを計算するのに使用されるフォントサイズです。 | TextBlock | ||
| baselineZero : String
このブロックから作成した行に対して y=0 であるベースラインを指定します。 | TextBlock | ||
| bidiLevel : int
テキストブロック内のテキストのデフォルトの双方向埋め込みレベルを指定します。 | TextBlock | ||
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。 | Object | |
| content : ContentElement
テキストブロックの内容を保持します。 | TextBlock | ||
| firstInvalidLine : TextLine [読み取り専用]
TextLine.validity と TextLineValidity.VALID が等しくない、テキストブロックで最初の行を指定します。 | TextBlock | ||
| firstLine : TextLine [読み取り専用]
TextBlock 内の最初の TextLine(存在する場合)です。 | TextBlock | ||
| lastLine : TextLine [読み取り専用]
TextBlock 内の最後の TextLine(存在する場合)です。 | TextBlock | ||
| lineRotation : String
テキストブロックのテキスト行を単位として回転します。 | TextBlock | ||
![]() | prototype : Object [静的]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
| tabStops : Vector.<TabStop>
テキストブロック内のテキストのタブストップを TabStop オブジェクトの Vector の形式で指定します。 | TextBlock | ||
| textJustifier : TextJustifier
行の作成時に使用する TextJustifier を指定します。 | TextBlock | ||
| textLineCreationResult : String [読み取り専用]
createTextLine() 操作の結果を示します。 | TextBlock | ||
| userData : *
作成者が任意のデータをテキストブロックに関連付けるための方法を提供します。 | TextBlock | ||
| メソッド | 定義元 | ||
|---|---|---|---|
TextBlock(content:ContentElement = null, tabStops:Vector.<TabStop> = null, textJustifier:TextJustifier = null, lineRotation:String = "rotate0", baselineZero:String = "roman", bidiLevel:int = 0, applyNonLinearFontScaling:Boolean = true, baselineFontDescription:FontDescription = null, baselineFontSize:Number = 12.0)
TextBlock オブジェクトを作成します。
| TextBlock | ||
createTextLine(previousLine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):TextLine
テキストブロックの内容からテキスト行を作成し、その場合に previousLine パラメータで指定されたポイントで開始し、width パラメータで指定されたポイントで改行するように指示します。 | TextBlock | ||
TextBlock の基になるコンテンツを XML ストリングとしてダンプします。 | TextBlock | ||
指定された文字インデックスの次のアトム境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。 | TextBlock | ||
指定された文字インデックスの次の単語境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。 | TextBlock | ||
指定された文字インデックスの前のアトム境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。 | TextBlock | ||
指定された文字インデックスの前の単語境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。 | TextBlock | ||
charIndex パラメータで指定された位置の文字を含む TextLine を返します。 | TextBlock | ||
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
TextBlock によって維持される行のリストから、テキスト行の範囲を削除します。 | TextBlock | ||
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
| applyNonLinearFontScaling | プロパティ |
applyNonLinearFontScaling:Boolean| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
WYSIWYG 印刷の再現性を犠牲にして、画面の外観を強調するように指定します。非線形の拡大 / 縮小をサポートするプラットフォームおよびフォントについては、このプロパティを true に設定すると、それらのメトリックを使用できるようになりますが、特に小さなポイントサイズの場合の WYSIWYG 印刷の再現性がいくらか犠牲になります。
デフォルト値は true です。
public function get applyNonLinearFontScaling():Boolean public function set applyNonLinearFontScaling(value:Boolean):void| baselineFontDescription | プロパティ |
baselineFontDescription:FontDescription| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
行の内容には関係なく、ブロックから作成されたすべての行に対するベースラインを特定するために使用されるフォントです。ベースラインは、フォントおよびフォントサイズによって異なります。
デフォルト値は null です。ベースラインフォントが null の場合、ベースラインフォントのサイズは無視され、いずれの行に対するベースラインも、行内の最大のテキストのフォントおよびサイズによって決まります。baselineFontDescription および baselineFontSize の両方を指定すると、それらの内容に関係なく、テキストブロックのすべての行に対するベースラインを決定します。この組み合わせは、文字体裁で最も役立ちます。
public function get baselineFontDescription():FontDescription public function set baselineFontDescription(value:FontDescription):void関連項目
| baselineFontSize | プロパティ |
baselineFontSize:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ブロックから作成された行に対するベースラインを計算するのに使用されるフォントサイズです。ベースラインは、フォントおよびフォントサイズによって異なります。
デフォルト値は 12 です。ベースラインフォントが null の場合、ベースラインフォントのサイズは無視され、いずれの行に対するベースラインも、行内の最大のテキストのフォントおよびサイズによって決まります。
public function get baselineFontSize():Number public function set baselineFontSize(value:Number):voidArgumentError — 指定された baselineFontSize が、0 未満です。
|
関連項目
| baselineZero | プロパティ |
baselineZero:String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
このブロックから作成した行に対して y=0 であるベースラインを指定します。このプロパティの有効な値は、TextBaseline クラスのメンバー内に含まれます。
デフォルト値は、TextBaseline.ROMAN です。
このプロパティの値を設定するには、次のストリング値を使用します。
| ストリング値 | 説明 |
|---|---|
TextBaseline.ROMAN | 行のローマン体のベースラインが y=0 になります。 |
TextBaseline.ASCENT | 行のアセントのベースラインが y=0 になります。 |
TextBaseline.DESCENT | 行のディセントのベースラインが y=0 になります。 |
TextBaseline.IDEOGRAPHIC_TOP | 行の文字最上部のベースラインが y=0 になります。 |
TextBaseline.IDEOGRAPHIC_CENTER | 行の文字の中心のベースラインが y=0 になります。 |
TextBaseline.IDEOGRAPHIC_BOTTOM | 行の文字最下部のベースラインが y=0 になります。 |
public function get baselineZero():String public function set baselineZero(value:String):voidArgumentError — TextBaseline のメンバーではないいずれかの値に設定する場合。
|
関連項目
| bidiLevel | プロパティ |
bidiLevel:int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキストブロック内のテキストのデフォルトの双方向埋め込みレベルを指定します。偶数値は左から右の方向を意味し、奇数値は右から左の方向を意味します。特定のテキストが左から右または右から左の方向に埋め込まれるレベル数を示すには、bidiLevel をインクリメントすることができます。
デフォルト値は 0 です。
bidiLevel を変更すると、すべての前の改行の有効性が TextLineValidity.INVALID に変わります。bidiLevel の変更後、firstInvalidLine プロパティは firstLine プロパティに等しくなるため、TextBlock のすべての行を再度改行する必要があります。
public function get bidiLevel():int public function set bidiLevel(value:int):voidArgumentError — 0 未満の値に設定する場合。
|
bidiLevel even、次に bidiLevel odd でレンダリングされた同じテキストストリング(論理的順序:a、b、c、alef、bet、gimel)を示します。
package {
import flash.display.Sprite;
import flash.text.engine.TextBlock;
import flash.text.engine.TextElement;
import flash.text.engine.TextLine;
import flash.text.engine.ElementFormat;
import flash.text.engine.FontDescription;
public class TextBlock_bidiLevelExample extends Sprite {
public function TextBlock_bidiLevelExample():void {
var fontSize:Number = 36;
var format:ElementFormat = new ElementFormat();
format.fontDescription = new FontDescription("Adobe Hebrew");
format.fontSize = fontSize;
var y:Number = 0;
var leading:Number = fontSize * 0.2;
var text:String = "abc" + String.fromCharCode(0x05D0, 0x05D1, 0x05D2);
var textBlock:TextBlock = new TextBlock();
textBlock.content = new TextElement(text, format);
// bidiLevel even
textBlock.bidiLevel = 0;
var textLine = textBlock.createTextLine(null, 400);
y += leading + textLine.ascent;
textLine.y = y;
y += textLine.descent;
addChild(textLine);
// bidiLevel odd
textBlock.content = new TextElement(text, format);
textBlock.bidiLevel = 1;
textLine = textBlock.createTextLine(null, 400);
y += leading + textLine.ascent;
textLine.y = y;
addChild(textLine);
}
}
}| content | プロパティ |
content:ContentElement| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキストブロックの内容を保持します。ContentElement は、基本クラスであるため、content を ContentElement サブクラスのインスタンスである、TextElement、GraphicElement または GroupElement に割り当てます。TextElement オブジェクトは String、GraphicElement オブジェクトは DisplayObject、GroupElement は、1 つ以上の TextElement、GraphicElement またはその他の GroupElement オブジェクトを含む Vector オブジェクトをそれぞれ含みます。均一なテキストの段落には TextElement、グラフィックには GraphicElement、テキストエレメントとグラフィックエレメントの組み合わせ、またはこれらのエレメントの複数のインスタンスには GroupElement をその他の GroupElement オブジェクトと共に使用します。
デフォルト値は null です。
content プロパティを変更すると、以前作成されたすべての行の有効性が TextLineValidity.INVALID に変わります。content の変更後、firstInvalidLine プロパティは firstLine プロパティに等しくなるため、TextBlock のすべての行を再度改行する必要があります。
public function get content():ContentElement public function set content(value:ContentElement):voidArgumentError — ContentElement の既知のサブクラスではない値に設定する場合。
| |
ArgumentError — 指定された value は、既にグループのメンバーです。
|
関連項目
| firstInvalidLine | プロパティ |
firstInvalidLine:TextLine [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
TextLine.validity と TextLineValidity.VALID が等しくない、テキストブロックで最初の行を指定します。
デフォルト値は null です。
public function get firstInvalidLine():TextLine関連項目
| firstLine | プロパティ |
firstLine:TextLine [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
TextBlock 内の最初の TextLine(存在する場合)です。
デフォルト値は null です。
public function get firstLine():TextLine関連項目
| lastLine | プロパティ |
lastLine:TextLine [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
TextBlock 内の最後の TextLine(存在する場合)です。
デフォルト値は null です。
public function get lastLine():TextLine関連項目
| lineRotation | プロパティ |
lineRotation:String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキストブロックのテキスト行を単位として回転します。有効にするには createTextLine() メソッドは lineRotation を設定してから呼び出します。デフォルト値は、TextRotation.ROTATE_0 です。
文字の最終的な回転は、ElementFormat.textRotation、ContentElement.textRotation および TextBlock.lineRotation の値によって異なります。
TextBlock.lineRotation は一般に、日中韓のテキストで使用されます。縦書きの日本語テキストの段落を作成するには、次の処理を行います。
TextBlock.lineRotation プロパティを TextRotation.ROTATE_90 に設定します。ElementFormat.textRotation プロパティをデフォルトの TextRotation.AUTO のままにしておきます。このプロパティの値を設定するには、TextRotation クラスで定義される次の定数を使用します。
| ストリング値 | 説明 |
|---|---|
TextRotation.ROTATE_0 | 行は回転しません。 |
TextRotation.ROTATE_90 | 行は時計回りに 90 度回転します。 |
TextRotation.ROTATE_180 | 行は 180 度回転します。 |
TextRotation.ROTATE_270 | 行は時計回りに 270 度回転します。 |
TextRotation.AUTO | サポートされません。 |
public function get lineRotation():String public function set lineRotation(value:String):voidArgumentError — TextRotation のメンバーではないいずれかの値に設定する場合。
| |
ArgumentError — TextRotation.AUTO に設定する場合。
|
関連項目
lineRotation() プロパティを TextRotation.ROTATE_90 に設定して、行を垂直に表示します。
package {
import flash.display.Sprite;
import flash.text.engine.FontDescription;
import flash.text.engine.TextBlock;
import flash.text.engine.TextElement;
import flash.text.engine.TextLine;
import flash.text.engine.TextRotation;
import flash.text.engine.ElementFormat;
public class TextBlock_lineRotationExample extends Sprite {
public function TextBlock_lineRotationExample():void {
var Japanese:String = String.fromCharCode(
0x5185, 0x95A3, 0x5E9C, 0x304C, 0x300C, 0x653F, 0x5E9C, 0x30A4,
0x30F3, 0x30BF, 0x30FC, 0x30CD, 0x30C3, 0x30C8, 0x30C6, 0x30EC,
0x30D3, 0x300D, 0x306E, 0x52D5, 0x753B, 0x914D, 0x4FE1, 0x5411,
0x3051, 0x306B, 0x30A2, 0x30C9, 0x30D3, 0x30B7, 0x30B9, 0x30C6,
0x30E0, 0x30BA, 0x793E, 0x306E
) +
"FMS 2" +
String.fromCharCode(0x3092, 0x63A1, 0x7528, 0x3059, 0x308B, 0x3068,
0x767a, 0x8868, 0x3057, 0x307e, 0x3057, 0x305F, 0x3002);
var fontDescription:FontDescription = new FontDescription("MS Mincho");
var format:ElementFormat = new ElementFormat();
format.fontSize = 15;
format.fontDescription = fontDescription;
var textElement:TextElement = new TextElement(Japanese, format);
var textBlock:TextBlock = new TextBlock();
textBlock.content = textElement;
textBlock.lineRotation = TextRotation.ROTATE_90;
var linePosition:Number = this.stage.stageWidth - 120;
var previousLine:TextLine = null;
while (true) {
var textLine:TextLine = textBlock.createTextLine(
previousLine,
300);
if (textLine == null)
break;
textLine.y = 30;
textLine.x = linePosition;
linePosition -= 24;
addChild(textLine);
previousLine = textLine;
}
}
}
}| tabStops | プロパティ |
tabStops:Vector.<TabStop>| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキストブロック内のテキストのタブストップを TabStop オブジェクトの Vector の形式で指定します。
デフォルト値は null です。これは、タブストップが有効にならないことを意味します。 タブストップが設定されていないときは、タブ文字(\t)があると改行します。
tabStops プロパティが設定されているときは、TextBlock によって内部使用のために Vector のコピーが作成されます。元の Vector またはそのコンテンツを変更しても TextBlock には影響しません。tabStops プロパティを照会すると、内部 Vector のコピーが返されます。この返された Vector またはそのコンテンツを変更しても TextBlock には影響しません。
public function get tabStops():Vector.<TabStop> public function set tabStops(value:Vector.<TabStop>):voidArgumentError — 指定された tabStops に null エレメントが含まれています。
| |
ArgumentError — 指定された tabStops は、位置が大きくなる順にソートされません。
|
関連項目
| textJustifier | プロパティ |
textJustifier:TextJustifier| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
行の作成時に使用する TextJustifier を指定します。
デフォルト値は、作成されるデフォルトの TextJustifier オブジェクトです。
textJustifier プロパティが設定されているときは、TextBlock によって内部使用のためにオブジェクトのコピーが作成されます。元のオブジェクトを変更しても TextBlock には影響しません。textJustifier プロパティを照会すると、内部オブジェクトのコピーが返されます。この返されたオブジェクトを変更しても TextBlock には影響しません。
public function get textJustifier():TextJustifier public function set textJustifier(value:TextJustifier):voidArgumentError — TextJustifier の既知のサブクラスではない値に設定する場合。
|
関連項目
| textLineCreationResult | プロパティ |
textLineCreationResult:String [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
createTextLine() 操作の結果を示します。ブロックの内容が変更されると、以前に改行された行が無効化され、このプロパティが null にリセットされます。
デフォルト値は null です。
このプロパティの値は、TextLineCreationResult 内に含まれます。
| ストリング値 | 説明 |
|---|---|
TextLineCreationResult.SUCCESS | 行が正常に改行されました。 |
TextLineCreationResult.COMPLETE | 作成された新しい行が継続行に完全に整列しており、POSSIBLY_INVALID から VALID に変更されたかまたはブロック内のすべてのテキストが既に改行されていたので、行は作成されませんでした。 |
TextLineCreationResult.INSUFFICIENT_WIDTH | テキストが指定された幅に収まらないので、行は作成されませんでした。 |
public function get textLineCreationResult():String関連項目
| userData | プロパティ |
public var userData:*| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
作成者が任意のデータをテキストブロックに関連付けるための方法を提供します。データは改訂日付や作者名などのコンテンツを指す情報の場合もあれば、処理中に使用するキャッシュされたデータの場合もあります。
| TextBlock | () | コンストラクタ |
public function TextBlock(content:ContentElement = null, tabStops:Vector.<TabStop> = null, textJustifier:TextJustifier = null, lineRotation:String = "rotate0", baselineZero:String = "roman", bidiLevel:int = 0, applyNonLinearFontScaling:Boolean = true, baselineFontDescription:FontDescription = null, baselineFontSize:Number = 12.0)| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
TextBlock オブジェクトを作成します。
パラメータcontent:ContentElement (default = null) — テキストブロックの内容です。
| |
tabStops:Vector.<TabStop> (default = null) — テキストブロック内のテキストのタブストップです。
| |
textJustifier:TextJustifier (default = null) — このブロックの行作成時に使用される TextJustifier オブジェクトです。位置揃えを指定しない場合は、英語ロケールに基づいてデフォルトの位置揃えが作成されます。
| |
lineRotation:String (default = "rotate0") — テキストブロックを単位として生成されるテキスト行に適用する回転です。
| |
baselineZero:String (default = "roman") — ブロック内のすべての行に対して y=0 であるベースラインを指定します。
| |
bidiLevel:int (default = 0) — テキストブロック内のテキストのデフォルトの双方向埋め込みレベルです。
| |
applyNonLinearFontScaling:Boolean (default = true) — WYSIWYG 印刷の再現性を犠牲にして、画面の外観を強調するように指定します。
| |
baselineFontDescription:FontDescription (default = null) — ブロック内のすべての行に対して、行のベースラインの派生元にするフォントの説明を指定します。
| |
baselineFontSize:Number (default = 12.0) — baselineFontDescription に使用するサイズを指定します。このパラメータは、baselineFontDescription が null の場合は無視されます。
|
ArgumentError — 指定された content は、ContentElement の既知のサブクラスではありません。
| |
ArgumentError — 指定された content は、既にグループのメンバーです。
| |
ArgumentError — 指定された lineRotation は、TextRotation のメンバーではありません。
| |
ArgumentError — 指定された baselineZero は、TextBaseline のメンバーではありません。
| |
ArgumentError — 指定された bidiLevel は、0 未満です。
| |
ArgumentError — 指定された tabStops に null エレメントが含まれています。
| |
ArgumentError — 指定された tabStops は、位置が大きくなる順にソートされません。
| |
ArgumentError — 指定された baselineFontSize は、0 未満です。
|
関連項目
| createTextLine | () | メソッド |
public function createTextLine(previousLine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):TextLine| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキストブロックの内容からテキスト行を作成し、その場合に previousLine パラメータで指定されたポイントで開始し、width パラメータで指定されたポイントで改行するように指示します。テキスト行は TextLine オブジェクトで表され、表示リストに追加できます。
既に改行されているテキストブロックの範囲を越えて行を改行すると、改行が発生する領域の内外で行の有効性が変更されることがあります。行のステータスが、VALID から INVALID または POSSIBLY_INVALID に変更されることがあります。新しく改行された行が、ステータスが POSSIBLY_INVALID の前回改行された行に完全に整列している場合、前回改行された行およびそれ以降のすべての POSSIBLY_INVALID の行のステータスが VALID に戻ります。TextLineValidity のメンバーではない値に設定された行の有効性は、VALID には変更されませんが、INVALID には変更されることがあります。テキストブロックに対する変更の後は、再改行するテキスト行を開始または継続する位置を firstInvalidLine プロパティで確認します。
テキストに Unicode Zero Width Space(ZWSP)文字を含めることによって、人為的な単語分割を作成できます。これは、正しく改行するために辞書が必要になるタイ語などの言語の場合に便利です。Flash Player は、このような辞書を含んでいません。
パラメータ
previousLine:TextLine (default = null) — 直前に改行された行を指定します。この行の次から改行処理を開始します。1 行目を改行する場合は null を指定します。
| |
width:Number (default = 1000000) — 線幅をピクセル単位で指定します。実際の幅はより小さくなることがあります。
| |
lineOffset:Number (default = 0.0) — 行の起点とタブストップの起点の差をピクセルで指定するオプションのパラメータです。行は整列していないが、タブを整列させる必要がある場合に使用できます。このパラメータのデフォルト値は 0.0 です。
| |
fitSomething:Boolean (default = false) — 指定された幅には関係なく(例外がスローされる場合もある幅が 0 または負の場合でも)、1 文字以上をテキスト行に収めるように Flash Player に指示するオプションのパラメータです。
|
TextLine — テキスト行。テキストブロックが空か、指定された幅が次のエレメントの幅より小さい場合は null。これらのいずれの場合かを識別するには、テキストブロックの textLineCreationResult プロパティをチェックします。
|
ArgumentError — previousLine で指定された TextLine が有効でない場合。
| |
ArgumentError — width が 0 未満の場合(fitSomething が true の場合を除く)。
| |
ArgumentError — width が TextLine.MAX_LINE_WIDTH より大きい場合。
| |
IllegalOperationError — テキストブロックの 1 つ以上のエレメントに null ElementFormat がある場合。
|
関連項目
createTextLine() メソッドを呼び出して、テキストブロック内にテキスト行を作成します。以下の手順を実行して行います。
createTextLine() を呼び出して、テキストブロックから 300 ピクセルの幅を持つ行を作成します。addChild())に配置し、その位置(x および y)を設定します。
package {
import flash.display.Sprite;
import flash.text.engine.TextBlock;
import flash.text.engine.TextElement;
import flash.text.engine.TextLine;
import flash.text.engine.ElementFormat;
import flash.text.engine.FontDescription;
public class TextBlock_createTextLineExample extends Sprite {
public function TextBlock_createTextLineExample():void {
var str:String = "I am a TextElement, created from a String and assigned " +
"to the content property of a TextBlock. The createTextLine() method " +
"then created these lines, 300 pixels wide, for display." ;
var fontDescription:FontDescription = new FontDescription("Arial");
var format:ElementFormat = new ElementFormat(fontDescription);
format.fontSize = 16;
var textElement:TextElement = new TextElement(str, format);
var textBlock:TextBlock = new TextBlock();
textBlock.content = textElement;
createLines(textBlock);
}
private function createLines(textBlock:TextBlock):void
{
var lineWidth:Number = 300;
var xPos:Number = 15.0;
var yPos:Number = 20.0;
var textLine:TextLine = textBlock.createTextLine (null, lineWidth);
while (textLine)
{
textLine.x = xPos;
textLine.y = yPos;
yPos += textLine.height + 2;
addChild (textLine);
textLine = textBlock.createTextLine (textLine, lineWidth);
}
}
}
}| dump | () | メソッド |
public function dump():String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
TextBlock の基になるコンテンツを XML ストリングとしてダンプします。これは自動化されたテストで役立ちます。これにはテキスト、書式およびレンダリング情報が含まれます。Flash Player デバッグ版でのみ使用可能です。
メモ : コンテンツおよび出力のフォーマットは、今後変更される可能性があります。アドビ システムズ社は、このメソッドの後方互換性は保証しません。
次の表で出力について説明します。
| タグ | 属性 | 説明 |
|---|---|---|
<block> | TextBlock | |
<line | TextLine | |
s= | インライン実行エレメントの開始 | |
l= | インライン実行エレメントの制限 | |
> | line タグの終了 | |
<run | 行のエレメント | |
s= | インライン実行エレメントの開始 | |
l= | インライン実行エレメントの制限 | |
> | run タグの終了 | |
<inter | inter エレメント | |
cursor= | 文字カーソル(元のテキストへのインデックス) | |
tcb= | タイポグラフィッククラスタ境界 | |
wb= | 単語境界 | |
lbo= | 改行の条件 | |
lb= | 実際の改行 | |
/> | inter タグの終了 | |
<char | 文字エレメント | |
usv= | Unicode のスカラ値 | |
/> | char タグの終了 | |
<glyph | 計算された文字または形成された文字のエレメント | |
font= | フォント名 | |
gid= | 文字インデックス | |
xa= | xAdvance | |
ya= | yAdvance | |
xp= | xPlacement | |
yp= | yPlacement | |
r= | 回転 | |
color= | 色 | |
xP= | xPosition | |
yP= | yPosition | |
attached= | 2 つのエレメントがアタッチされているかどうか | |
itcbo= | 内部タイポグラフィッククラスタ境界のオフセット | |
bl= | 双方向レベル | |
sc= | spacing クラス | |
/> | glyph タグの終了 | |
<fo | グラフィックエレメント | |
id= | エレメント ID | |
xa= | xAdvance | |
ya= | yAdvance | |
xp= | xPlacement | |
yp= | yPlacement | |
r= | 回転 | |
color= | 色 | |
xP= | xPosition | |
yP= | yPosition | |
lb= | 左揃え | |
rb= | 右揃え | |
tb= | 上揃え | |
bb= | 下揃え | |
itcbo= | 内部タイポグラフィッククラスタ境界のオフセット | |
bl= | 双方向レベル | |
sc= | spacing クラス | |
/> | fo タグの終了 | |
<embeddedRun | 埋め込み範囲 | |
xa= | xAdvance | |
ya= | yAdvance | |
xp= | xPlacement | |
yp= | yPlacement | |
r= | 回転 | |
xP= | xPosition | |
yP= | yPosition | |
> | embeddedRun タグの終了 | |
<run> | 実行 | |
</run> | run タグの終了 | |
</embeddedRun> | embeddedRun タグの終了 | |
<carets | 行のキャレット | |
s= | インライン実行エレメントの開始 | |
l= | インライン実行エレメントの制限 | |
> | carets タグの終了 | |
<cursor> | カーソル | |
x= | 左側の x 位置 | |
/> | cursor タグの終了 | |
<cluster | クラスタ | |
c= | 中央位置 | |
s= | tc オフセットの開始 | |
l= | tc オフセットの制限 | |
bidi | 双方向レベル | |
/> | cluster タグの終了 | |
</carets> | carets タグの終了 | |
</line> | line タグの終了 | |
</block> | block タグの終了 |
String |
関連項目
| findNextAtomBoundary | () | メソッド |
public function findNextAtomBoundary(afterCharIndex:int):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定された文字インデックスの次のアトム境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。アトム境界間の文字は結合されて、「e」と結合されるアキュートアクセントのように、TextLine で 1 つのアトムを形成します。
パラメータ
afterCharIndex:int — 次のアトム境界の検索を開始する文字のインデックスを指定します。
|
int — 指定された文字インデックスの次のアトム境界のインデックスです。
|
RangeError — 指定された index は範囲外です。
| |
IllegalOperationError — このインデックス位置の文字が含まれる TextLine は無効です。
|
関連項目
| findNextWordBoundary | () | メソッド |
public function findNextWordBoundary(afterCharIndex:int):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定された文字インデックスの次の単語境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。単語境界は、文字の Unicode プロパティに基づいて決定されます。
パラメータ
afterCharIndex:int — 次の単語境界の検索を開始する文字のインデックスを指定します。
|
int — 指定された文字インデックスの次の単語境界のインデックスです。
|
RangeError — 指定された index は範囲外です。
| |
IllegalOperationError — このインデックス位置の文字が含まれる TextLine は無効です。
|
| findPreviousAtomBoundary | () | メソッド |
public function findPreviousAtomBoundary(beforeCharIndex:int):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定された文字インデックスの前のアトム境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。アトム境界間の文字は結合されて、「e」と結合されるアキュートアクセントのように、TextLine で 1 つのアトムを形成します。
パラメータ
beforeCharIndex:int — 前のアトム境界の検索を開始する文字のインデックスを指定します。
|
int — 指定された文字インデックスの前のアトム境界のインデックスです。
|
RangeError — 指定された index は範囲外です。
| |
IllegalOperationError — このインデックス位置の文字が含まれる TextLine は無効です。
|
関連項目
| findPreviousWordBoundary | () | メソッド |
public function findPreviousWordBoundary(beforeCharIndex:int):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定された文字インデックスの前の単語境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。単語境界は、文字の Unicode プロパティに基づいて決定されます。
パラメータ
beforeCharIndex:int — 前の単語境界の検索を開始する文字のインデックスを指定します。
|
int — 指定された文字インデックスの前の単語境界のインデックスです。
|
RangeError — 指定された index は範囲外です。
| |
IllegalOperationError — このインデックス位置の文字が含まれる TextLine は無効です。
|
| getTextLineAtCharIndex | () | メソッド |
public function getTextLineAtCharIndex(charIndex:int):TextLine| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
charIndex パラメータで指定された位置の文字を含む TextLine を返します。
パラメータ
charIndex:int — 文字の 0 から始まるインデックス値です。つまり、最初の文字は 0、2 番目の文字は 1 で、以下同様に続きます。
|
TextLine — charIndex で指定された位置の文字を含む TextLine です。
|
RangeError — 指定された文字インデックスは範囲外です。
|
| releaseLines | () | メソッド |
public function releaseLines(firstLine:TextLine, lastLine:TextLine):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
TextBlock によって維持される行のリストから、テキスト行の範囲を削除します。これにより、他の参照が存在しない場合、行がガベージコレクションされます。
削除された行の textBlock、nextLine および previousLine メンバーを null に設定します。TextBlock の削除された行および削除された行の後のすべての行の validity を TextLineValidity.INVALID に設定します。
パラメータ
firstLine:TextLine — リリースされる最初の行を指定します。
| |
lastLine:TextLine — リリースされる最後の行を指定します。
|
ArgumentError — firstLine または lastLine によって指定される TextLine が、テキストブロックによって維持されるテキスト行のリストにない場合。
|
関連項目
package {
import fl.controls.Button;
import flash.text.engine.TextBlock;
import flash.text.engine.TextLine;
import flash.text.engine.TextElement;
import flash.text.engine.ElementFormat;
import flash.text.engine.TextRotation;
import flash.text.engine.TextBaseline;
import flash.text.engine.LineJustification;
import flash.text.engine.FontDescription;
import flash.text.engine.EastAsianJustifier;
import flash.display.Loader;
import flash.display.Sprite;
import flash.display.Stage;
import flash.events.MouseEvent;
import flash.system.Capabilities;
public class TextBlockExample extends Sprite {
var vertical:Boolean;
var container:Sprite;
var textBlocks:Vector.<TextBlock>;
var loader:Loader = new Loader();
var directionButton:Button = new Button();
public function TextBlockExample():void {
addChild(directionButton);
directionButton.width = 30;
directionButton.move(50, 350);
directionButton.addEventListener(MouseEvent.CLICK, clickHandler);
createContent();
createLines();
}
private function createEmptyBlock():TextBlock {
var textBlock:TextBlock = new TextBlock();
textBlock.baselineZero = TextBaseline.IDEOGRAPHIC_CENTER;
textBlock.textJustifier = new EastAsianJustifier("ja", LineJustification.ALL_BUT_LAST);
textBlock.lineRotation = vertical? TextRotation.ROTATE_90: TextRotation.ROTATE_0;
return textBlock;
}
private function paragraph1(format:ElementFormat):TextBlock {
var textBlock:TextBlock = createEmptyBlock();
textBlock.content = new TextElement(
String.fromCharCode(
0x5185, 0x95A3, 0x5E9C, 0x304C, 0x300C, 0x653F, 0x5E9C, 0x30A4,
0x30F3, 0x30BF, 0x30FC, 0x30CD, 0x30C3, 0x30C8, 0x30C6, 0x30EC,
0x30D3, 0x300D, 0x306E, 0x52D5, 0x753B, 0x914D, 0x4FE1, 0x5411,
0x3051, 0x306B, 0x30A2, 0x30C9, 0x30D3, 0x30B7, 0x30B9, 0x30C6,
0x30E0, 0x30BA, 0x793E, 0x306E
) +
"FMS 2" +
String.fromCharCode(0x3092, 0x63A1, 0x7528, 0x3059, 0x308B, 0x3068,
0x767a, 0x8868, 0x3057, 0x307e, 0x3057, 0x305F, 0x3002), format);
return textBlock;
}
private function paragraph2(format:ElementFormat):TextBlock {
var textBlock:TextBlock = createEmptyBlock();
textBlock.content = new TextElement(
String.fromCharCode(
0x30AF, 0x30ED, 0x30B9, 0x30D7, 0x30E9, 0x30C3, 0x30C8, 0x30D5,
0x30A9, 0x30FC, 0x30E0, 0x4E0A, 0x3067, 0x518D, 0x751F, 0x53EF,
0x80FD, 0x306A
) +
"Flash Video" +
String.fromCharCode(
0x3092, 0x914D, 0x4FE1, 0x3001, 0x653F, 0x5E9C, 0x6700, 0x65B0,
0x60C5, 0x5831, 0x3092, 0x3088, 0x308A, 0x591A, 0x304F, 0x306E,
0x56FD, 0x6C11, 0x306B, 0x9AD8, 0x54C1, 0x8CEA, 0x306A, 0x753B,
0x50CF, 0x3067, 0x7C21, 0x5358, 0x304B, 0x3064, 0x30EA, 0x30A2,
0x30EB, 0x30BF, 0x30A4, 0x30E0, 0x306B, 0x63D0, 0x4F9B, 0x3059,
0x308B, 0x3053, 0x3068, 0x304C, 0x53EF, 0x80FD, 0x306B, 0x306A,
0x308A, 0x307e, 0x3057, 0x305F, 0x3002), format);
return textBlock;
}
private function paragraph3(format:ElementFormat):TextBlock {
var textBlock:TextBlock = createEmptyBlock();
textBlock.content = new TextElement(
String.fromCharCode(0x3010) +
"2007" +
String.fromCharCode(0x5E74) + "2" + String.fromCharCode(0x6708) +
"21" +
String.fromCharCode(0x65E5, 0x3011),
format);
return textBlock;
}
private function createContent():void {
var font:FontDescription = new FontDescription();
if (Capabilities.os.search("Mac OS") > -1)
font.fontName = String.fromCharCode(0x5C0F, 0x585A, 0x660E, 0x671D) + " Pro R"; // "Kozuka Mincho Pro R" koFont.fontName = "Adobe " + String.fromCharCode(0xBA85, 0xC870) + " Std M"; // "Adobe Myungjo Std M"
else
font.fontName = "Kozuka Mincho Pro R";
var format:ElementFormat = new ElementFormat();
format.fontDescription = font;
format.fontSize = 12;
format.locale = "ja";
format.color = 0x000000;
if (!vertical)
format.textRotation = TextRotation.ROTATE_0;
textBlocks = new Vector.<TextBlock>();
textBlocks.push(
paragraph1(format),
paragraph2(format),
paragraph3(format)//,
);
}
private function createLines():void {
if (container != null) {
removeChild(container);
}
container = new Sprite();
container.y = 45;
container.x = 40;
addChild(container);
var linePosition:Number = vertical? this.stage.stageWidth - 120: 12;
for (var i:uint = 0; i < textBlocks.length; i++) {
var textBlock:TextBlock = textBlocks[i];
var previousLine:TextLine = null;
while (true) {
var textLine:TextLine = textBlock.createTextLine(
previousLine,
300);
if (textLine == null)
break;
if (vertical)
{
textLine.x = linePosition;
linePosition -= 24;
directionButton.label = " -- ";
}
else
{
textLine.y = linePosition+50;
linePosition += 24;
directionButton.label = " | ";
}
container.addChild(textLine);
previousLine = textLine;
}
if (vertical)
linePosition -= 16;
else
linePosition += 16;
}
}
private function clickHandler(event:MouseEvent):void {
vertical = !vertical;
createContent();
createLines();
}
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/text/engine/TextBlock.html