flash.text.engineTextLine TextLine クラスは、テキストを表示リストに表示するために使用されます。flash.display:DisplayObjectContainer TextLine クラスは、テキストを表示リストに表示するために使用されます。

ActionScript コードから直接 TextLine オブジェクトを作成することはできません。new TextLine() を呼び出すと、例外がスローされます。TextLine オブジェクトを作成するには、TextBlock の createTextLine() メソッドを呼び出します。

TextLine は、コンテンツの生成と、行のアトムのプロパティを記述したメソッドによるインタラクティビティの提供に最低限必要な情報をカプセル化します。アトムとは、グラフィックエレメントと文字(結合された文字のグループを含む)の両方、テキスト行を構成する分割できないエンティティを指す用語です。

テキスト行に対する通常のイベント送出処理が終了した後で、テキスト行が有効な場合は、テキスト行に指定されるコンテンツエレメントオブジェクトの eventMirror プロパティで指定されるイベントディスパッチャにイベントがミラーされます。これらのオブジェクトは、TextLine.mirrorRegions プロパティに記録されます。イベント通知が失敗または停止した場合や、テキスト行が有効ではない場合は、イベントがミラーされません。

マウスイベントのミラーは特殊なケースです。ミラー領域は実際には表示オブジェクトではないので、mouseOver イベントと mouseOut イベントはシミュレートされます。rollOver イベントと rollOut イベントはシミュレートされません。自然に発生するすべての mouseOver イベント、mouseOut イベント、rollOver イベントおよび rollOut イベントは、そのターゲットがテキスト行であるか、テキスト行の子であるかに関係なしに無視され、ミラーされません。

TextLine オブジェクトの起点は、ベースラインの先頭です。欧文ベースラインにラテン語のテキストがある行の垂直位置(y プロパティ)を設定しない場合は、Sprite の最上部の下にテキストのディセンダだけが表示されるので、そこにテキスト行を追加します。次の図を参照してください。

TextLine クラスには、DisplayObjectContainer、InteractiveObject、DisplayObject、EventDispatcher などの祖先クラスがあり、これらからプロパティやメソッドを継承します。以下に示す継承プロパティは TextLine オブジェクトに適用できません。

  • contextMenu
  • focusRect
  • tabChildren
  • tabEnabled
  • tabIndex

これらのプロパティを設定しようとすると、テキストエンジンから IllegalOperationError のエラーがスローされます。これらのプロパティは読み取ることはできますが、常にデフォルト値が設定されています。

次の例では、様々なテキスト行およびテキストブロックでアトムを介して、getAtomBounds() を使用して、各テキスト行にフレームを作成する手順を表示します。
  1. NumericStepper コンポーネントをライブラリに追加します。
  2. このコードを FLA と同じディレクトリに TextLineExample.as という名前で保存します。
  3. FLA のプロパティウィンドウでクラスを TextLineExample に設定します。
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; import flash.text.engine.FontPosture; import flash.text.engine.FontWeight; import fl.controls.NumericStepper; import flash.events.Event; import flash.geom.Rectangle; public class TextLineExample extends Sprite { private var atomStepper:NumericStepper = new NumericStepper(); private var atomDataContainer:Sprite; private var fontDescriptionItalic:FontDescription = new FontDescription("Arial", FontWeight.NORMAL, FontPosture.ITALIC); private var fontDescriptionNormal:FontDescription = new FontDescription("Arial", FontWeight.NORMAL , FontPosture.NORMAL); private var textBlock:TextBlock = new TextBlock(); private var textLine:TextLine; public function TextLineExample():void { var myText:String = "I am a TextElement, created from a String and assigned " + "to the content property of a TextBlock. From the text block, " + "the createTextLine() method created these lines, 300 pixels wide, " + "for display." ; atomStepper.minimum = 0; atomStepper.value = 0; atomStepper.width = 50; addChild(atomStepper); atomStepper.x = 20; atomStepper.y = 120; atomStepper.addEventListener(Event.CHANGE, nsChange); var directions:String = "Click up / down arrows to frame atoms in text block above."; var formatItalic:ElementFormat = new ElementFormat(fontDescriptionItalic); formatItalic.fontSize = 12; var textElement1:TextElement = new TextElement(directions, formatItalic); textBlock.content = textElement1; createLines(textBlock, 15, 160, 400, this); var formatNormal:ElementFormat = new ElementFormat(fontDescriptionNormal); formatNormal.fontSize = 16; var textElement2:TextElement = new TextElement(myText, formatNormal); textBlock.content = textElement2; createLines(textBlock, 15.0, 20.0, 300, this); textLine = textBlock.firstLine; atomStepper.maximum = textLine.atomCount - 1; showAtom(textLine, 0); } private function nsChange(event:Event):void { removeAtom(textLine); if (atomStepper.value == textLine.atomCount - 1) { if(textLine != textBlock.lastLine) { textLine = textLine.nextLine; atomStepper.maximum = textLine.atomCount - 1; atomStepper.value = 0; } } showAtom(textLine, atomStepper.value); } private function createLines(textBlock, startX, startY, width, container) { var textLine:TextLine = textBlock.createTextLine (null, width); while (textLine) { textLine.x = startX; textLine.y = startY; startY += textLine.height + 2; container.addChild(textLine); textLine = textBlock.createTextLine (textLine, width); } } private function showAtom(textLine, i):void { var box:Sprite = new Sprite(); var mcGraphics = box.graphics; var bounds:Rectangle = textLine.getAtomBounds(i); mcGraphics.lineStyle(1, 0xFF0000, 1.0); mcGraphics.drawRect(bounds.left, bounds.top, bounds.width, bounds.height); textLine.userData = textLine.addChild(box); displayAtomData(textLine,i); } private function displayAtomData(textLine, i) { if(atomDataContainer != null) removeChild(atomDataContainer); atomDataContainer=new Sprite(); var format = new ElementFormat(fontDescriptionNormal); format.color = 0x00000FF; var n:int = 0; var nxtY:Number = 0; var atomInfo:String = "value of getAtomBidiLevel() is: " + textLine.getAtomBidiLevel(i)+"\n" +"value of getAtomCenter() is: " + textLine.getAtomCenter(i)+"\n" +"value of getAtomIndexAtCharIndex() is: " + textLine.getAtomIndexAtCharIndex(i)+"\n" +"value of getAtomTextBlockBeginIndex() is: " + textLine.getAtomTextBlockBeginIndex(i)+"\n" +"value of getAtomTextBlockEndIndex() is: " + textLine.getAtomTextBlockEndIndex(i)+"\n" +"value of getAtomTextRotation() is: " + textLine.getAtomTextRotation(i)+"\n"; var atomtextBlock:TextBlock = new TextBlock(); var textElement3:TextElement = new TextElement(atomInfo, format); atomtextBlock.content = textElement3; createLines(atomtextBlock,20,200,500, atomDataContainer) addChild(atomDataContainer); } private function removeAtom(textLine):void { textLine.removeChild(textLine.userData); } } }
ContentElement.eventMirrorTextBlock.createTextLine()TextLineValiditydump TextLine の基になるコンテンツを XML ストリングとしてダンプします。String TextLine の基になるコンテンツを XML ストリングとしてダンプします。これにはテキスト、書式およびレイアウト情報が含まれており、自動化されたテストで役立ちます。

次に出力について説明します。

	 [LINE]
	 <line ascent=[Number] descent=[Number] rotation=[int]>
	 	<elements>
	 		[0-N ELEMENT]
	 	</elements>
	 	<clusters>
	 		[0-N CLUSTER]
	 	</clusters>
	 </line>
	 
	 [ELEMENT]
	 <glyph isEmbedded=[Boolean] fontName=[String] isBold=[Boolean] isItalic=[Boolean] gid=[int] pointSize=[Number] x=[Number] y=[Number] rotation=[int]/>
	 or
	 <graphic child=[int] x=[Number] y=[Number] rotation=[int]/>
	 or
	 <embeddedRun x=[Number] y=[Number]>
	 	[LINE]
	 </embeddedRun>
	 
	 [CLUSTER]
	 <cluster xLeft=[Number] xCenter=[Number] xRight=[Number] cursorOnLeft=[Boolean] cursorOnRight=[Boolean] wordBoundaryOnLeft=[Boolean] wordBoundaryOnRight=[Boolean]/>
	 

注意:このメソッドからのコンテンツおよび出力のフォーマットは、今後変更される可能性があります。アドビ システムズ社は、このメソッドの後方互換性は保証していません。

TextBlock.dump()
flushAtomData このメソッドは使用されなくなり、効果はありません。現在は何も実行されません このメソッドは使用されなくなり、効果はありません。アトムデータは圧縮されており、メモリ使用率の管理における要因とはなりません。 TextBlock.dump()getAtomBidiLevel 指定されたインデックス位置にあるアトムの双方向レベルを取得します。指定されたアトムのインデックスは範囲外です。 RangeErrorRangeError行の validity は、TextLineValidity.STATIC です。 IllegalOperationErrorflash.errors:IllegalOperationErroratomIndex で指定された位置のアトムの双方向レベルです。 intatomIndexintアトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。 指定されたインデックス位置にあるアトムの双方向レベルを取得します。TextBlock.bidiLevel と行を構成する文字の Unicode の双方向プロパティの組み合わせで決まります。

例えば、テキストブロックがヘブライ語のテキストで始まる場合、TextBlock.bidiLevel に 1 を設定して、右から左方向をデフォルトに設定します。テキストの中に英語の引用(左から右方向)がある場合は、そのテキストの AtomBidiLevel には 2 が設定されています。その英語の中にアラビア語(右から左方向)が入っている場合には、AtomBidiLevel は 3 になります。アラビア語の中で数字(左から右方向)が出てくる場合は、その数字の AtomBidiLevel の設定値は 4 です。アトムがどの行で終わるかは関係ありません。ヘブライ語のアトムは AtomBidiLevel が 1、英語のアトムは AtomBidiLevel が 2、アラビア語のアトムは AtomBidiLevel が 3、数字のアトムは AtomBidiLevel が 4 です。

TextBlock.bidiLevel
getAtomBounds テキスト行を基準として、指定されたインデックス位置にあるアトムの境界を取得します。指定されたアトムのインデックスは範囲外です。 RangeErrorRangeError行の validity は、TextLineValidity.STATIC です。 IllegalOperationErrorflash.errors:IllegalOperationErroratomIndex で指定された位置のアトムの境界です。 flash.geom:RectangleatomIndexintアトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。 テキスト行を基準として、指定されたインデックス位置にあるアトムの境界を取得します。指定されたアトムの境界は、行の水平座標(x)、行の垂直座標(y)、幅(w)および高さ(h)で構成されます。すべての値はピクセル単位です。 getAtomCenter 指定されたインデックス位置にあるベースラインに従って測定したアトムの中心を取得します。指定されたアトムのインデックスは範囲外です。 RangeErrorRangeError行の validity は、TextLineValidity.STATIC です。 IllegalOperationErrorflash.errors:IllegalOperationErroratomIndex で指定された位置のアトムの中心です。 NumberatomIndexintアトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。 指定されたインデックス位置にあるベースラインに従って測定したアトムの中心を取得します。 getAtomGraphic 指定されたインデックス位置にあるアトムのグラフィックを取得します(アトムが文字の場合は null)。指定されたアトムのインデックスは範囲外です。 RangeErrorRangeError行の validity は、TextLineValidity.STATIC です。 IllegalOperationErrorflash.errors:IllegalOperationErroratomIndex で指定された位置のアトムのグラフィックです。 flash.display:DisplayObjectatomIndexintアトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。 指定されたインデックス位置にあるアトムのグラフィックを取得します(アトムが文字の場合は null)。 getAtomIndexAtCharIndex charIndex パラメーターで指定された文字を含むアトムのインデックスを返します。行内の各アトムにその文字が指定されていない場合は -1 を返します。行の validity は、TextLineValidity.STATIC です。 IllegalOperationErrorflash.errors:IllegalOperationErrorcharIndex の位置にある文字を含むアトムのインデックスです。行内の各アトムにその文字が指定されていない場合は -1 を返します。 intcharIndexint文字の 0 から始まるインデックス値です。つまり、最初の文字は 0、2 番目の文字は 1 で、以下同様に続きます。 charIndex パラメーターで指定された文字を含むアトムのインデックスを返します。行内の各アトムにその文字が指定されていない場合は -1 を返します。charIndex は、行を含むテキストブロックのコンテンツ全体に対する相対的な値です。 getAtomIndexAtPoint x パラメーターおよび y パラメーターで指定されたポイントにあるアトムのインデックスを返します。そのポイントにアトムがない場合は -1 を返します。行の validity は、TextLineValidity.STATIC です。 IllegalOperationErrorflash.errors:IllegalOperationErrorこのポイントにあるアトムのインデックスです。指定されたポイントがどのアトムの上にもない場合は -1 を返します。 intstageXNumber検査対象のポイントのグローバル x 座標です。 stageYNumber検査対象のポイントのグローバル y 座標です。 x パラメーターおよび y パラメーターで指定されたポイントにあるアトムのインデックスを返します。そのポイントにアトムがない場合は -1 を返します。

このメソッドが取り出す座標値はグローバル座標なので、MouseEvent.stageX および MouseEvent.stageY プロパティと一緒に使うことが簡単にできます。

getAtomTextBlockBeginIndex 指定されたインデックス位置にあるアトムのテキストブロック開始インデックスを取得します。指定されたアトムのインデックスは範囲外です。 RangeErrorRangeError行の validity は、TextLineValidity.STATIC です。 IllegalOperationErrorflash.errors:IllegalOperationErroratomIndex で指定された位置のアトムのテキストブロック開始インデックスです。 intatomIndexintアトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。 指定されたインデックス位置にあるアトムのテキストブロック開始インデックスを取得します。 getAtomTextBlockEndIndex 指定されたインデックス位置にあるアトムのテキストブロック終了インデックスを取得します。指定されたアトムのインデックスは範囲外です。 RangeErrorRangeError行の validity は、TextLineValidity.STATIC です。 IllegalOperationErrorflash.errors:IllegalOperationErroratomIndex で指定された位置のアトムのテキストブロック終了インデックスです。 intatomIndexintアトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。 指定されたインデックス位置にあるアトムのテキストブロック終了インデックスを取得します。 getAtomTextRotation 指定されたインデックス位置にあるアトムの回転を取得します。指定されたアトムのインデックスは範囲外です。 RangeErrorRangeError行の validity は、TextLineValidity.STATIC です。 IllegalOperationErrorflash.errors:IllegalOperationErroratomIndex で指定された位置のアトムの回転です。 StringatomIndexintアトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。 指定されたインデックス位置にあるアトムの回転を取得します。このプロパティには、TextRotation 定数が使用されます。アトムの回転は、エレメントおよび行の累積された回転です。主に、TextLine を操作するときにキャレット(カーソル)の方向を設定するために使用されます。 ElementFormat.textRotationgetAtomWordBoundaryOnLeft 指定されたインデックス位置にあるアトムの左側に単語境界があるかどうかを示します。指定されたアトムのインデックスは範囲外です。 RangeErrorRangeError行の validity は、TextLineValidity.STATIC です。 IllegalOperationErrorflash.errors:IllegalOperationErroratomIndex で指定された位置のアトムの左側に単語境界があるかどうかを示すブール値です。 BooleanatomIndexintアトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。 指定されたインデックス位置にあるアトムの左側に単語境界があるかどうかを示します。単語境界は、行に指定される文字の Unicode プロパティに基づいて決定されます。 getBaselinePosition TextBlock.baselineZero を基準にして、指定されたベースラインの位置を取得します。指定された baseline が、TextBaseline のメンバーでない場合。 ArgumentErrorArgumentErrorTextBlock.baselineZero を基準とする、指定されたベースラインの位置です。 NumberbaselineString位置を取得するベースラインです。TextBaseline の値を使用します。 TextBlock.baselineZero を基準にして、指定されたベースラインの位置を取得します。 TextBlock.baselineZeroTextBaselinegetMirrorRegion mirror パラメーターの指定と mirror プロパティが一致する、行の最初の TextLineMirrorRegion を返します。一致しない場合は null を返します。指定された値と mirror プロパティが一致する行の最初の TextLineMirrorRegion です。一致しない場合は null になります。 flash.text.engine:TextLineMirrorRegionmirrorflash.events:EventDispatcher検索対象の EventDispatcher ミラーオブジェクトです。 mirror パラメーターの指定と mirror プロパティが一致する行の最初の TextLineMirrorRegion を返します。一致しない場合は null を返します。

単一の TextElement でも、双方向および改行の状態によっては 1 行または複数行に対する複数の TextLineMirrorRegion オブジェクトを作成できます。nextRegion および previousRegion プロパティは、1 つのテキストエレメントから生成されたすべてのミラー領域をリンクします。

TextLineMirrorRegionContentElement.eventMirror
MAX_LINE_WIDTH テキスト行の最大要求幅(ピクセル単位)です。1000000int テキスト行の最大要求幅(ピクセル単位)です。 TextBlock.createTextLine() メソッドはこの定数を width パラメーターの値を指定しない場合のデフォルト値として使用します。 TextBlock.createTextLine()userData アプリケーションが任意のデータをテキスト行に関連付けるための方法を提供します。 アプリケーションが任意のデータをテキスト行に関連付けるための方法を提供します。 ascent 行の基準から最も高さのある文字の最上部までのピクセル数を指定します。Number 行の基準から最も高さのある文字の最上部までのピクセル数を指定します。グラフィックエレメントのみを含む TextLine については、ascent を 0 に設定します。 atomCount 行内のアトムの数、つまりスペースおよびグラフィックエレメントを含む、分割できないエレメントの数です。int行の validity は、TextLineValidity.STATIC です。 IllegalOperationErrorflash.errors:IllegalOperationError 行内のアトムの数、つまりスペースおよびグラフィックエレメントを含む、分割できないエレメントの数です。 descent 行の基準から最も下に突き出している文字の最下部までのピクセル数を指定します。Number 行の基準から最も下に突き出している文字の最下部までのピクセル数を指定します。グラフィックエレメントのみを含む TextLine については、descent を 0 に設定します。 hasGraphicElement テキスト行がグラフィックエレメントを含んでいるかどうかを示します。Boolean テキスト行がグラフィックエレメントを含んでいるかどうかを示します。 GraphicElementhasTabs テキスト行がタブを含んでいるかどうかを示します。Boolean テキスト行がタブを含んでいるかどうかを示します。 mirrorRegions 行に関連付けられた、TextLineMirrorRegion オブジェクトを含む Vector です。存在しない場合は null になります。 行に関連付けられた、TextLineMirrorRegion オブジェクトを含む Vector です。存在しない場合は null になります。 ContentElement.eventMirrorTextLineMirrorRegionnextLine TextBlock 内の次の TextLine。現在の線がブロック内の最後の行である場合、または行の有効性が TextLineValidity.STATIC の場合は null になります。flash.text.engine:TextLine TextBlock 内の次の TextLine または null(現在の線がブロック内の最後の行である場合、または行の有効性が TextLineValidity.STATIC の場合)。 previousLinepreviousLine TextBlock 内の前の TextLine。これがブロック内の最初の行である場合、または行の有効性が TextLineValidity.STATIC の場合は null になります。flash.text.engine:TextLine TextBlock 内の前の TextLine。これがブロック内の最初の行である場合、または行の有効性が TextLineValidity.STATIC の場合は null になります。 nextLinerawTextLength グラフィックエレメントを表す U+FDEF 文字および行の一部だが表示されない行末の空白を含む、行になったテキストブロック内の生のテキストの長さです。int グラフィックエレメントを表す U+FDEF 文字および行の一部だが表示されない行末の空白を含む、行になったテキストブロック内の生のテキストの長さです。 TextBlockContentElement.rawTextspecifiedWidth 行を作成したときに、TextBlock.createTextLine() メソッドに対して指定された幅です。Number 行を作成したときに、TextBlock.createTextLine() メソッドに対して指定された幅です。この値は、変更によって行の改行処理が再度必要になるのかどうかを判断するときに便利です。 TextBlock.createTextLine()textWidthunjustifiedTextWidthtextBlockBeginIndex テキストブロックの生のテキストで、行の最初にあたる文字のインデックスです。int テキストブロックの生のテキストで、行の最初にあたる文字のインデックスです。 TextBlocktextBlock このテキスト行を含む TextBlock。または行の有効性が TextLineValidity.STATIC の場合は null になります。これは、行と TextBlock 間の接続が有効にされていることを意味します。flash.text.engine:TextBlock このテキスト行を含む TextBlock。または行の有効性が TextLineValidity.STATIC の場合は null になります。これは、行と TextBlock 間の接続が有効にされていることを意味します。 TextBlockTextLineValiditytextHeight テキスト行の論理的な高さ、つまり ascent + descent に等しくなります。Number テキスト行の論理的な高さ、つまり ascent + descent に等しくなります。インキが使用される高さを取得するには、継承された height プロパティにアクセスします。

値は、TextBlock.baselineZero が文字であるかどうかにより、行を結合する文字の最上部と最下部、またはアセントとディセントのいずれかの基準間の差に基づいて計算されます。グラフィックエレメントは、これらの基準の計算では考慮されません。

DisplayObject.height
textWidth テキスト行の論理的な幅です。テキストエンジンが行をレイアウトするのに使用します。Number テキスト行の論理的な幅です。テキストエンジンが行をレイアウトするのに使用します。継承された width プロパティにアクセスし、描画されたすべてのピクセルによる境界ボックスの実際の幅を取得します。 この例では、以前の標準の傾きおよび以前のイタリックの行が表示されています。また、それぞれの場合に specifiedWidthtextWidth および width の各プロパティの値をトレースします。トレース出力は次のとおりです。
  • specifiedWidth:500
  • textWidth:268.9921875
  • width:269
  • specifiedWidth:500
  • textWidth:267.52734375
  • width:267.55
package { import flash.display.Sprite; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.FontDescription; import flash.text.engine.ElementFormat; import flash.text.engine.FontPosture; public class TextLine_textWidthExample extends Sprite { public function TextLine_textWidthExample() { var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, "; var yPos:Number = 20; var fontDescription:FontDescription = new FontDescription(); var textBlock:TextBlock = new TextBlock(); fontDescription.fontPosture = FontPosture.NORMAL; var format:ElementFormat = new ElementFormat(fontDescription, 12); var textElement:TextElement = new TextElement(str, format); textBlock.content = textElement; createLine(textBlock, yPos); var fontDescriptionItalic = fontDescription.clone(); fontDescriptionItalic.fontPosture = FontPosture.ITALIC; var formatItalic = new ElementFormat(fontDescriptionItalic, 12); textElement = new TextElement(str, formatItalic); textBlock.content = textElement; createLine(textBlock, yPos + 20); } private function createLine(textBlock:TextBlock, yPos:Number):void { var textLine:TextLine = textBlock.createTextLine (null, 500); trace("specifiedWidth is: " + textLine.specifiedWidth); trace("textWidth is: " + textLine.textWidth); trace("width is: " + textLine.width); addChild(textLine); textLine.x = 15; textLine.y = yPos; } } }
specifiedWidthDisplayObject.width
totalAscent 行のベースラインから最も高さのある文字またはグラフィックの最上部までのピクセル数を指定します。Number 行のベースラインから最も高さのある文字またはグラフィックの最上部までのピクセル数を指定します。 totalDescent 行のベースラインから最も下に突き出している文字またはグラフィックの最下部までのピクセル数を指定します。Number 行のベースラインから最も下に突き出している文字またはグラフィックの最下部までのピクセル数を指定します。 totalHeight totalAscent + totalDescent に等しい、テキスト行の論理的な高さです。Number totalAscent + totalDescent に等しい、テキスト行の論理的な高さです。 unjustifiedTextWidth 均等配置をしていない場合の行の幅です。Number 均等配置をしていない場合の行の幅です。均等配置されていないテキストの場合、この値は textWidth と同じです。均等配置されているテキストの場合、この値は均等配置されていなかった場合の長さであり、textWidth の値が実際の行の幅を表します。例えば、次のストリングが均等配置され、幅に 500 を指定して TextBlock.createTextLine() に送信された場合は、実際の幅が 500 ですが、均等配置されていない幅は 268.9921875 になります。 次の例のストリングが均等配置され、幅に 500 を指定して TextBlock.createTextLine() に送信されたときには、実際の幅が 500 になりますが、均等配置されていない幅は 268.9921875 です。 import flash.display.Sprite; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.FontDescription; import flash.text.engine.ElementFormat; import flash.text.engine.SpaceJustifier; import flash.text.engine.LineJustification; var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, "; var fontDescription:FontDescription = new FontDescription(); var textBlock:TextBlock = new TextBlock(); var format:ElementFormat = new ElementFormat(fontDescription, 12); var textElement:TextElement = new TextElement(str, format); textBlock.content = textElement; var spaceJustifier:SpaceJustifier = new SpaceJustifier("en", LineJustification.ALL_INCLUDING_LAST); textBlock.textJustifier = spaceJustifier; var textLine:TextLine = textBlock.createTextLine(null, 500); textLine.y = 20; addChild(textLine); trace("textWidth value is: " + textLine.textWidth); // 500.00244140625 trace("unjustifiedTextWidth is: " + textLine.unjustifiedTextWidth); // 268.9921875 EastAsianJustifierLineJustificationSpaceJustifierspecifiedWidthtextWidthvalidity テキスト行の現在の有効性を指定します。String現在の値が TextLineValidity.STATIC の場合。 ArgumentErrorArgumentError現在の値が TextLineValidity.INVALID で、新しい値が TextValidity.STATIC 以外の値である場合。 ArgumentErrorArgumentError現在の値が TextLineValidity.POSSIBLY_INVALID で、新しい値が TextLineValidity.VALID である場合。 ArgumentErrorArgumentError新しい値が TextLineValidity.POSSIBLY_INVALID の場合。 ArgumentErrorArgumentError テキスト行の現在の有効性を指定します。このプロパティの値は、TextLineValidity クラスのメンバー内に含まれます。このプロパティの設定規則は、次のようになります。

有効性が TextLineValidity のメンバーではないいずれかのストリングに設定される場合、行は USER_INVALID であると見なされます。USER_INVALID は、このような値を表すためにここで使用される抽象値です。

TextBlock のコンテンツが変更されると、Flash ランタイムは、影響を受けたテキスト行、前の行およびすべての継続行を INVALID としてマークします。以前は最初に影響を受けた行にあったコンテンツ部分が、変更によってその前の行に取り込まれるようになる場合、前の行は無効とマークされる必要があります。

新しく改行された行は、常に VALID です。Flash ランタイムは、継続行を VALID から POSSIBLY_INVALID または INVALID に変更することがあります。このコードは、改行内容が同じである場合は POSSIBLY_INVALID の行を VALID に、同じでない場合は INVALID に変更します。

アプリケーションコードでは、VALID の行を INVALID または USER_INVALID とマークしたり、USER_INVALID の行を VALID とマークしたりできます。アプリケーションコードは、行を POSSIBLY_INVALID とマークすることはできません。

アプリケーションコードは、いずれの行も STATIC とマークできます。この操作を行うと、block メンバーが null になります。STATIC のテキスト行内のグラフィックエレメントが STATIC のテキスト行の派生元であるテキストブロックから改行された新しいテキスト行の部分である場合、それらはすべて削除され、親が再設定されます。

TextBlock.firstInvalidLineTextLineValidity
TabStop TabStop クラスは、テキストブロック内のタブストップのプロパティを表します。Object TabStop クラスは、テキストブロック内のタブストップのプロパティを表します。タブストップを TabStop オブジェクトの Vector として、TextBlock.tabStops プロパティに割り当てます。

TabStop オブジェクトが TextBlock に適用された後で TabStop オブジェクトのプロパティを設定しても、TextBlock は無効化されません。

この例では、4 種類のタブストップの整列設定(START、CENTER、DECIMAL、END)の効果について示しています。 package { import flash.text.engine.*; import flash.display.Sprite; public class TabStopExample extends Sprite { public function TabStopExample():void { var container:Sprite = new Sprite(); var english:ElementFormat = new ElementFormat(); english.fontDescription = new FontDescription("Arial"); english.fontSize = 16; english.locale = "en"; var tabStops:Vector.<TabStop> = new Vector.<TabStop>(); tabStops.push( new TabStop(TabAlignment.START, 20), new TabStop(TabAlignment.CENTER, 120), new TabStop(TabAlignment.DECIMAL, 220, "."), new TabStop(TabAlignment.END, 320) ); var textBlock:TextBlock = new TextBlock(); textBlock.content = new TextElement( "\tstart\tcenter\tdeci.mal\tend\n" + "\tl\tl\t3.4\tl\n" + "\tlm\tlm\t234.56\tlm\n" + "\tlmn\tlmn\t12345678.34567\tlmn\n" , english); textBlock.tabStops = tabStops; var y:Number = 60; var previousTextLine:TextLine = null; var textLine:TextLine; var i:int; var tabOrigin:Number = 100; for (i = 0; i < 4; i++) { textLine = textBlock.createTextLine(previousTextLine, 1000, 0); textLine.x = 20; textLine.y = y; container.addChild(textLine); y += 25; previousTextLine = textLine; } addChild(container); } } }
TextBlock.tabStopsTabAlignmentTabStop 新しい TabStop を作成します。指定された alignment は、TabAlignment のメンバーではありません。 ArgumentErrorArgumentErroralignmentStringstartこのタブストップのタブの整列タイプです。このプロパティの有効な値は、TabAlignment クラスのメンバー内に含まれます。デフォルト値は、TabAlignment.START です。 positionNumber0.0タブストップの位置です(ピクセル単位)。デフォルト値は 0.0 です。 decimalAlignmentTokenStringalignmentTabAlignment.DECIMAL の場合に使用する整列トークン。デフォルト値は "" です。 新しい TabStop を作成します。 TabAlignmentalignment このタブストップのタブの整列を指定します。StringTabAlignment のメンバーではないいずれかの値に設定する場合。 ArgumentErrorArgumentError このタブストップのタブの整列を指定します。TabAlignment クラスの定数を使用して、このプロパティを設定します。

デフォルト値は、TabAlignment.START です。

lineOffset 引数(TextBlock.createTextLine() に対する)を使用すると、行の起点が、同じタブストップを共有する他の行に整列しない場合に、タブを調整できます。

TabAlignment クラスの次の定数を使用して、このプロパティの値を設定します。

ストリング値説明TabAlignment.STARTposition プロパティは、タブで区切ったテキストの先頭がテキスト行の先頭から何ピクセルの位置かを指定します。TabAlignment.CENTERposition プロパティは、タブで区切ったテキストの中心がテキスト行の先頭から何ピクセルの位置かを指定します。TabAlignment.ENDposition プロパティは、タブで区切ったテキストの最後尾がテキスト行の先頭から何ピクセルの位置かを指定します。TabAlignment.DECIMALposition プロパティは、整列トークンがテキスト行の先頭から何ピクセルの位置かを指定します。
TabAlignmentTextBlock.createTextLine()
decimalAlignmentToken alignment プロパティを TabAlignment.DECIMAL に設定する場合に使用する整列トークンを指定します。String alignment プロパティを TabAlignment.DECIMAL に設定する場合に使用する整列トークンを指定します。値はテキストラインで発生する String になります。

デフォルト値は "" です。

TabAlignment.DECIMAL
position テキスト行の先頭を基準としたタブストップの位置です(ピクセル単位)。Number0.0 未満の値に設定する場合。 ArgumentErrorArgumentError テキスト行の先頭を基準としたタブストップの位置です(ピクセル単位)。

デフォルト値は 0.0 です。

FontLookup FontLookup クラスは、FontDescription.fontLookup で使用される定数値の列挙です。Object FontLookup クラスは、FontDescription.fontLookup で使用される定数値の列挙です。 FontDescription.fontLookupDEVICE デバイスフォントのルックアップを示すために使用します。deviceString デバイスフォントのルックアップを示すために使用します。 Flash ランタイムは、アプリケーションを実行するシステムにインストールされているフォントを使用します。

フォントデータがファイルに含まれないので、デバイスフォントを使用するとムービーサイズが小さくなります。

システムにインストールされているフォントが Flash ランタイムによって使用されるので、デバイスフォントを使用して表示されるテキストは、異なるシステムおよびプラットフォームでは必ずしも同じように表示される訳ではありません。

EMBEDDED_CFF 埋め込み CFF(コンパクトフォントフォーマット)フォントのルックアップを示すために使用します。 embeddedCFFString 埋め込み CFF(コンパクトフォントフォーマット)フォントのルックアップを示すために使用します。 Flash ランタイムはパブリッシュされたアプリケーションに埋め込まれたフォントアウトラインを使用します。

埋め込みフォントを使用するテキストフィールドは、常に選択されたフォントで表示されます。そのフォントが再生システムにインストールされているかどうかは関係ありません。

埋め込みフォントの 1 つの欠点は、アプリケーションのサイズが大きくなることです。

DigitCase DigitCase クラスは、ElementFormat クラスの digitCase プロパティの設定で使用される定数値の列挙です。Object DigitCase クラスは、ElementFormat クラスの digitCase プロパティの設定で使用される定数値の列挙です。 flash.text.engine.ElementFormat.digitCaseDEFAULT デフォルトの数字の大文字小文字区別を指定するために使用されます。defaultString デフォルトの数字の大文字小文字区別を指定するために使用されます。結果はフォントによって異なります。文字には、フォントデザイナーによって指定された何も機能を適用しない状態の設定が使用されます。 LINING ライニング数字の大文字小文字区別を指定するために使用されます。liningString ライニング数字の大文字小文字区別を指定するために使用されます。 OLD_STYLE オールドスタイル数字の大文字小文字区別を指定するために使用されます。oldStyleString オールドスタイル数字の大文字小文字区別を指定するために使用されます。 TypographicCase TypographicCase クラスは、ElementFormat クラスの typographicCase プロパティの設定のための定数値の列挙です。Object TypographicCase クラスは、ElementFormat クラスの typographicCase プロパティの設定で使用される定数値の列挙です。 ElementFormat.typographicCaseCAPS_AND_SMALL_CAPS 出力時にすべての小文字でスモールキャップス文字を使用するよう指定します。capsAndSmallCapsString 出力時にすべての小文字でスモールキャップス文字を使用するよう指定します。 CAPS 出力時に大文字の間隔が調整されるよう指定します。capsString 出力時に大文字の間隔が調整されるよう指定します。 DEFAULT デフォルトの大文字小文字区別を指定します。defaultString デフォルトの大文字小文字区別を指定します。結果はフォントによって異なります。文字には、フォントデザイナーによって指定された何も機能を適用しない状態の設定が使用されます。 LOWERCASE 出力時にすべての文字で小文字を使用するよう指定します。lowercaseString 出力時にすべての文字で小文字を使用するよう指定します。 SMALL_CAPS 出力時に大文字でスモールキャップ文字を使用するよう指定します。smallCapsString 出力時に大文字でスモールキャップ文字を使用するよう指定します。 TITLE 出力時にタイトル文字に大文字を使用するよう指定します。titleString 出力時にタイトル文字に大文字を使用するよう指定します。 UPPERCASE 出力時にすべての文字で大文字を使用するよう指定します。uppercaseString 出力時にすべての文字で大文字を使用するよう指定します。 TextElement TextElement クラスは、フォーマットされたテキストのストリングを表します。flash.text.engine:ContentElement TextElement クラスは、フォーマットされたテキストのストリングを表します。TextElement オブジェクトを、TextBlock オブジェクトの content プロパティに割り当て、テキストのブロックを作成します。GroupElement オブジェクトに割り当てて、単位として他のテキストエレメントまたはグラフィックエレメントと結合します。テキストをフォーマットするには、ElementFormat クラスを使用します。 ContentElementElementFormatTextBlockTextElement 新しい TextElement インスタンスを作成します。textStringnullエレメントのテキストです。デフォルト値は null です。 elementFormatflash.text.engine:ElementFormatnullエレメント内のテキストのエレメント形式です。デフォルト値は null です。 eventMirrorflash.events:EventDispatchernullこのコンテンツエレメントに基づいたテキスト行に送出されるすべてのイベントのコピーを受け取る EventDispatcher オブジェクトです。デフォルト値は null です。 textRotationStringrotate0エレメントを単位として適用される回転です。このプロパティには、TextRotation 定数を使用します。デフォルト値は、TextRotation.ROTATE_0 です。 新しい TextElement インスタンスを作成します。 次の例では、テキストのストリングから TextElement オブジェクトを作成し、フォントサイズ 12 と赤(0xCC0000)でフォーマットし、TextBlock の content プロパティに割り当てます。createLines() 関数を呼び出して、テキストのブロックを改行して、それぞれ 150 ピクセルの行にします。 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; public class TextElementExample extends Sprite { public function TextElementExample():void { var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, " + "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut " + "enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut " + "aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit " + "in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur " + "sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt " + "mollit anim id est laborum."; var format:ElementFormat = new ElementFormat(null, 12, 0xCC0000); var textElement:TextElement = new TextElement(str, format); var textBlock:TextBlock = new TextBlock(); textBlock.content = textElement; createLines(textBlock); } private function createLines(textBlock:TextBlock):void { var yPos = 20; var textLine:TextLine = textBlock.createTextLine (null, 150); while (textLine) { addChild(textLine); textLine.x = 15; yPos += textLine.textHeight+2; textLine.y = yPos; textLine = textBlock.createTextLine(textLine, 150); } } } } replaceText beginIndex パラメーターと endIndex パラメーターで指定された文字範囲を、newText パラメーターの内容に置き換えます。指定された beginIndex または endIndex は範囲外です。 RangeErrorRangeErrorbeginIndexint置換範囲の開始位置の 0 から始まるインデックス値です。 endIndexint置換範囲の終了位置に後続する位置の 0 ベースのインデックス値です。 newTextString指定された文字範囲の置き換えに使用されるテキストです。 beginIndex パラメーターと endIndex パラメーターで指定された文字範囲を、newText パラメーターの内容に置き換えます。beginIndexendIndex の値は、text の現在のコンテンツを参照します。

テキストを削除するには、nullnewText に渡します。

テキストを挿入するには、beginIndex および endIndex に同じ値を渡します。新しいテキストは、指定されたインデックスの前に挿入されます。

テキストを追加するには、text.lengthbeginIndex および endIndex に渡します。

すべてのテキストを設定するには、0 を beginIndex に渡し、text.lengthendIndex に渡します。

この例は、replaceText() を複数回呼び出して、以下を実行します。
  • テキストの起点にストリングを挿入
  • テキストの最後にストリングを追加
  • テキストの途中にストリングを挿入
  • テキストを新しいテキストで完全に置き換え
package { import flash.display.Sprite; import flash.text.engine.FontDescription; import flash.text.engine.ElementFormat; import flash.text.engine.TextElement; import flash.text.engine.TextBlock; import flash.text.engine.TextLine; public class TextElement_replaceTextExample extends Sprite { public function TextElement_replaceTextExample():void { var str:String = "0123456"; var fontDescription:FontDescription = new FontDescription("Arial"); var format:ElementFormat = new ElementFormat(fontDescription); format.fontSize = 14; var textElement:TextElement = new TextElement(str, format); var textBlock:TextBlock = new TextBlock(); textBlock.content = textElement; textElement.replaceText(0, 0, "abc"); createLine(textBlock, 20); //"abc0123456" textElement.replaceText(10, 10, "abc"); createLine(textBlock, 40); // "abc0123456abc" textElement.replaceText(5, 8, "abc"); createLine(textBlock, 60); // "abc01abc56abc" textElement.replaceText(0, 13, "abc"); createLine(textBlock, 80); // "abc" textElement.replaceText(0, 3, "That's all she wrote!"); createLine(textBlock, 100); // "That's all she wrote" */ } private function createLine(textBlock:TextBlock, y:Number):void { var textLine:TextLine = textBlock.createTextLine(null, 150); textLine.x = 10; textLine.y = y; addChild(textLine); } } }
text エレメントのコンテンツであるテキストを受け取ります。String エレメントのコンテンツであるテキストを受け取ります。

デフォルト値は null です。

TextLineValidity TextLineValidity クラスは、TextLine クラスの validity プロパティの設定で使用される定数値の列挙です。Object TextLineValidity クラスは、TextLine クラスの validity プロパティの設定で使用される定数値の列挙です。 TextBlock.firstInvalidLineTextLine.validityINVALID テキスト行が無効であることを指定します。invalidString テキスト行が無効であることを指定します。 POSSIBLY_INVALID テキスト行が無効である可能性があることを指定します。possiblyInvalidString テキスト行が無効である可能性があることを指定します。Flash ランタイムは、この有効性を使用して、コンテンツが変更されていない、以前に改行されたテキストブロックを再改行します。この値は設定できません。 STATIC 行が静的で、行とテキストブロック間の接続を有効にすることを指定します。 staticString 行が静的で、行とテキストブロック間の接続を有効にすることを指定します。 VALID テキスト行が有効であることを指定します。validString テキスト行が有効であることを指定します。 FontPosture FontPosture クラス は、テキストを斜体や通常に設定するために FontDescription.fontPosture と一緒に使用される定数値の列挙です。Object FontPosture クラス は、テキストを斜体や通常に設定するために FontDescription.fontPosture と一緒に使用される定数値の列挙です。 FontDescription.fontPostureITALIC イタリックのフォントの傾斜を示すために使用します。italicString イタリックのフォントの傾斜を示すために使用します。 NORMAL 標準のフォントの傾斜を示すために使用します。normalString 標準のフォントの傾斜を示すために使用します。 JustificationStyle JustificationStyle クラスは、EastAsianJustifier クラスの justificationStyle プロパティの設定で使用される定数値の列挙です。Object JustificationStyle クラスは、EastAsianJustifier クラスの justificationStyle プロパティの設定で使用される定数値の列挙です。 これらの定数値は、禁則文字の取扱いオプションを指定します。禁則文字とは日本語の文字で、行の最初や最後にすることのできない文字です。 EastAsianJustifier.justificationStylePRIORITIZE_LEAST_ADJUSTMENT 行の拡張または圧縮(必要な幅に最も近い結果が得られる方)に応じて、均等配置します。prioritizeLeastAdjustmentString 行の拡張または圧縮(必要な幅に最も近い結果が得られる方)に応じて、均等配置します。 PUSH_IN_KINSOKU 行末の圧縮される禁則に応じて、または禁則がない場合やスペースが不足している場合の拡張に応じて、均等配置します。pushInKinsokuString 行末の圧縮される禁則に応じて、または禁則がない場合やスペースが不足している場合の拡張に応じて、均等配置します。 PUSH_OUT_ONLY 行の拡張に応じて均等配置します。pushOutOnlyString 行の拡張に応じて均等配置します。 EastAsianJustifier EastAsianJustifier クラスは、コンテンツが主に日中韓のテキストであるテキスト行に対する均等配置オプションを制御するためのプロパティを持っています。flash.text.engine:TextJustifier EastAsianJustifier クラスは、コンテンツが主に日中韓のテキストであるテキスト行に対する均等配置オプションを制御するためのプロパティを持っています。

EastAsianJustifier オブジェクトのプロパティを設定する前に、コンストラクター new EastAsianJustifier() を使用して EastAsianJustifier オブジェクトを作成する必要があります。EastAsianJustifier オブジェクトが TextBlock に適用された後で EastAsianJustifier オブジェクトのプロパティを設定しても、TextBlock は無効化されません。

この例は、EastAsianJustifier プロパティを使ってテキストの均等配置を行った日本語テキストのブロックの縦書き表示です。 package { import flash.text.engine.TextBlock; import flash.text.engine.TextLine; import flash.text.engine.TextElement; import flash.text.engine.TextBaseline; import flash.text.engine.EastAsianJustifier; import flash.text.engine.LineJustification; import flash.text.engine.TextRotation; import flash.text.engine.FontDescription; import flash.text.engine.ElementFormat; import flash.display.Stage; import flash.display.Sprite; import flash.system.Capabilities; public class EastAsianJustifierExample extends Sprite { public function EastAsianJustifierExample():void { var Japanese_txt: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 textBlock:TextBlock = new TextBlock(); var font:FontDescription = new FontDescription(); var format:ElementFormat = new ElementFormat(); format.fontSize = 12; format.locale = "ja"; format.color = 0xCC0000; textBlock.baselineZero = TextBaseline.IDEOGRAPHIC_CENTER; textBlock.textJustifier = new EastAsianJustifier("ja", LineJustification.ALL_INCLUDING_LAST); textBlock.lineRotation = TextRotation.ROTATE_90; var linePosition:Number = this.stage.stageWidth - 75; if (Capabilities.os.search("Mac OS") > -1) // set fontName: Kozuka Mincho Pro R font.fontName = String.fromCharCode(0x5C0F, 0x585A, 0x660E, 0x671D) + " Pro R"; else font.fontName = "Kozuka Mincho Pro R"; textBlock.content = new TextElement(Japanese_txt, format); var previousLine:TextLine = null; while (true) { var textLine:TextLine = textBlock.createTextLine(previousLine, 320); if (textLine == null) break; textLine.y = 20; textLine.x = linePosition; linePosition -= 25; addChild(textLine); previousLine = textLine; } } } }
JustificationStyleLineJustificationTextBlock.textJustifierEastAsianJustifier EastAsianJustifier オブジェクトを作成します。指定された localenull であるか、有効なロケールを表すには短すぎます。 ArgumentErrorArgumentError指定された lineJustification は、LineJustification のメンバーではありません。 ArgumentErrorArgumentError指定された justificationStyle は、JustificationStyle のメンバーではありません。 ArgumentErrorArgumentErrorlocaleStringja均等配置規則を決定するためのロケールです。デフォルト値は「ja」です。 lineJustificationStringallButLast段落に対する行の均等配置タイプです。このプロパティには、LineJustification 定数を使用します。デフォルト値は LineJustification.ALL_BUT_LAST です。 justificationStyleStringpushInKinsoku日中韓の均等配置を使用した、テキストブロック内のテキストの均等配置スタイルです。このプロパティには、JustificationStyle 定数を使用します。デフォルト値は JustificationStyle.PUSH_IN_KINSOKU です。 EastAsianJustifier オブジェクトを作成します。 JustificationStyleLineJustificationclone EastAsianJustifier のクローンコピーを構築します。EastAsianJustifier オブジェクトのコピーです。 flash.text.engine:TextJustifier EastAsianJustifier のクローンコピーを構築します。 justificationStyle テキストブロック内のテキストの均等配置スタイルを指定します。String テキストブロック内のテキストの均等配置スタイルを指定します。

デフォルト値は JustificationStyle.PUSH_IN_KINSOKU です。

JustificationStyle クラスの定数の 1 つを使用して、このプロパティの値に設定します。次の表に、指定できる値を示します。

ストリング値説明JustificationStyle.PUSH_IN_KINSOKU追い込みでの均等配置を指定します。JustificationStyle.PUSH_OUT_ONLY追い出しでの均等配置を指定します。JustificationStyle.PRIORITIZE_LEAST_ADJUSTMENT調整を最低限にすることが優先される均等配置を指定します。
JustificationStyle
RenderingMode RenderingMode クラスにより、FontDescription クラスのレンダリングモードの値を指定します。Object RenderingMode クラスにより、FontDescription クラスのレンダリングモードの値を指定します。 FontDescriptionCFF CFF(コンパクトフォントフォーマット)のレンダリングモードを設定します。cffString CFF(コンパクトフォントフォーマット)のレンダリングモードを設定します。CFF レンダリングは、ディスプレイ上のテキストを読みやすくします。この設定は、小さなテキストが多いアプリケーションにお勧めします。この定数は、FontDescription クラスの renderingMode プロパティで使用されます。シンタックス RenderingMode.CFF を使用します。 flash.text.engine.FontDescription.renderingModeNORMAL レンダリングモードを、Flash Player 7 以前で使用されているレンダリングモードに設定します。normalString レンダリングモードを、Flash Player 7 以前で使用されているレンダリングモードに設定します。アニメーションテキストでは、この設定をお勧めします。この定数は、FontDescription クラスの renderingMode プロパティで使用されます。シンタックス RenderingMode.NORMAL を使用します。 flash.text.engine.FontDescription.renderingModeFontMetrics FontMetrics クラスには、フォントに関する寸法およびオフセットの情報が含まれます。Object FontMetrics クラスには、フォントに関する寸法およびオフセットの情報が含まれます。ElementFormat.getFontMetrics() メソッドはこのクラスのオブジェクトを返します。 ElementFormat.getFontMetrics()FontMetrics FontMetrics オブジェクトを作成します。emBoxflash.geom:Rectangleフォントの em ボックスです(ピクセル単位)。 strikethroughOffsetNumber取り消し線のオフセットです(ピクセル単位)。 strikethroughThicknessNumber取り消し線の太さです(ピクセル単位)。 underlineOffsetNumber下線のオフセットです(ピクセル単位)。 underlineThicknessNumber下線の太さです(ピクセル単位)。 subscriptOffsetNumber下付きのオフセットです(ピクセル単位)。 subscriptScaleNumber下付きのポイントサイズに適用する拡大 / 縮小率です。 superscriptOffsetNumber上付きのオフセットです(ピクセル単位)。 superscriptScaleNumber上付きのポイントサイズに適用する拡大 / 縮小率です。 FontMetrics オブジェクトを作成します。FontMetrics オブジェクトには、エレメント形式のフォントのメトリックに関する情報が含まれます。flash.text.engine.ElementFormat.getFontMetrics() メソッドはこのクラスのオブジェクトを返します。 ElementFormat.getFontMetrics()emBox em ボックス値は、フォントのデザイン領域を表し、中国語、韓国語または日本語の文字を欧文ベースラインを基準にして配置するために使用されます。flash.geom:Rectangle em ボックス値は、フォントのデザイン領域を表し、中国語、韓国語または日本語の文字を欧文ベースラインを基準にして配置するために使用されます。通常は四角形であり、フォントのポイントサイズに合わせられます。em ボックスの起点(座標 0、0)は、四角形の左端および欧文ベースラインに設定されます。例えば、10 ポイントのフォントでは、em ボックスの四角形の「左端、上端、右端、下端」は「0、-8.8、10、1.2」になります。 strikethroughOffset strikethroughOffset 値は、欧文ベースラインからの取り消し線に設定可能な垂直方向オフセットです。Number strikethroughOffset 値は、欧文ベースラインからの取り消し線に設定可能な垂直方向オフセットです。

行の回転によって、この値は取り消し線の位置を検索する行の位置から加算または減算されます。TextRotation.ROTATE_0 に設定された行では、strikethrough.y = line.y + strikethroughOffset になります。TextRotation.ROTATE_90 に設定された行では、strikethrough.x = line.x - strikethroughOffset になります。

TextLine に取り消し線などの文字飾りを適用する場合、推奨される手順では eventMirror を指定します。これは、ContentElement に対して文字飾りを使用します。Event.ADDED イベントに応答して、TextLineMirrorRegionbounds を、取り消し線を配置する strikethroughOffset と組み合わせて使用することができます。

ContentElement.eventMirrorTextLineMirrorRegion
strikethroughThickness strikethroughThickness 値は、取り消し線に設定可能な太さです。Number strikethroughThickness 値は、取り消し線に設定可能な太さです。 subscriptOffset subscriptOffset 値は、欧文ベースラインからの下付きに設定可能な垂直方向オフセットです。Number subscriptOffset 値は、欧文ベースラインからの下付きに設定可能な垂直方向オフセットです。

subscriptOffset 値は、下付きの位置設定のために ElementFormat.baselineShift と一緒に使用します。

ElementFormat.baselineShift
subscriptScale subscriptScale 値は、下付きのポイントサイズに適用可能な拡大 / 縮小率です。Number subscriptScale 値は、下付きのポイントサイズに適用可能な拡大 / 縮小率です。拡大 / 縮小率が 1.0 の場合は、拡大 / 縮小がないことを意味します。 superscriptOffset superscriptOffset 値は、欧文ベースラインからの上付きに設定可能な垂直方向オフセットです。Number superscriptOffset 値は、欧文ベースラインからの上付きに設定可能な垂直方向オフセットです。

superscriptOffset 値は、上付きの位置設定のために ElementFormat.baselineShift と一緒に使用します。

ElementFormat.baselineShift
superscriptScale superscriptScale 値は、上付きのポイントサイズに適用可能な拡大 / 縮小率です。Number superscriptScale 値は、上付きのポイントサイズに適用可能な拡大 / 縮小率です。拡大 / 縮小率が 1.0 の場合は、拡大 / 縮小がないことを意味します。 underlineOffset underlineOffset 値は、欧文ベースラインからの下線に設定可能な垂直方向オフセットです。Number underlineOffset 値は、欧文ベースラインからの下線に設定可能な垂直方向オフセットです。

行の回転によって、この値は下線の位置を検索する行の位置から加算または減算されます。TextRotation.ROTATE_0 に設定された行では、underline.y = line.y + underlineOffset になります。TextRotation.ROTATE_90 に設定された行では、underline.x = line.x - underlineOffset になります。

TextLine に下線などの文字飾りを適用する場合、推奨される手順では eventMirror を指定します。これは、ContentElement に対して文字飾りを使用します。Event.ADDED イベントに応答して、TextLineMirrorRegionbounds を、下線を配置する underlineOffset と組み合わせて使用することができます。

ContentElement.eventMirrorイベントTextLineMirrorRegionTextRotation
underlineThickness underlineThickness 値は、下線に設定可能な太さです。Number underlineThickness 値は、下線に設定可能な太さです。
ElementFormat ElementFormat クラスは、ContentElement に適用できるフォーマット情報を表します。Object ElementFormat クラスは、ContentElement に適用できるフォーマット情報を表します。ElementFormat クラスを使用して、ContentElement の様々なサブクラスに特定のテキストフォーマットを作成します。ElementFormat クラスのプロパティは、デバイスフォントおよび埋めこみフォントに適用されます。

ElementFormat オブジェクトを TextBlock の ContentElement に適用しても、TextBlock は無効化されません。ElementFormat が ContentElement に適用されると、その locked プロパティは true に設定されます。ロックされた ElementFormat オブジェクトのプロパティを変更することはできません。代わりに、clone() メソッドを使用してオブジェクトのロックされていないコピーを作成し、そのコピーを変更して ContentElement に割り当てることができます。

この例では、2 つの ElementFormat オブジェクトを作成し、複数のプロパティを設定します。次に、新しい ElementFormats を TextElement オブジェクトに割り当てます。これは、TextBlock のコンテンツとして割り当てられています。TextElementElementFormat を変更しても、親 TextBlock によって作成済みの TextLine には影響しません。

package { import flash.display.Sprite; import flash.text.engine.*; public class ElementFormatExample extends Sprite { public function ElementFormatExample():void { var fd:FontDescription = new FontDescription(); fd.fontName = "Garamond"; fd.fontWeight = flash.text.engine.FontWeight.BOLD; var ef1:ElementFormat = new ElementFormat(fd); ef1.fontSize = 30; ef1.color = 0xFF0000; ef1.alpha = 100; ef1.kerning = flash.text.engine.Kerning.ON; ef1.trackingRight = 2; ef1.typographicCase = flash.text.engine.TypographicCase.UPPERCASE; ef1.alignmentBaseline = flash.text.engine.TextBaseline.DESCENT; ef1.ligatureLevel = flash.text.engine.LigatureLevel.EXOTIC; var ef2:ElementFormat = new ElementFormat(fd); ef2.fontSize = 30; ef2.color = 0xFF0000; ef2.alpha = 0.3; ef2.kerning = flash.text.engine.Kerning.OFF; ef2.typographicCase = flash.text.engine.TypographicCase.LOWERCASE; ef2.digitCase = flash.text.engine.DigitCase.OLD_STYLE; ef2.textRotation = flash.text.engine.TextRotation.ROTATE_180; var str:String = "This is flash text 0123456789"; var tb:TextBlock = new TextBlock(); var te1:TextElement = new TextElement(str, ef1); tb.content = te1; var line1:TextLine = tb.createTextLine(null, 600); addChild(line1); line1.x = 15; line1.y = 30; tb.content.elementFormat = ef2; var line2:TextLine = tb.createTextLine(null, 600); addChild(line2); line2.x = 15; line2.y = 60; } } }
ContentElement.elementFormatElementFormat ElementFormat オブジェクトを作成します。指定された fontSize は、0 未満です。 ArgumentErrorArgumentError指定された textRotation は、TextRotation のメンバーではありません。 ArgumentErrorArgumentError指定された dominantBaseline は、TextBaseline のメンバーではありません。 ArgumentErrorArgumentError指定された alignmentBaseline は、TextBaseline のメンバーではありません。 ArgumentErrorArgumentError指定された kerning は、Kerning のメンバーではありません。 ArgumentErrorArgumentError指定された breakOpportunity は、BreakOpportunity のメンバーではありません。 ArgumentErrorArgumentError指定された digitCase は、DigitCase のメンバーではありません。 ArgumentErrorArgumentError指定された digitWidth は、DigitWidth のメンバーではありません。 ArgumentErrorArgumentError指定された ligatureLevel は、LigatureLevel のメンバーではありません。 ArgumentErrorArgumentError指定された typographicCase は、TypographicCase のメンバーではありません。 ArgumentErrorArgumentErrorfontDescriptionflash.text.engine:FontDescriptionnullこのエレメント形式で使用されるフォントを識別する FontDescription オブジェクトです。デフォルト値は null です。フォントの説明を指定しない場合は、デフォルトのフォントの説明が作成されます。 fontSizeNumber12.0テキストのサイズ(ピクセル単位)です。 coloruint0x000000テキストカラーです。例えば、 0xFF0000 は赤、 0x00FF00 は緑など、3 つの 8 ビットの RGB コンポーネントを示す 16 進数です。 alphaNumber1.0エレメント形式に応じてすべての行アトムに適用される alpha プロパティです。 textRotationStringauto個々の文字に適用される回転です。このプロパティには、TextRotation 定数を使用します。 dominantBaselineStringromanテキスト内の文字の吸着先である基準です。このプロパティには、TextBaseline 定数を使用します。 alignmentBaselineStringuseDominantBaselinedominantBaseline の吸着先であるコンテンツ行に対する基準です。このプロパティには、TextBaseline 定数を使用します。 baselineShiftNumber0.0テキストのベースラインシフト(ピクセル/em 単位)です。 kerningStringonこのテキストに使用されるカーニングです。Kerning クラスで定義される定数を使用します。 trackingRightNumber0.0各文字の右側に適用されるトラッキングまたは手動カーニング(ピクセル単位)です。 trackingLeftNumber0.0各文字の左側に適用されるトラッキングまたは手動カーニング(ピクセル単位)です。 localeStringenテキストのロケールです。 breakOpportunityStringautoこのテキストに適用される改行の条件です。 このプロパティには、BreakOpportunity 定数を使用します。 digitCaseStringdefaultこのテキストに使用される数字の大文字小文字区別です。このプロパティには、DigitCase 定数を使用します。 digitWidthStringdefaultこのテキストに使用される数字の幅です。このプロパティには、DigitWidth 定数を使用します。 ligatureLevelStringcommonこのテキストに使用される合字のレベルです。このプロパティには、LigatureLevel 定数を使用します。 typographicCaseStringdefaultこのテキストに使用される文字の大文字小文字区別です。このプロパティには、TypographicCase 定数を使用します。 ElementFormat オブジェクトを作成します。 clone ElementFormat のロックされていないクローンコピーを構築します。ElementFormat オブジェクトのロックされていないコピーです。 flash.text.engine:ElementFormat ElementFormat のロックされていないクローンコピーを構築します。

この例では、ElementFormat オブジェクトを作成し、FontSize を設定します。新しい TextElementElementFormat を使用して作成されます(つまり、ロックされます)。この TextElementTextBlock のコンテンツとして使用されます。テキストの行が、TextBlock から作成されます。

ElementFormat オブジェクトを変更するには、その locked プロパティを最初にチェックします。 true である場合は、clone() メソッドを使用して ElementFormat のロックされていないコピーを作成します。次に、そのプロパティを変更し、新しく作成した ElementFormat オブジェクトを TextBlock に再リンクします。行が再改行されると、新しい行には新しいフォント設定が使用されます。

package { import flash.display.Sprite; import flash.text.engine.*; public class ElementFormat_cloneExample extends Sprite { private var ef1:ElementFormat; private var ef2:ElementFormat; public function ElementFormat_cloneExample():void { var fd:FontDescription = new FontDescription(); fd.fontLookup = flash.text.engine.FontLookup.DEVICE; fd.fontName = "Palatino"; var ef1:ElementFormat = new ElementFormat(fd); ef1.fontSize=20; var str:String = "This is flash text 0123456789"; var tb:TextBlock = new TextBlock(); var te1:TextElement = new TextElement(str, ef1); tb.content = te1; var line1:TextLine = tb.createTextLine(null, 600); addChild(line1); ef2 = (ef1.locked) ? ef1.clone() : ef1; ef2.fontSize = 32; tb.content.elementFormat=ef2; var line2:TextLine = tb.createTextLine(null, 600); addChild(line2); } } }
getFontMetrics fontDescription および fontSize で指定されるフォントの em ボックス、取り消し線位置、取り消し線太さ、下線位置および下線太さを記述するプロパティを持つ FontMetrics オブジェクトを返します。 fontDescription で指定されるフォントのプロパティを記述する FontMetrics オブジェクトです。 flash.text.engine:FontMetrics

fontDescription および fontSize で指定されるフォントの em ボックス、取り消し線位置、取り消し線太さ、下線位置および下線太さを記述するプロパティを持つ FontMetrics オブジェクトを返します。

この例では、割り当てられた FontDescription を持つ ElementFormat オブジェクトを作成し、getFontMetrics メソッドを使用して、選択したフォントに対するメトリックを 24 ポイントで表示します。 package { import flash.display.Sprite; import flash.text.engine.*; public class FontMetricsExample extends Sprite { public function FontMetricsExample():void { var fd:FontDescription = new FontDescription(); fd.fontName = "Garamond"; fd.fontWeight = flash.text.engine.FontWeight.BOLD; var ef1:ElementFormat = new ElementFormat(fd); ef1.fontSize = 24; var fm1:FontMetrics = ef1.getFontMetrics(); trace(fm1.emBox); trace(fm1.strikethroughOffset); trace(fm1.strikethroughThickness); trace(fm1.subscriptScale); trace(fm1.subscriptOffset); trace(fm1.superscriptScale); trace(fm1.superscriptOffset); trace(fm1.underlineOffset); trace(fm1.underlineThickness); } } }
FontDescriptionFontMetrics
alignmentBaseline このフォーマットを持つエレメントの行の基準を揃える内部エレメントのベースラインのタイプを指定します。StringTextBaseline のメンバーではないいずれかの値に設定する場合。 ArgumentErrorArgumentErrorElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError このフォーマットを持つエレメントの行の基準を揃える内部エレメントのベースラインのタイプを指定します。このプロパティには、TextBaseline 定数を使用します。

TextBlock.baselineFontDescription および TextBlock.baselineFontSize が設定され、このロジックより優先されない場合、文字揃えの基準は行内の最大の垂直エレメントで決まります。

デフォルト値は TextBaseline.USE_DOMINANT_BASELINE です。

このプロパティの値を設定するには、次のストリング値を使用します。

ストリング値説明TextBaseline.ROMANdominantBaseline が、行の欧文ベースラインに揃えます。TextBaseline.ASCENTdominantBaseline が、行のアセントのベースラインに揃えます。TextBaseline.DESCENTdominantBaseline が、行のディセントのベースラインに揃えます。TextBaseline.IDEOGRAPHIC_TOPdominantBaseline が、行の文字最上部のベースラインに揃えます。TextBaseline.IDEOGRAPHIC_CENTERdominantBaseline が、行の文字の中心のベースラインに揃えます。TextBaseline.IDEOGRAPHIC_BOTTOMdominantBaseline が、行の文字最下部のベースラインに揃えます。TextBaseline.USE_DOMINANT_BASELINEdominantBaseline が、行の同一のベースラインに揃えます。

サブクラスプロパティ設定の効果GraphicElementグラフィックエレメントの dominantBaseline が文字揃えの基準を設定します。GroupElement効果はありません。TextElementテキストエレメントの dominantBaseline が行の文字揃えの基準を設定します。 TextBaselineElementFormat.dominantBaselinealpha このオブジェクトに影響される行エレメントの透明を指定します。NumberElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError このオブジェクトに影響される行エレメントの透明を指定します。有効な値は 0(完全な透明)~ 1(完全な不透明)の範囲です。alpha が 0 に設定されている表示オブジェクトは、表示されない場合でも、アクティブです。

デフォルト値は 1 です。

サブクラスプロパティ設定の効果GraphicElementグラフィックエレメントに指定されたアルファを適用します。グラフィック DisplayObject 自体または TextLine に設定されたアルファと乗法的に結合します。GroupElement効果はありません。TextElementテキストエレメントに指定されたアルファを適用します。TextLine に設定されたアルファと乗法的に結合します。
DisplayObject.alpha
baselineShift エレメントのベースラインシフトを示します(ピクセル単位)。NumberElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError エレメントのベースラインシフトを示します(ピクセル単位)。

エレメントは、dominantBaseline から、この量だけ離れます。エレメントのメンバーの y 位置にオフセットが追加されるため、回転されないテキストで正のベースラインシフトはエレメントを下に移動させ、負のベースラインシフトはエレメントを上に移動させます。

デフォルト値は 0.0(シフトなし)です。

サブクラスプロパティ設定の効果GraphicElementグラフィックをベースラインから離します。GroupElement効果はありません。TextElementテキストをベースラインから離します。
breakOpportunity このテキストに適用される改行の条件です。StringBreakOpportunity のメンバーではない値に設定する場合。 ArgumentErrorArgumentErrorElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError このテキストに適用される改行の条件です。 折り返しテキストが複数行に分けられるときにどの文字が改行文字として使用できるかは、このプロパティにより決められます。このプロパティには、BreakOpportunity 定数を使用します。

デフォルト値は BreakOpportunity.AUTO です。

このプロパティの値を設定するには、次のストリング値を使用します。

ストリング値説明BreakOpportunity.AUTO改行を行うかどうかの判断は、単語間の区切りやハイフンなど、Unicode 文字プロパティに基づいて行われます。BreakOpportunity.ANYContentElement オブジェクト内の文字が、改行を行うかどうかの判断に使用されます。通常、ローマン体のテキストが日中韓のテキストに埋め込まれており、単語の途中で改行されることが望ましい場合に使用されます。BreakOpportunity.NONE範囲内の文字は、改行を行うかどうかの判断に使用されません。BreakOpportunity.ALL範囲内のすべての文字が、改行を行うかどうかの判断に使用されます。これは、文字ごとに改行が行われることを意味します。 パス上のテキストのような効果を作成するのに便利です。

サブクラスプロパティ設定の効果GraphicElement効果はありません。GroupElementグループ内で隣接するテキストエレメント間で改行を行うかどうかを判断します。グループの elementFormat が、null の場合、隣接するエレメントの最初のエレメントのフォーマットが使用されます。TextElementテキストエレメントの文字間で改行を行うかどうかを判断します。 BreakOpportunitycolor テキストの色を示します。uintElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError テキストの色を示します。3 つの 8 ビット RGB コンポーネントを示す整数(0xFF0000 は赤、0x00FF00 は緑など)です。

デフォルト値は 0x000000 で、黒です。

サブクラスプロパティ設定の効果GraphicElement効果はありません。GroupElement効果はありません。TextElementテキストの色を設定します。
digitCase このテキストに使用される数字の大文字小文字区別です。StringDigitCase のメンバーでないいずれかの値に設定する場合。 ArgumentErrorArgumentErrorElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError このテキストに使用される数字の大文字小文字区別です。数字の大文字小文字区別の違いは、数字のグループのスタイルと位置に影響します。このプロパティには、DigitCase 定数を使用します。

デフォルト値は DigitCase.DEFAULT です。

このプロパティの値を設定するには、次のストリング値を使用します。

ストリング値説明DigitCase.DEFAULTデフォルトの数字の大文字小文字区別をテキストに適用します。DigitCase.LININGライニング数字の大文字小文字区別をテキストに適用します。DigitCase.OLD_STYLEオールドスタイル数字の大文字小文字区別をテキストに適用します。

サブクラスプロパティ設定の効果GraphicElement効果はありません。GroupElement効果はありません。TextElementエレメントのテキストに使用する数字の大文字小文字区別を決定します。 DigitCasedigitWidth このテキストに使用される数字の幅です。StringDigitWidth のメンバーでないいずれかの値に設定する場合。 ArgumentErrorArgumentErrorElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError このテキストに使用される数字の幅です。このプロパティには、DigitWidth 定数を使用します。

デフォルト値は DigitWidth.DEFAULT です。

このプロパティの値を設定するには、次のストリング値を使用します。

ストリング値説明DigitWidth.DEFAULTデフォルトの数字の幅をテキストに適用します。DigitWidth.PROPORTIONALプロポーショナル数字の幅をテキストに適用します。DigitWidth.TABULAR等幅数字の幅をテキストに適用します。

サブクラスプロパティ設定の効果GraphicElement効果はありません。GroupElement効果はありません。TextElementエレメントのテキストに使用する数字の幅を決定します。 DigitWidthdominantBaseline 行の基準として使用するベースラインのタイプを指定します。StringTextBaseline のメンバーではないいずれかの値に設定する場合。 ArgumentErrorArgumentErrorElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError 行の基準として使用するベースラインのタイプを指定します。行の基準を文字の基準に合わせると、行のエレメントの垂直位置が決まります。 このプロパティには、TextBaseline 定数を使用します。

エレメントのコンテンツによりベースラインが決まります。TextElement の場合、ベースラインはフォントおよびポイントサイズで決まります。GraphicElement の場合、ベースラインはエレメントの高さで決まります。

デフォルト値は、TextBaseline.ROMAN です。

このプロパティの値を設定するには、次のストリング値を使用します。

ストリング値説明TextBaseline.ROMANエレメントの欧文ベースラインが、alignmentBaseline に揃えられます。TextBaseline.ASCENTエレメントのアセントのベースラインが、alignmentBaseline に揃えられます。TextBaseline.DESCENTエレメントのディセントのベースラインが、alignmentBaseline に揃えられます。TextBaseline.IDEOGRAPHIC_TOPエレメントの文字最上部のベースラインが、alignmentBaseline に揃えられます。TextBaseline.IDEOGRAPHIC_CENTERエレメントの文字の中心のベースラインが、alignmentBaseline に揃えられます。TextBaseline.IDEOGRAPHIC_BOTTOMエレメントの文字最下部のベースラインが、alignmentBaseline に揃えられます。

サブクラスプロパティ設定の効果GraphicElementalignmentBaseline に揃えるグラフィックエレメントのベースラインを決定します。GroupElement効果はありません。TextElementalignmentBaseline に揃えるテキストエレメントのベースラインを決定します。 TextBaselineElementFormat.alignmentBaselinefontDescription フォントを説明するプロパティのオブジクト。flash.text.engine:FontDescriptionElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError フォントを説明するプロパティのオブジクト。

デフォルト値は、デフォルトで作成される FontDescription オブジェクトです。

fontDescription プロパティが設定されているときは、提供された FontDescription オブジェクトがロックされます。その locked プロパティは true に設定されます。ロックされた FontDescription を変更することはできません。

サブクラスプロパティ設定の効果GraphicElement効果はありません。GroupElement効果はありません。TextElementエレメントのテキストに使用するフォントを決定します。
FontDescription
fontSize テキストのサイズ(ピクセル単位)です。Number0 未満の値に設定する場合。 ArgumentErrorArgumentErrorElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError テキストのサイズ(ピクセル単位)です。

デフォルト値は 12.0 です。

サブクラスプロパティ設定の効果GraphicElement効果はありません。GroupElement効果はありません。TextElementエレメントのテキストのサイズをピクセル単位で指定します。
kerning カーニングでは、読みやすくするために、特定の文字ペア間でピクセルを調整します。StringElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError カーニングでは、読みやすくするために、特定の文字ペア間でピクセルを調整します。カーニングは、カーニングテーブルを持つすべてのフォントに対してサポートされています。

デフォルト値は Kerning.ON です。

このプロパティの値を設定するには、Kerning クラスに以下の定数を使用します。

ストリング値説明Kerning.ONカーニングが有効にされています。Kerning.OFFカーニングが無効にされています。Kerning.AUTOカーニングは、アジア系文字のテキスト編集で不適切な場合を除き、有効にされています。 カーニングは、漢字、ひらがなまたはカタカナのいずれでもない 2 文字の間に適用されます。

サブクラスプロパティ設定の効果GraphicElement効果はありません。GroupElementグループ内で隣接するテキストエレメント間でカーニングが適用されるかどうかを決定します。グループの elementFormat が、null の場合、隣接するエレメントの最初のエレメントのフォーマットが使用されます。TextElementテキストエレメントの文字間でカーニングが適用されるかどうかを決定します。 KerningligatureLevel このテキストに使用される合字のレベルです。StringLigatureLevel のメンバーでないいずれかの値に設定する場合。 ArgumentErrorArgumentErrorElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError このテキストに使用される合字のレベルです。2 つ以上の letter-form が 1 つの文字に結合された場合には、合字が起こります。合字は通常、「fi」、「fl」、「ae」などの文字の組の用に共通のコンポーネントを共有する連続した文字を置き換えます。合字は、ラテン語およびラテン語以外の文字セットの両方で使用されます。このプロパティには、LigatureLevel 定数を使用します。

デフォルト値は LigatureLevel.COMMON です。

このプロパティの値を設定するには、次のストリング値を使用します。

ストリング値説明LigatureLevel.NONE合字は作成されません。LigatureLevel.MINIMUM最低限の合字が作成されます。LigatureLevel.COMMON一般的な欧文合字が作成されます。LigatureLevel.UNCOMMON珍しい合字が作成されます。LigatureLevel.EXOTIC特殊な合字が作成されます。

サブクラスプロパティ設定の効果GraphicElement効果はありません。GroupElementグループ内で隣接するテキストエレメント間で合字のレベルを判断します。グループの elementFormat が、null の場合、隣接するエレメントの最初のエレメントのフォーマットが使用されます。TextElementテキストエレメントの文字間で合字のレベルを判断します。 LigatureLevellocale テキストのロケールです。StringElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError テキストのロケールです。大文字小文字変換およびシェイピングを制御します。標準のロケール識別子が使用されます。例えば、「en」、「en_US」および「en-US」はすべて英語で、「ja」は日本語です。ロケールコードのリストについては、ISO 639-2 コードのリストを参照してください。

デフォルト値は「en」です。

サブクラスプロパティ設定の効果GraphicElement効果はありません。GroupElement効果はありません。TextElementエレメントのテキストの大文字小文字変換およびシェイピングを決定します。
locked ElementFormat がロックされているかどうかを示します。BooleanElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError ElementFormat がロックされているかどうかを示します。true の場合、ElementFormat を変更することはできません。ElementFormat.clone() を呼び出して ElementFormat オブジェクトのロックされていないコピーを取得します。 textRotation 個々の文字に適用される回転を設定します。StringTextRotation のメンバーではないいずれかの値に設定する場合。 ArgumentErrorArgumentErrorElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError 個々の文字に適用される回転を設定します。このプロパティには、TextRotation クラスで定義されている定数を使用します。

デフォルト値は TextRotation.AUTO です。

任意の文字の最終的な回転は、ElementFormat.textRotationContentElement.textRotation および TextBlock.lineRotation の合計になります。

通常、このプロパティは、縦書きレイアウトで正しく表示されるために文字を回転しなければならないアジア系文字のテキストに使用します。これを行うには、TextRotation.AUTOTextBlock.lineRotation = TextRotation.ROTATE_90 とを一緒に使用します。

縦書きのレイアウト情報を含まないフォントに対してこのプロパティを設定すると、好ましくない結果になることがあります。 日本語フォントの「MS 明朝」などの vmtx テーブルや VORG テーブルを含むフォントは、正しくレイアウトするためにレイアウトエンジンで必要になるデータがこれらのテーブルによって提供されるので、正しく機能します。必要な情報を持っていない Verdana のようなフォントは正しく機能しません。

このプロパティの値を設定するには、次のストリング値を使用します。

ストリング値説明TextRotation.ROTATE_0文字は回転しません。TextRotation.ROTATE_90文字は時計回りに 90 度回転します。TextRotation.ROTATE_180文字は 180 度回転します。TextRotation.ROTATE_270文字は時計回りに 270 度回転します。TextRotation.AUTO文字の Unicode プロパティに従って、全角文字に対してのみ、反時計回りの 90 度回転を指定します。この値は通常、日中韓のテキストで回転が必要な文字に対してのみ使用されます。この回転は、縦書きテキストにのみ適用され、他の文字に影響を与えずに全角文字を垂直方向に変えます。

サブクラスプロパティ設定の効果GraphicElement効果はありません。GroupElement効果はありません。TextElementテキストエレメントの文字の回転を決定します。 TextRotationContentElement.textRotationTextBlock.lineRotationtrackingLeft 各文字の左側に適用されるトラッキングまたは手動カーニング(ピクセル単位)です。NumberElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError 各文字の左側に適用されるトラッキングまたは手動カーニング(ピクセル単位)です。kerning が有効にされている場合、フォントのカーニングテーブルの値に trackingLeft 値が追加されます。kerning が無効にされている場合、trackingLeft 値が手動カーニングの値として使用されます。正の値と負の値の両方がサポートされます。

一般に、必要なトラッキング値は trackingRighttrackingLeft の間で分割されます。そうでない場合、つまり複数の方向性が混在しているテキストでは、双方向境界ではトラッキングは 2 倍、それ以外では none となります。

デフォルト値は 0.0 です。

サブクラスプロパティ設定の効果GraphicElementグラフィックの左側に適用されるトラッキングを決めます。GroupElement効果はありません。TextElementテキストエレメント中の文字の左側に適用されるトラッキングを決めます。

例:

//positive tracking added to kerning var ef1:ElementFormat = new ElementFormat(); ef1.kerning = flash.text.engine.Kerning.ON; ef1.trackingLeft = 0.5; //negative manual kerning var ef2:ElementFormat = new ElementFormat(); ef2.kerning = flash.text.engine.Kerning.OFF; ef2.trackingLeft = -1.0;
trackingRight 各文字の右側に適用されるトラッキングまたは手動カーニング(ピクセル単位)です。NumberElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError 各文字の右側に適用されるトラッキングまたは手動カーニング(ピクセル単位)です。kerning が有効にされている場合、フォントのカーニングテーブルの値に trackingRight 値が追加されます。kerning が無効にされている場合、trackingRight 値が手動カーニングの値として使用されます。正の値と負の値の両方がサポートされます。

一般に、必要なトラッキング値は trackingRighttrackingLeft の間で分割されます。そうでない場合、つまり複数の方向性が混在しているテキストでは、双方向境界ではトラッキングは 2 倍、それ以外では none となります。

デフォルト値は 0.0 です。

サブクラスプロパティ設定の効果GraphicElementグラフィックの右側に適用されるトラッキングを決めます。GroupElement効果はありません。TextElementテキストエレメント中の文字の右側に適用されるトラッキングを決めます。

例:

//positive tracking added to kerning var ef1:ElementFormat = new ElementFormat(); ef1.kerning = flash.text.engine.Kerning.ON; ef1.trackingRight = 0.5; //negative manual kerning var ef2:ElementFormat = new ElementFormat(); ef2.kerning = flash.text.engine.Kerning.OFF; ef2.trackingRight = -1.0;
typographicCase このテキストに使用される文字の大文字小文字区別です。StringTypographicCase のメンバーではない値に設定する場合。 ArgumentErrorArgumentErrorElementFormat オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError このテキストに使用される文字の大文字小文字区別です。このプロパティには、TypographicCase クラスで定義されている定数を使用します。

デフォルト値は TypographicCase.DEFAULT です。

このプロパティの値を設定するには、次のストリング値を使用します。

ストリング値説明TypographicCase.DEFAULTすべての文字に通常の大文字と小文字を使用するよう指定します。TypographicCase.TITLE出力時にタイトル文字に大文字を使用するよう指定します。TypographicCase.CAPS出力時に大文字の間隔が調整されるよう指定します。TypographicCase.SMALL_CAPS出力時に大文字でスモールキャップ文字を使用するよう指定します。TypographicCase.UPPERCASE出力時にすべての文字で大文字を使用するよう指定します。TypographicCase.LOWERCASE出力時にすべての文字で小文字を使用するよう指定します。TypographicCase.CAPS_AND_SMALL_CAPS出力時にすべての小文字でスモールキャップス文字を使用するよう指定します。

サブクラスプロパティ設定の効果GraphicElement効果はありません。GroupElement効果はありません。TextElementエレメントのテキストに使用する文字の大文字小文字区別を決定します。 TypographicCaseTextJustifier TextJustifier クラスは、TextBlock に適用可能な均等配置の種類に対する抽象基本クラスで、EastAsianJustifier クラスおよび SpaceJustifier クラスです。Object TextJustifier クラスは、TextBlock に適用可能な均等配置の種類に対する抽象基本クラスで、EastAsianJustifier クラスおよび SpaceJustifier クラスです。

TextJustifier クラスを直接インスタンス化することはできません。new TextJustifier() を呼び出すと ArgumentError 例外がスローされます。EastAsianJustifier オブジェクトまたは SpaceJustifier オブジェクトが TextBlock に適用された後で EastAsianJustifier オブジェクトまたは SpaceJustifier オブジェクトのプロパティを設定しても、TextBlock は無効化されません。

EastAsianJustifierSpaceJustifierTextBlock.textJustifierTextJustifier new TextJustifier() コンストラクターを呼び出すと、ArgumentError 例外がスローされます。指定された localenull であるか、有効なロケールを表すには短すぎます。 ArgumentErrorArgumentError指定された lineJustification は、LineJustification のメンバーではありません。 ArgumentErrorArgumentErrorlocaleString均等配置規則を決定するためのロケールです。 lineJustificationString段落に対する行の均等配置タイプです。このプロパティには、LineJustification 定数を使用します。 new TextJustifier() コンストラクターを呼び出すと、ArgumentError 例外がスローされます。ただし、次に示す TextJustifier のサブクラスについてはコンストラクターを呼び出すことができます。
  • new SpaceJustifier()
  • new EastAsianJustifier()
EastAsianJustifierLineJustificationSpaceJustifier
clone TextJustifier のクローンコピーを構築します。TextJustifier オブジェクトのコピーです。 flash.text.engine:TextJustifier TextJustifier のクローンコピーを構築します。

TextJustifier のサブクラスによって、このメソッドをオーバーライドする必要があります。

getJustifierForLocale 指定されたロケールに適切なデフォルトの TextJustifier サブクラスを作成します。指定された localenull であるか、有効なロケールを表すには短すぎます。 ArgumentErrorArgumentErrorTextJustifier オブジェクトへの参照です。 flash.text.engine:TextJustifierlocaleString作成される均等配置を決定するためのロケールです。 指定されたロケールに適切なデフォルトの TextJustifier サブクラスを作成します。

ロケールが中国語、韓国語または日本語の場合、このメソッドはデフォルトの EastAsianJustifier オブジェクトを作成します。それ以外の場合、テキストエンジンはデフォルトの SpaceJustifier オブジェクトを作成します。

lineJustification テキストブロック内のテキストの行の均等配置を指定します。String テキストブロック内のテキストの行の均等配置を指定します。

LineJustification によって、このプロパティに対する有効な値と定義される次の定数を使用します。

ストリング値説明LineJustification.UNJUSTIFIED均等配置されていない行を生成します。LineJustification.ALL_BUT_LAST最後の行以外すべての行を均等配置して生成します。LineJustification.ALL_INCLUDING_LASTすべての行を均等配置して生成します。
LineJustification
locale テキストブロック内のテキストの均等配置規則を決定するためのロケールを指定します。String指定された localenull であるか、有効なロケールを表すには短すぎます。 ArgumentErrorArgumentError テキストブロック内のテキストの均等配置規則を決定するためのロケールを指定します。標準のロケール識別子が使用されます。例えば、「en」、「en_US」および「en-US」はすべて英語で、「ja」は日本語です。
FontDescription FontDescription クラスは、フォントを説明するために必要な情報を表します。Object FontDescription クラスは、フォントを説明するために必要な情報を表します。

FontDescription オブジェクトは ElementFormat に適用され、その ElementFormat は TextBlock の ContentElement に適用されます。FontDescription が ElementFormat に適用されると、その locked プロパティは true に設定されます。ロックされた FontDescription オブジェクトのプロパティを変更することはできません。代わりに、clone() メソッドを使用してオブジェクトのロックされていないコピーを作成し、そのコピーを変更して ElementFormat に割り当てることができます。

注意:FTE(Flash Text Engine)は Type 1 フォントやビットマップフォント(Type 3、ATC、sfnt-wrapped CID、Naked CID など)をサポートしていません。

この例では FontDescription オブジェクトを作成し、それにデバイスフォントを割り当て、様々なフォントプロパティを設定し、ElementFormat オブジェクトに新しいオブジェクトを割り当てます。追加フォントのフォーマットは ElementFormat 内で行われます。 新しい TextElement が作成され、ElementFormat が指定されています。また、TextElementTextBlock のコンテンツとして使用されます。テキストの行が、TextBlock から作成されます。

package { import flash.display.Sprite; import flash.text.engine.*; public class FontDescriptionExample extends Sprite { public function FontDescriptionExample():void { var fd:FontDescription = new FontDescription(); fd.fontLookup = flash.text.engine.FontLookup.DEVICE; fd.fontName = "Palatino"; fd.fontWeight = flash.text.engine.FontWeight.BOLD; fd.fontPosture = flash.text.engine.FontPosture.ITALIC; var ef1:ElementFormat = new ElementFormat(fd); ef1.fontSize = 30; ef1.color = 0xFF0000; var str:String = "This is flash text 0123456789"; var tb:TextBlock = new TextBlock(); var te1:TextElement = new TextElement(str, ef1); tb.content = te1; var line1:TextLine = tb.createTextLine(null, 600); addChild(line1); } } }
ElementFormat.fontDescriptionFontDescription FontDescription オブジェクトを作成します。指定された fontWeight は、FontWeight のメンバーではありません。 ArgumentErrorArgumentError指定された fontPosture は、FontPosture のメンバーではありません。 ArgumentErrorArgumentError指定された fontLookup は、FontLookup のメンバーではありません。 ArgumentErrorArgumentError指定された renderingMode は、RenderingMode のメンバーではありません。 ArgumentErrorArgumentError指定された cffHinting は、CFFHinting のメンバーではありません。 ArgumentErrorArgumentErrorfontNameString_serif使用するフォント名またはフォント名のカンマ区切りリストです。 fontWeightStringnormalフォントの太さを指定します。 fontPostureStringnormalフォントの傾きを指定します。 fontLookupStringdeviceフォントの検索方法を指定します。 renderingModeStringcffこのテキストに使用されるレンダリングモードです。このプロパティには RenderingMode 定数を使用します。 cffHintingStringhorizontalStemこのテキストに使用された CFF(コンパクトフォントフォーマット)ヒンティングの種類。このプロパティには CFFHinting 定数を使用します。 FontDescription オブジェクトを作成します。 clone FontDescription のロックされていないクローンコピーを構築します。FontDescription オブジェクトのロックされていないコピーです。 flash.text.engine:FontDescription FontDescription のロックされていないクローンコピーを構築します。

この例では FontDescription オブジェクトを作成し、それにデバイスフォントを割り当て、様々なフォントプロパティを設定し、ElementFormat オブジェクトに新しいオブジェクトを割り当てます(つまり、ロックします)。新しい TextElement が作成され、ElementFormat が指定されています。また、TextElementTextBlock のコンテンツとして使用されます。テキストの行が、TextBlock から作成されます。

FontDescription オブジェクトを変更するには、その locked プロパティを最初にチェックします。 true である場合は、clone() メソッドを使用して FontDescription のロックされていないコピーを作成し、それを新しい ElementFormat オブジェクトに割り当てます。次に、その新しい ElementFormatTextBlock に再リンクします。行が再改行されると、新しい行には新しいフォント設定が使用されます。

package { import flash.display.Sprite; import flash.text.engine.*; public class FontDescription_cloneExample extends Sprite { private var fd:FontDescription; private var fd2:FontDescription; public function FontDescription_cloneExample():void { fd = new FontDescription(); fd.fontLookup = flash.text.engine.FontLookup.DEVICE; fd.fontName = "Palatino"; fd.fontWeight = flash.text.engine.FontWeight.BOLD; fd.fontPosture = flash.text.engine.FontPosture.ITALIC; var ef1:ElementFormat = new ElementFormat(fd); var str:String = "This is flash text 0123456789"; var tb:TextBlock = new TextBlock(); var te1:TextElement = new TextElement(str, ef1); tb.content = te1; var line1:TextLine = tb.createTextLine(null, 600); addChild(line1); fd2 = (fd.locked) ? fd.clone() : fd; fd2.fontWeight = flash.text.engine.FontWeight.NORMAL; var ef2:ElementFormat = new ElementFormat(fd2); tb.content.elementFormat=ef2; var line2:TextLine = tb.createTextLine(null, 600); addChild(line2); } } }
isDeviceFontCompatible 使用可能なデバイス フォントを、指定された fontName、fontWeight および fontPosture で利用できる場合は true を返します。指定された fontWeight は、FontWeight のメンバーではありません。 ArgumentErrorArgumentError指定された fontPosture は、FontPosture のメンバーではありません。 ArgumentErrorArgumentError互換性のあるデバイスフォントを利用できる場合は true、それ以外の場合は false を返します。 BooleanfontNameStringチェックするデバイスフォントの名前です。 fontWeightStringフォントの太さを指定します。FontWeight を使用します。 fontPostureStringフォントの傾きを指定します。FontPosture を使用します。 使用可能なデバイス フォントを、指定された 、fontNamefontWeight および fontPosture で利用できる場合は true を返します。

flash.text.engine クラスで使用できるのは、OpenType および TrueType デバイスフォントのみです。 以前のフォント技術に基づいたフォントを使用している場合は、ランタイムはテキストの表示に文字ごとのベースで最適なデバイスフォントを使用します。

fontLookupTextBlock.createTextLine()FontPostureFontWeight
isFontCompatible Font.fontType が flash.text.FontType.EMBEDDED_CFF の場合に、指定された fontName、fontWeight、fontPosture で利用できる埋め込みフォントがある場合には、true を返します。指定された fontWeight は、FontWeight のメンバーではありません。 ArgumentErrorArgumentError指定された fontPosture は、FontPosture のメンバーではありません。 ArgumentErrorArgumentError互換性のある埋め込みフォントが利用できる場合には true、それ以外の場合には false となります。 BooleanfontNameStringチェックする埋め込みフォントの名前です。 fontWeightStringフォントの太さを指定します。FontWeight を使用します。 fontPostureStringフォントの傾きを指定します。FontPosture を使用します。 指定された fontNamefontWeightfontPostureFont.fontTypeflash.text.FontType.EMBEDDED_CFFで利用できる埋め込みフォントがあり の場合には、true を返します。Flash Player 10 以降では、2 種類の埋め込みフォントをアプリケーションのコンテンツに表示できます。 通常の埋め込みフォントは TextField でのみ使用されます。CFF の埋め込みフォントは flash.text.engine クラスでのみ使用されます。この 2 つのタイプは、fontType プロパティ(Font クラス)で区別されます。これは、enumerateFonts() 関数で返されます。

flash.text.engine クラスは EMBEDDED タイプのフォントを使用できません。fontLookupFontLookup.EMBEDDED_CFF に設定され、指定された名前、太さ、傾きで実行時に利用可能なフォントのタイプが EMBEDDED の場合には、ランタイムはテキストの表示に文字ごとのベースでデバイスフォントを使用します。これは、指定された名前やスタイルで使用できる埋め込みフォントがないのと同じです。

同じ名前、太さ、傾きで EMBEDDED および EMBEDDED_CFF フォントの両方が利用できる場合は、EMBEDDED_CFF フォントが選択され、テキストは EMBEDDED_CFF フォントで表示されます。

fontLookupTextBlock.createTextLine()FontType.EMBEDDED_CFFFontPostureFontWeight
cffHinting このテキストに使用される CFF ヒンティングのタイプです。StringCFFHinting のメンバーでないいずれかの値に設定する場合。 ArgumentErrorArgumentErrorFontDescription オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError このテキストに使用される CFF ヒンティングのタイプです。このプロパティには CFFHinting 定数を使用します。このプロパティは、テキストの RenderingMode プロパティが RenderingMode.CFF に設定されている場合にのみ適用されます。

使用されている CFF(コンパクトフォントフォーマット)ヒンティングのタイプによって、Flash ランタイムが強制的に太い水平線をサブピクセルグリッドに合わせるどうかが決まります。

埋め込みフォントにのみ適用されます。

デフォルト値は CFFHinting.HORIZONTAL_STEM です。

CFFHinting プロパティでは、CFFHinting から次の定数を使用できます。

ストリング値説明CFFHinting.NONECFF ヒンティングは指定しません。文字中の水平線をサブピクセルグリッドに合わせる処理は行われません。 これはアニメーションや大きなフォントサイズに適した設定です。CFFHinting.HORIZONTAL_STEMCFF ヒンティングを指定します。太い水平線は、スクリーンのサブピクセルグリッドに合わされます。 この設定を使用するには、RenderingMode プロパティが RenderingMode.CFF に設定されている必要があります。
CFFHintingFontDescription.renderingModeRenderingMode
fontLookup フォントの検索方法を指定します。StringFontDescription オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError フォントの検索方法を指定します。

デフォルト値は FontLookup.DEVICE です。

このプロパティの値を設定するには、次のストリング値を使用します。

ストリング値説明FontLookup.DEVICEランタイムはテキストをレンダリングするローカルシステムの指定された name でデバイスフォントを検索します。FontLookup.EMBEDDED_CFFランタイムはテキストをレンダリングする指定された name で埋め込みの CFF フォントを検索します。flash.text.Font.fontType.EMBEDDED_CFF タイプのフォントだけが対象となります。指定された CFF フォントがアプリケーションに埋め込まれていない場合、ランタイムは、それぞれの文字に対するフォールバックデバイスフォントを使用しようとします。このメソッドは、最初からデバイスフォントを選択するより、効率が悪くなります。
CFFHintingFontLookup
fontName 使用するフォント名またはフォント名のカンマ区切りリストです。StringFontDescription オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError 使用するフォント名またはフォント名のカンマ区切りリストです。 ランタイムは、リスト内の使用できる先頭のフォントを使用してエレメントをレンダリングします。例えば、「Arial」、「Helvetica」、「_sans」の場合は、「Arial」が検索され、Arial が見つからないときは「Helvetica」が、それらがいずれも見つからないときは「_sans」が検索されます。

Flash ランタイムでは、「_sans」(sans serif フォント用)、「_serif」(serif フォント用)、「_typewriter」(等幅フォント用)の 3 つのジェネリックなデバイスフォントをサポートしています。 これらのフォント名は、プラットフォームに応じて特定のデバイスフォントにマップされます。

デフォルト値は「_serif」です。

Flash ランタイムでは、選択されたフォントで見つからない文字に対するフォントフォールバックが提供されています。 使用されているフォントが埋め込みフォントであってもデバイスフォントであっても、文字がフォントに見つからない場合、Flash ランタイムは、その文字を含むと思われる別のデバイスフォントを使用する文字をレンダリングしようとします。

FontLookup
fontPosture フォントの傾きを指定します。StringFontPosture のメンバーでないいずれかの値に設定する場合。 ArgumentErrorArgumentErrorFontDescription オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError フォントの傾きを指定します。

デフォルト値は FontPosture.NORMAL です。

このプロパティの値を設定するには、FontPosture クラスから以下の定数を使用します。

説明FontPosture.NORMAL標準フォントの傾斜です。FontPosture.ITALICイタリックフォントの傾斜です。
FontPosture
fontWeight フォントの太さを指定します。StringFontWeight のメンバーでないいずれかの値に設定する場合。 ArgumentErrorArgumentErrorFontDescription オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError フォントの太さを指定します。

デフォルト値は FontWeight.NORMAL です。

このプロパティの値を設定するには、FontWeight クラスから以下の定数を使用します。

ストリング値説明FontWeight.NORMAL標準フォントの太さです。FontWeight.BOLDボールドフォントの太さです。
FontWeight
locked FontDescription がロックされているかどうかを示します。BooleanFontDescription オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError FontDescription がロックされているかどうかを示します。true の場合、FontDescription を変更することはできません。FontDescription.clone() を呼び出して FontDescription オブジェクトのロックされていないコピーを取得します。 renderingMode このテキストに使用されるレンダリングモードです。StringRenderingMode のメンバーでないいずれかの値に設定する場合。 ArgumentErrorArgumentErrorFontDescription オブジェクトのロック後に設定する場合(lockedtrue の場合)。 IllegalOperationErrorflash.errors:IllegalOperationError このテキストに使用されるレンダリングモードです。このプロパティには RenderingMode 定数を使用します。

埋め込みフォントにのみ適用されます。

デフォルト値は RenderingMode.CFF です。

このプロパティの値を設定するには、RenderingMode クラスから以下の定数を使用します。

ストリング値説明RenderingMode.NORMAL標準のテキストレンダリングを適用します。これは、Flash Player 7 以前のバージョンで使用されているレンダリングのタイプと一致します。RenderingMode.CFFテキストを読みやすくする CFF(コンパクトフォントフォーマット)レンダリングを適用します。これは Flash Player 10 で使用可能になった機能です。 CFF レンダリングでは、小さいサイズのフォントフェイスを高品質でレンダリングすることができます。
RenderingMode
GroupElement GroupElement オブジェクトは、TextElement、GraphicElement、または他の GroupElement オブジェクトの集合をグループ化します。これを一単位として TextBlock オブジェクトの content プロパティに割り当てることができます。flash.text.engine:ContentElement GroupElement オブジェクトは、TextElement、GraphicElement、または他の GroupElement オブジェクトの集合をグループ化します。これを一単位として TextBlock オブジェクトの content プロパティに割り当てることができます。GroupElement オブジェクトでは、別の GroupElement オブジェクト内で共通フォーマットを共有することもできます。

GroupElement に他の GroupElement が含まれているときには、内部の GroupElement は独自のフォーマットを保持しています(ElementFormat 設定)。外側の GroupElement のフォーマットは継承しません。

GroupElement に対しては、フォーマットプロパティのほとんどは何の影響も与えません。この理由から、elementFormat パラメーターが null となっている GroupElement オブジェクトのテキスト行を作成することができます。kerningligature など小数のフォーマットプロパティは、グループのメンバー間で交差がある箇所に関するフォーマットに影響を与えます。グループが持っているフォーマットが null の場合には、グループのメンバー間で生じる交差におけるフォーマットは、前のエレメントのフォーマットにより決定します。

この例では、GraphicElement オブジェクトとして赤いボックスを作成し、これを 2 つの TextElement オブジェクトと結合して、GroupElement オブジェクトを作成します。GroupElement オブジェクトを TextBlock の content プロパティに割り当て、そこから 3 行作成します。 package { import flash.display.Sprite; import flash.display.MovieClip; import flash.text.engine.ContentElement; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.GraphicElement; import flash.text.engine.GroupElement; import flash.text.engine.TextLine; import flash.text.engine.ElementFormat; import flash.text.engine.FontDescription; public class GroupElementExample extends Sprite { public function GroupElementExample():void { var redBox:MovieClip = new MovieClip(); redBox.graphics.beginFill(0xCC0000, 1.0); redBox.graphics.drawRect(0, 0, 20, 20); redBox.graphics.endFill(); var format:ElementFormat = new ElementFormat(); var fontDescription:FontDescription = new FontDescription("Arial"); format.fontSize = 16; format.fontDescription = fontDescription; var str1:String = "This red box is a GraphicElement "; var str2:String = " in the middle of two TextElements, " + " which together make " + "up a GroupElement in a TextBlock that is broken into three lines."; var textElement1:TextElement = new TextElement(str1,format); var graphicElement:GraphicElement = new GraphicElement(redBox,redBox.width,redBox.height, format); var textElement2:TextElement = new TextElement(str2, format); var groupVector:Vector.<ContentElement> = new Vector.<ContentElement>(); groupVector.push(textElement1, graphicElement, textElement2); var groupElement = new GroupElement(groupVector); var textBlock:TextBlock = new TextBlock(); textBlock.content = groupElement; createTextLines(textBlock); } private function createTextLines(textBlock:TextBlock):void { var yPos = 20; var line_length:Number = 450; var textLine:TextLine = textBlock.createTextLine (null, line_length); while (textLine) { addChild(textLine); textLine.x = 15; yPos += textLine.height+8; textLine.y = yPos; textLine = textBlock.createTextLine(textLine, line_length); } } } }
ContentElementGraphicElementTextBlockTextElementGroupElement 新しい GroupElement インスタンスを作成します。指定された elementnull エレメントが含まれています。 ArgumentErrorArgumentError指定された element に、ContentElement の既知のサブクラスではないエレメントが含まれています。 ArgumentErrorArgumentError指定された element に、contentTextBlock)として指定されたエレメントが含まれています。 ArgumentErrorArgumentError指定された element に、既にグループのメンバーであるか、elements に複数回表示されたエレメントが含まれています。 ArgumentErrorArgumentErrorelementsnullGroupElement 内に格納される ContentElement オブジェクトの Vector です。Vector が空の可能性があります。デフォルト値は null です。 elementFormatflash.text.engine:ElementFormatnullグループのエレメント形式です。デフォルト値は null です。このフォーマットは、グループ内のエレメントが交わる部分に適用されます。これらのエレメントはフォーマットを継承しません。 eventMirrorflash.events:EventDispatchernullこのコンテンツエレメントに基づいて作成されたテキスト行に送出されるすべてのイベントのコピーを受け取る EventDispatcher オブジェクトです。デフォルト値は null です。 textRotationStringrotate0単位としてエレメントに適用される回転です。このプロパティには、TextRotation 定数を使用します。デフォルト値は、TextRotation.ROTATE_0 です。 新しい GroupElement インスタンスを作成します。 ContentElementElementFormatflash.events.EventDispatcherTextLineMirrorRegionTextRotationgetElementAtCharIndex charIndex パラメーターで指定された位置の文字を含むエレメントを返します。charIndex0 ~ rawText.length の範囲内にない場合。 RangeErrorRangeErrorcharIndex で指定された位置の文字を含むエレメントです。 flash.text.engine:ContentElementcharIndexint検索するエレメントの文字に対する 0 から始まるインデックス値です。0 の値はグループ内の最初の文字に対応します。TextBlock 内の最初の文字ではありません。 charIndex パラメーターで指定された位置の文字を含むエレメントを返します。 getElementAt グループ内からエレメントを取得します。index が範囲外の場合。 RangeErrorRangeErrorflash.text.engine:ContentElementindexint取得するエレメントのインデックスです。 グループ内からエレメントを取得します。 getElementIndex element パラメーターで指定されたエレメントのインデックスを返します。element で指定されたエレメントのインデックスです。エレメントがグループ内にない場合は -1 になります。 intelementflash.text.engine:ContentElementインデックスを検索するグループのエレメントです。 element パラメーターで指定されたエレメントのインデックスを返します。 groupElements beginIndex パラメーターと endIndex パラメーターで指定されたエレメント範囲を、これらのエレメントを含む新しい GroupElement に置き換えます。beginIndex または endIndex が範囲外の場合。 RangeErrorRangeError新しいグループです。 flash.text.engine:GroupElementbeginIndexintグループ化する範囲の開始位置の 0 から始まるインデックス値です。 endIndexintグループ化する範囲の終了位置の後の 0 から始まるインデックス値です。 beginIndex パラメーターと endIndex パラメーターで指定されたエレメント範囲を、これらのエレメントを含む新しい GroupElement パラメーターに置き換えます。意図したとおり、beginIndex から endIndex-1 までのエレメントが置き換えられます。 mergeTextElements エレメントのフォーマットに影響を与えずに、beginIndex パラメーターと endIndex パラメーターで指定されたエレメントの範囲からのテキストを beginIndex で指定されたエレメントに結合します。beginIndex または endIndex が範囲外の場合。 RangeErrorRangeError指定された範囲内のいずれかのエレメントが TextElement ではない場合。 ArgumentErrorArgumentError範囲内の最初のテキストエレメントに、範囲内のすべてのテキストが含まれるようになります。 flash.text.engine:TextElementbeginIndexint結合範囲の開始位置の 0 から始まるインデックス値です。 endIndexint結合範囲の終了位置に後続する位置の 0 ベースのインデックス値です。 エレメントのフォーマットに影響を与えずに、beginIndex パラメーターと endIndex パラメーターで指定されたエレメントの範囲からのテキストを beginIndex で指定されたエレメントに結合します。意図したとおり、beginIndex から endIndex-1 までのエレメントからのテキストが結合されます。テキストが結合された後、beginIndex+1 から endIndex-1 までのエレメントはグループ解除されて孤立化し、group プロパティが null になります。 TextElementreplaceElements beginIndex パラメーターと endIndex パラメーターで指定されたエレメント範囲を、newElements パラメーターの内容に置き換えます。指定された beginIndex または endIndex は範囲外です。 RangeErrorRangeError指定された newElementsnull エレメントが含まれています。 ArgumentErrorArgumentError指定された newElementsthis が含まれています。 ArgumentErrorArgumentError指定された newElements に、ContentElement の既知のサブクラスではないエレメントが含まれています。 ArgumentErrorArgumentError指定された newElements に、contentTextBlock)として指定されたエレメントが含まれています。 ArgumentErrorArgumentError指定された newElements に、既にグループのメンバーであるか、elements に複数回表示されたエレメントが含まれています。 ArgumentErrorArgumentError処理の結果、GroupElement 内で回転がネストする場合。 ArgumentErrorArgumentError置き換えられたエレメントを含む Vector です。 beginIndexint置換範囲の開始位置の 0 から始まるインデックス値です。 endIndexint置換範囲の終了位置に後続する位置の 0 ベースのインデックス値です。 newElements指定されたエレメント範囲の置き換えに使用されるエレメントです。 beginIndex パラメーターと endIndex パラメーターで指定されたエレメント範囲を、newElements パラメーターの内容に置き換えます。beginIndex から endIndex-1 までのエレメントが置き換えられます。

エレメントを削除するには、nullnewElements に渡します。エレメントを挿入するには、beginIndex および endIndex に同じ値を渡します。新しいエレメントは、指定されたインデックスの前に挿入されます。エレメントを追加するには、elementCountbeginIndex および endIndex に渡します。

処理の後、置き換えられたエレメントは孤立化し、group プロパティが null となって返されます。

setElements グループ内のエレメントを Vector のコンテンツに設定します。指定された valuenull エレメントが含まれています。 ArgumentErrorArgumentError指定された valuethis が含まれています。 ArgumentErrorArgumentError指定された value に、ContentElement の既知のサブクラスではないエレメントが含まれています。 ArgumentErrorArgumentError指定された value に、TextBlockcontent として指定されたエレメントが含まれています。 ArgumentErrorArgumentError指定された value に、既にグループのメンバーであるか、value に複数回表示されたエレメントが含まれています。 ArgumentErrorArgumentError処理の結果、GroupElement 内で回転がネストする場合。 ArgumentErrorArgumentErrorvalue グループ内のエレメントを Vector のコンテンツに設定します。 splitTextElement TextElement を 2 つに分割し、指定された位置に新しい TextElement を作成します。elementIndex または charIndex が範囲外の場合。 RangeErrorRangeErrorelementIndex の位置のエレメントが TextElement ではない場合。 ArgumentErrorArgumentError元のテキストエレメントの後ろの部分を含む新しいテキストエレメントです。 flash.text.engine:TextElementelementIndexintグループ内のエレメントの位置の 0 から始まるインデックス値です。 splitIndexint分割が発生する TextElement 内の文字の 0 から始まるインデックス値です。指定された文字は、新しい TextElement 内の最初の文字になります。 TextElement を 2 つに分割し、指定された位置に新しい TextElement を作成します。 TextElementungroupElements groupIndex が外側の GroupElement オブジェクト内で指定するネストされた GroupElement のエレメントをグループ解除します。groupIndex が範囲外の場合。 RangeErrorRangeErrorgroupIndex の位置のエレメントが GroupElement ではない場合。 ArgumentErrorArgumentErrorgroupIndexint分割されるグループの位置の 0 から始まるインデックス値です。 groupIndex が外側の GroupElement オブジェクト内で指定するネストされた GroupElement のエレメントをグループ解除します。処理後、グループ解除されたエレメントは、ネストされた GroupElement に置き換えられて孤立化し、group プロパティが null になります。 elementCount グループ内のエレメント数です。int グループ内のエレメント数です。
ContentElement ContentElement クラスは、GroupElement に表示されるエレメントタイプ、つまり、GraphicElement、別の GroupElement または TextElement に対する基本クラスとして機能します。Object ContentElement クラスは、GroupElement に表示されるエレメントタイプ、つまり、GraphicElement、別の GroupElement または TextElement に対する基本クラスとして機能します。

ContentElement は抽象基本クラスであるため、ContentElement を直接インスタンス化することはできません。new ContentElement() を呼び出すと ArgumentError 例外がスローされます。

ContentElement エレメントは、1 つの GroupElement にだけ、または 1 つのテキストブロックの content にだけ割り当てることができます。

ElementFormatGraphicElementGroupElementTextBlock.contentTextElementTextLineMirrorRegionTextRotationContentElement new ContentElement() コンストラクターを呼び出すと、ArgumentError 例外がスローされます。elementFormatflash.text.engine:ElementFormatnullエレメント内のテキストのエレメント形式です。デフォルト値は null です。 eventMirrorflash.events:EventDispatchernullこのコンテンツエレメントに基づいて作成された有効なテキスト行に送出されるすべてのイベントのコピーを受け取る EventDispatcher オブジェクトです。デフォルト値は null です。 textRotationStringrotate0エレメントを単位として適用される回転です。このプロパティには、TextRotation 定数を使用します。デフォルト値は、TextRotation.ROTATE_0 です。 new ContentElement() コンストラクターを呼び出すと、ArgumentError 例外がスローされます。ただし、次に示す ContentElement のサブクラスについては、コンストラクターを呼び出すことができます
  • new GraphicElement()
  • new GroupElement()
  • new TextElement()
GRAPHIC_ELEMENT テキスト内にグラフィックエレメントが存在するかどうかを示します。0xFDEFuint テキスト内にグラフィックエレメントが存在するかどうかを示します。 rawTextuserData アプリケーションが任意のデータをエレメントに関連付けるための方法を提供します。 アプリケーションが任意のデータをエレメントに関連付けるための方法を提供します。

デフォルト値は null です。

elementFormat エレメントに使用される ElementFormat オブジェクトです。flash.text.engine:ElementFormat エレメントに使用される ElementFormat オブジェクトです。

デフォルト値は null です。

elementFormat プロパティが設定されているときは、提供された ElementFormat オブジェクトがロックされます。その locked プロパティは true に設定されます。ロックされた ElementFormat を変更することはできません。

ElementFormatTextBlockTextElement
eventMirror このコンテンツエレメントに基づいた有効なテキスト行に送出されるすべてのイベントのコピーを受け取る EventDispatcher オブジェクトです。flash.events:EventDispatcher このコンテンツエレメントに基づいた有効なテキスト行に送出されるすべてのイベントのコピーを受け取る EventDispatcher オブジェクトです。実行時に行のどの部分が特定のコンテンツエレメントに基づいて作成されたかを判断することは困難な場合があるため、指定されたオブジェクトを使用して、テキストのテキストリンクまたは他のインタラクティブ要素に対するリスナーを設定できます。リスナーを使用して、下線やテキストがレイアウトされるまで決定できないメトリックなど文字飾りを適用することもできます。 デフォルト値は null です。これは、ミラーされるイベントが送出されないことを意味します。

イベントミラーは、TextLineMirrorRegion クラスのインスタンスなどのテキスト行に明示されます。双方向処理および改行によって、1 つ以上のミラー領域が作成されます。

デフォルト値は null です。

flash.events.EventDispatcherTextLineMirrorRegion
groupElement このエレメントを含む GroupElement オブジェクトです。グループ内に存在しない場合は null になります。flash.text.engine:GroupElement このエレメントを含む GroupElement オブジェクトです。グループ内に存在しない場合は null になります。

デフォルト値は null です。

GroupElement
rawText 任意の U+FDEF 文字を含む、エレメント内のテキストのコピーです。String 任意の U+FDEF 文字を含む、エレメント内のテキストのコピーです。Unicode 文字、U+FDEF は、String 内のグラフィックエレメントの位置をマークします。 textBlockBeginIndex このエレメントの最初の文字のテキストブロック内のインデックスです。int このエレメントの最初の文字のテキストブロック内のインデックスです。この値はキャッシュされません。このメソッドが呼び出されるたびに算出されます。

デフォルト値は -1 です。

textBlock このエレメントが含まれる TextBlock です。flash.text.engine:TextBlock このエレメントが含まれる TextBlock です。

デフォルト値は null です。

TextBlock
textRotation エレメントを単位として適用される回転です。StringTextRotation のメンバーではないいずれかの値に設定する場合。 ArgumentErrorArgumentErrorTextRotation.AUTO に設定する場合。 ArgumentErrorArgumentError処理の結果、GroupElement 内で回転がネストする場合。 ArgumentErrorArgumentError エレメントを単位として適用される回転です。このプロパティには、TextRotation 定数を使用します。

デフォルト値は、TextRotation.ROTATE_0 です。

任意の文字の最終的な回転は、ElementFormat.textRotationContentElement.textRotation および TextBlock.lineRotation の合計になります。

ContentElement.textRotation は、それを含む行とは回転が異なる短いテキストを作成するために使用されます。日本語テキスト内の TCY(縦中横)のテキスト範囲は、この一例です。TCY とは、縦、中、横を表しており、縦書きの日本語テキストの中で使用される小さな横書きのテキスト(通常は数字)です。TCY のテキスト範囲を含む、縦書きの日本語テキストの Paragraph を作成するには、次の処理を行います。

  1. TextBlock.lineRotation=TextRotation.ROTATE_90 と設定します。
  2. TextBlock.content を、3 つの TextElement オブジェクトで構成される GroupElement に設定します。これらのエレメントのうち、1 番目は TCY のテキスト範囲の前にある日本語テキスト、2 番目は TCY のラテン語のテキスト範囲、3 番目は TCY のテキスト範囲の後にある日本語テキストです。
  3. TCY の TextElement の textRotation プロパティを TextRotation.ROTATE_270 に設定します。TCY のテキストエレメントは、単位として回転します。この回転は、行から継承された 90 度回転で開始されます。さらに 270 度回転させると、水平方向に戻ります。

回転したコンテンツエレメントは、ネストできません。コンテンツエレメントのどの階層でも、複雑さの程度に関係なく、1 つのコンテンツエレメントの textRotation プロパティだけを設定できます。以下のメソッドおよびプロパティの setter は、ネストされた回転が検出されると引数エラーをスローします。

  1. ContentElement.textRotation
  2. GroupElement.setElements
  3. GroupElement.replaceElements

このプロパティの値を設定するには、次のストリング値を使用します。

ストリング値説明TextRotation.ROTATE_0エレメントは、回転されません。TextRotation.ROTATE_90エレメントは時計回りに 90 度回転します。TextRotation.ROTATE_180エレメントは 180 度回転します。TextRotation.ROTATE_270エレメントは時計回りに 270 度回転します。TextRotation.AUTOサポートされません。
TextRotationElementFormat.textRotationTextBlock.lineRotation
text String 内でグラフィックエレメントを表す、いずれの U+FDEF 文字も含まない、エレメント内のテキストのコピーです。String String 内でグラフィックエレメントを表す、いずれの U+FDEF 文字も含まない、エレメント内のテキストのコピーです。 TextElement.text
TextBlock TextBlock クラスは、表示リストに配置して表示できる TextLine オブジェクトを作成するためのファクトリです。Object TextBlock クラスは、表示リストに配置して表示できる TextLine オブジェクトを作成するためのファクトリです。

Unicode 双方向アルゴリズムおよび改行アルゴリズムは一度に 1 つの段落に対して実行されるので、TextBlock クラスは単一の段落が含まれることを想定しています。複数の段落でテキストを構成するアプリケーションは、テキストを段落に分割し、段落ごとに 1 つの TextBlock を作成するために、マークアップ言語またはテキスト解析を使用します。

TextBlock オブジェクトは、ContentElement クラスのインスタンスである content プロパティにそのコンテンツを格納します。ContentElement クラスのインスタンスを作成することはできないため、content をそのサブクラスである TextElement、GraphicElement または GroupElement のいずれかのインスタンスに設定します。純粋なテキストコンテンツには TextElement、イメージコンテンツまたはグラフィックコンテンツには GraphicElement、TextElement オブジェクト、GraphicElement オブジェクトおよびその他の GroupElement オブジェクトの組み合わせを含むコンテンツには GroupElement を使用します。フォーマットされたテキスト範囲、埋め込みのサブテキストおよびグラフィックエレメントの管理について詳しくは、ContentElement クラスおよびそのサブクラスを参照してください。

TextBlock インスタンスを作成して content プロパティを設定した後、createTextLine() メソッドを呼び出して TextLine クラスのインスタンスのテキスト行を作成します。

この例は、日本語および英語テキスト中の 3 つの TextBlock 段落です。日本語テキストは、Unicode 文字コードから String に変換されます。ボタンをクリックすると、テキストが水平から垂直へ、または垂直から水平へと回転します。 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(); } } }
ContentElementGraphicElementGroupElementTextBaselineTextElementTextJustifierTextLineTextRotationTabStopTextBlock TextBlock オブジェクトを作成します。 指定された content は、ContentElement の既知のサブクラスではありません。 ArgumentErrorArgumentError指定された content は、既にグループのメンバーです。 ArgumentErrorArgumentError指定された lineRotation は、TextRotation のメンバーではありません。 ArgumentErrorArgumentError指定された baselineZero は、TextBaseline のメンバーではありません。 ArgumentErrorArgumentError指定された bidiLevel は、0 未満です。 ArgumentErrorArgumentError指定された tabStopsnull エレメントが含まれています。 ArgumentErrorArgumentError指定された tabStops は、位置が大きくなる順にソートされません。 ArgumentErrorArgumentError指定された baselineFontSize が、0 未満です。 ArgumentErrorArgumentErrorcontentflash.text.engine:ContentElementnullテキストブロックの内容です。 tabStopsnullテキストブロック内のテキストのタブストップです。 textJustifierflash.text.engine:TextJustifiernullこのブロックの行作成時に使用される TextJustifier オブジェクトです。均等配置を指定しない場合は、英語ロケールに基づいてデフォルトの均等配置が作成されます。 lineRotationStringrotate0テキストブロックを単位として生成されるテキスト行に適用する回転です。 baselineZeroStringromanブロック内のすべての行に対して y=0 であるベースラインを指定します。 bidiLevelint0テキストブロック内のテキストのデフォルトの双方向埋め込みレベルです。 applyNonLinearFontScalingBooleantrueWYSIWYG 印刷の再現性を犠牲にして、画面の外観を強調するように指定します。 baselineFontDescriptionflash.text.engine:FontDescriptionnullブロック内のすべての行に対して、行のベースラインの派生元にするフォントの説明を指定します。 baselineFontSizeNumber12.0baselineFontDescription に使用するサイズを指定します。このパラメーターは、baselineFontDescriptionnull の場合は無視されます。 TextBlock オブジェクトを作成します。 applyNonLinearFontScalingbaselineFontDescriptionbaselineFontSizebaselineZerobidiLevellineRotationtabStopsTextJustifiercreateTextLine テキストブロックの内容からテキスト行を作成し、その場合に previousLine パラメーターで指定されたポイントで開始し、width パラメーターで指定されたポイントで改行するように指示します。previousLine で指定された TextLine が有効でない場合。 ArgumentErrorArgumentErrorpreviousLine で指定された TextLine が別の TextBlock に所有されている場合。 ArgumentErrorArgumentErrorwidth が 0 未満の場合(fitSomething が true の場合を除く)。 ArgumentErrorArgumentErrorwidthTextLine.MAX_LINE_WIDTH より大きい場合。 ArgumentErrorArgumentErrorテキストブロックの 1 つ以上のエレメントに null ElementFormat がある場合。 IllegalOperationErrorflash.errors:IllegalOperationErrorテキスト行。テキストブロックが空か、指定された幅が次のエレメントの幅より小さい場合は null。これらのいずれの場合かを識別するには、テキストブロックの textLineCreationResult プロパティをチェックします。 flash.text.engine:TextLinepreviousLineflash.text.engine:TextLinenull直前に改行された行を指定します。この行の次から改行処理を開始します。1 行目を改行する場合は null を指定します。 widthNumber1000000線幅をピクセル単位で指定します。実際の幅はより小さくなることがあります。 lineOffsetNumber0.0行の起点とタブストップの起点の差をピクセルで指定するオプションのパラメーターです。行揃えしていないが、タブを整列させる必要がある場合に使用できます。このパラメーターのデフォルト値は 0.0 です。 fitSomethingBooleanfalse指定された幅には関係なく(例外がスローされる場合もある幅が 0 または負の場合でも)、1 文字以上をテキスト行に収めるように Flash Player に指示するオプションのパラメーターです。 テキストブロックの内容からテキスト行を作成し、その場合に previousLine パラメーターで指定されたポイントで開始し、width パラメーターで指定されたポイントで改行するように指示します。テキスト行は TextLine オブジェクトで表され、表示リストに追加できます。

既に改行されているテキストブロックの範囲を越えて行を改行すると、改行が発生する領域の内外で行の有効性が変更されることがあります。行のステータスが、VALID から INVALID または POSSIBLY_INVALID に変更されることがあります。新しく改行された行が、ステータスが POSSIBLY_INVALID の前回改行された行に完全に揃っている場合、前回改行された行およびそれ以降のすべての POSSIBLY_INVALID の行のステータスが VALID に戻ります。TextLineValidity のメンバーではない値に設定された行の有効性は、VALID には変更されませんが、INVALID には変更されることがあります。テキストブロックに対する変更の後は、再改行するテキスト行を開始または継続する位置を firstInvalidLine プロパティで確認します。

テキストに Unicode Zero Width Space(ZWSP)文字を含めることによって、人為的な単語分割を作成できます。これは、正しく改行するために辞書が必要になるタイ語などの言語の場合に便利です。Flash ランタイムは、このような辞書を含んでいません。

メモリのオーバーヘッドを削減する方法として、目的の行がすべて作成済みの場合、親のフレームのリサイズなどでその度に再改行が必要になることがない限り、ユーザーは releaseLineCreationData() メソッドを呼び出して、改行に関連する一時データからテキストブロックを解放することができます。

この例では、createTextLine() メソッドを呼び出して、テキストブロック内にテキスト行を作成します。以下の手順を実行して行います。
  • String から TextElement を作成し、フォントサイズ 20 を設定します。
  • TextBlock を作成し、このオブジェクトに TextElement を割り当てます。
  • createTextLine() を呼び出して、テキストブロックから 300 ピクセルの幅を持つ行を作成します。
  • 各行を Stage(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); } } } }
TextLineTextLine.validityTextLineValidityTextBlock.releaseLineCreationData()
dump TextBlock の基になるコンテンツを XML ストリングとしてダンプします。String TextBlock の基になるコンテンツを XML ストリングとしてダンプします。これにはテキスト、書式およびレイアウト情報が含まれており、自動化されたテストで役立ちます。

次に出力について説明します。

	 >block<
	 	[0-N LINE]
	 >/block<
	 

各行の出力の説明については、TextLine.dump() メソッドを参照してください。

注意:コンテンツおよび出力のフォーマットは、今後変更される可能性があります。アドビ システムズ社は、このメソッドの後方互換性は保証しません。

TextLine.dump()
findNextAtomBoundary 指定された文字インデックスの次のアトム境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。指定された index は範囲外です。 RangeErrorRangeErrorこのインデックス位置の文字が含まれる TextLine は無効です。 IllegalOperationErrorflash.errors:IllegalOperationError指定された文字インデックスの次のアトム境界のインデックスです。 intafterCharIndexint次のアトム境界の検索を開始する文字のインデックスを指定します。 指定された文字インデックスの次のアトム境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。アトム境界間の文字は結合されて、「e」と結合されるアキュートアクセントのように、TextLine で 1 つのアトムを形成します。 TextLine.atomCountfindNextWordBoundary 指定された文字インデックスの次の単語境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。指定された index は範囲外です。 RangeErrorRangeErrorこのインデックス位置の文字が含まれる TextLine は無効です。 IllegalOperationErrorflash.errors:IllegalOperationError指定された文字インデックスの次の単語境界のインデックスです。 intafterCharIndexint次の単語境界の検索を開始する文字のインデックスを指定します。 指定された文字インデックスの次の単語境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。単語境界は、文字の Unicode プロパティに基づいて決定されます。 findPreviousAtomBoundary 指定された文字インデックスの前のアトム境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。指定された index は範囲外です。 RangeErrorRangeErrorこのインデックス位置の文字が含まれる TextLine は無効です。 IllegalOperationErrorflash.errors:IllegalOperationError指定された文字インデックスの前のアトム境界のインデックスです。 intbeforeCharIndexint前のアトム境界の検索を開始する文字のインデックスを指定します。 指定された文字インデックスの前のアトム境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。アトム境界間の文字は結合されて、「e」と結合されるアキュートアクセントのように、TextLine で 1 つのアトムを形成します。 TextLine.atomCountfindPreviousWordBoundary 指定された文字インデックスの前の単語境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。指定された index は範囲外です。 RangeErrorRangeErrorこのインデックス位置の文字が含まれる TextLine は無効です。 IllegalOperationErrorflash.errors:IllegalOperationError指定された文字インデックスの前の単語境界のインデックスです。 intbeforeCharIndexint前の単語境界の検索を開始する文字のインデックスを指定します。 指定された文字インデックスの前の単語境界のインデックスを検索します。指定されたインデックス位置の文字は含めません。単語境界は、文字の Unicode プロパティに基づいて決定されます。 getTextLineAtCharIndex charIndex パラメーターで指定された位置の文字を含む TextLine を返します。指定された文字インデックスは範囲外です。 RangeErrorRangeErrorcharIndex で指定された位置の文字を含む TextLine です。 flash.text.engine:TextLinecharIndexint文字の 0 から始まるインデックス値です。つまり、最初の文字は 0、2 番目の文字は 1 で、以下同様に続きます。 charIndex パラメーターで指定された位置の文字を含む TextLine を返します。 recreateTextLine 既存のテキスト行を再利用するテキストブロックの内容からテキスト行を作成します。その際、previousLine パラメーターで指定されたポイントで開始し、width パラメーターで指定されたポイントで改行するように指示します。textLine が null の場合。 ArgumentErrorArgumentErrorpreviousLine で指定された TextLine が有効でない場合。 ArgumentErrorArgumentErrorpreviousLine で指定された TextLine が別の TextBlock に所有されている場合。 ArgumentErrorArgumentErrorpreviousLine で指定された TextLine が textLine でも指定されている場合。 ArgumentErrorArgumentErrorwidth が 0 未満の場合(fitSomething が true の場合を除く)。 ArgumentErrorArgumentErrorwidthTextLine.MAX_LINE_WIDTH より大きい場合。 ArgumentErrorArgumentErrorテキストブロックの 1 つ以上のエレメントに null ElementFormat がある場合。 IllegalOperationErrorflash.errors:IllegalOperationErrorテキスト行。テキストブロックが空か、指定された幅が次のエレメントの幅より小さい場合は null。これらのいずれの場合かを識別するには、テキストブロックの textLineCreationResult プロパティをチェックします。 flash.text.engine:TextLinetextLineflash.text.engine:TextLine前に作成された TextLine を再利用するよう指定します。 previousLineflash.text.engine:TextLinenull直前に改行された行を指定します。この行の次から改行処理を開始します。1 行目を改行する場合は null を指定します。 widthNumber1000000線幅をピクセル単位で指定します。実際の幅はより小さくなることがあります。 lineOffsetNumber0.0行の起点とタブストップの起点の差をピクセルで指定するオプションのパラメーターです。行揃えしていないが、タブを整列させる必要がある場合に使用できます。このパラメーターのデフォルト値は 0.0 です。 fitSomethingBooleanfalse指定された幅には関係なく(例外がスローされる場合もある幅が 0 または負の場合でも)、1 文字以上をテキスト行に収めるように Flash Player に指示するオプションのパラメーターです。 既存のテキスト行を再利用するテキストブロックの内容からテキスト行を作成します。その際、previousLine パラメーターで指定されたポイントで開始し、width パラメーターで指定されたポイントで改行するように指示します。テキスト行は TextLine オブジェクトで表され、表示リストに追加できます。既存のテキスト行を再利用すると、作成されるオブジェクトの数が少なくなるので、パフォーマンスが向上します。

再作成される textLine は、どのテキストブロック内にあっても解放されます。さらに、DisplayObjectContainerInteractiveObject および DisplayObject から継承されたプロパティを含むすべてのプロパティは、デフォルト値にリセットされます。最後に、グラフィック要素およびその他の装飾を含む行のすべての子は削除され、その行に対するすべてのイベントリスナーも削除されます。パフォーマンスを向上させるために、このような全体的なリセットでは唯一例外的に、行自体は親から削除されません。

既に改行されているテキストブロックの範囲を越えて行を改行すると、改行が発生する領域の内外で行の有効性が変更されることがあります。行のステータスが、VALID から INVALID または POSSIBLY_INVALID に変更されることがあります。新しく改行された行が、ステータスが POSSIBLY_INVALID の前回改行された行に完全に揃っている場合、前回改行された行およびそれ以降のすべての POSSIBLY_INVALID の行のステータスが VALID に戻ります。TextLineValidity のメンバーではない値に設定された行の有効性は、VALID には変更されませんが、INVALID には変更されることがあります。テキストブロックに対する変更の後は、再改行するテキスト行を開始または継続する位置を firstInvalidLine プロパティで確認します。

テキストに Unicode Zero Width Space(ZWSP)文字を含めることによって、人為的な単語分割を作成できます。これは、正しく改行するために辞書が必要になるタイ語などの言語の場合に便利です。Flash ランタイムは、このような辞書を含んでいません。

メモリのオーバーヘッドを削減する方法として、目的の行がすべて作成済みの場合、親のフレームのリサイズなどでその度に再改行が必要になることがない限り、ユーザーは releaseLineCreationData() メソッドを呼び出して、改行に関連する一時データからテキストブロックを解放することができます。

この例では、textLine という TextLine オブジェクトを再利用します。 var elementFormat:ElementFormat = new ElementFormat(); elementFormat.fontDescription = new FontDescription("Arial"); elementFormat.fontSize = 48; var textElement:TextElement = new TextElement("Text you'll never see", elementFormat) var textBlock:TextBlock = new TextBlock(textElement); var textLine:TextLine = textBlock.createTextLine(); textLine.x = 50; textLine.y = 50; addChild(textLine); // Reuse the element format to preserve the text formatting var elementTwo:TextElement = new TextElement("Text you see", elementFormat); textBlock.content = elementTwo; textBlock.recreateTextLine(textLine); // Set the position (and any other display object properties like alpha, children, etc.) // otherwise, they're all set to default properties. textLine.x = 50; textLine.y = 50;
TextBaselineTextLineTextLine.validityTextLineValidityTextBlock.releaseLineCreationData()
releaseLineCreationData テキストブロックに、テキスト行の作成に関連する一時ファイルのデータをすべて解放するように指示します。 テキストブロックに、テキスト行の作成に関連する一時ファイルのデータをすべて解放するように指示します。アプリケーションのメモリ使用率をできるだけ低く抑えるには、テキストブロックからテキスト行を作成するときに releaseLineCreationData() メソッドを呼び出します。 ただし、(例えば、親のフレームのリサイズなどで発生する)再改行のパフォーマンスをできるだけ高くするには、releaseLineCreationData() メソッドは呼び出さないようにします。メモリとパフォーマンスとのバランスはアプリケーションによって異なります。

内容が確定し、更新されることがないテキストの場合、推奨される処理は、テキストブロックを初期化し、目的の出力が得られるまで繰り返し createTextLine() メソッドを呼び出した後、 releaseLineCreationData() メソッドを呼び出します。

TextBlock.createTextLine()
releaseLines TextBlock によって維持される行のリストから、テキスト行の範囲を削除します。firstLine または lastLine によって指定される TextLine が、テキストブロックによって維持されるテキスト行のリストにない場合。 ArgumentErrorArgumentErrorfirstLineflash.text.engine:TextLineリリースされる最初の行を指定します。 lastLineflash.text.engine:TextLineリリースされる最後の行を指定します。 TextBlock によって維持される行のリストから、テキスト行の範囲を削除します。これにより、他の参照が存在しない場合、行がガベージコレクションされます。

削除された行の textBlocknextLine および previousLine メンバーを null に設定します。TextBlock の削除された行および削除された行の後のすべての行の validityTextLineValidity.INVALID に設定します。

TextLine
userData アプリケーションが任意のデータをテキストブロックに関連付けるための方法を提供します。 アプリケーションが任意のデータをテキストブロックに関連付けるための方法を提供します。データは改訂日付や作者名などのコンテンツを指す情報の場合もあれば、処理中に使用するキャッシュされたデータの場合もあります。 applyNonLinearFontScaling WYSIWYG 印刷の再現性を犠牲にして、画面の外観を強調するように指定します。Boolean WYSIWYG 印刷の再現性を犠牲にして、画面の外観を強調するように指定します。デバイスによるフォントのレンダリング中のサブピクセル文字配置をサポートしていないが、非直線的な拡大 / 縮小をサポートしているプラットフォームとフォントでは、このプロパティを true に設定することで、特に小さいポイントサイズで WYSIWYG 出力を犠牲にして、これらのメトリックを使用できます。非直線的な拡大 / 縮小は、個々の文字の幅を選択的に拡大 / 縮小することでピクセルの吸着で発生する見苦しい隙間を隠します。

サブピクセル文字配置をサポートしているプラットフォームでは、このフラグは無視されます。

このフラグは、埋め込みフォントのレンダリングには影響しません。

デフォルト値は true です。

baselineFontDescription 行の内容には関係なく、ブロックから作成されたすべての行に対するベースラインを特定するために使用されるフォントです。flash.text.engine:FontDescription 行の内容には関係なく、ブロックから作成されたすべての行に対するベースラインを特定するために使用されるフォントです。ベースラインは、フォントおよびフォントサイズによって異なります。

デフォルト値は null です。ベースラインフォントが null の場合、ベースラインフォントのサイズは無視され、いずれの行に対するベースラインも、行内の最大のテキストのフォントおよびサイズによって決まります。baselineFontDescription および baselineFontSize の両方を指定すると、それらの内容に関係なく、テキストブロックのすべての行に対するベースラインを決定します。この組み合わせは、文字体裁で最も役立ちます。

baselineFontSizeFontDescription
baselineFontSize ブロックから作成された行に対するベースラインを計算するのに使用されるフォントサイズです。Number指定された baselineFontSize が、0 未満です。 ArgumentErrorArgumentError ブロックから作成された行に対するベースラインを計算するのに使用されるフォントサイズです。ベースラインは、フォントおよびフォントサイズによって異なります。

デフォルト値は 12 です。ベースラインフォントが null の場合、ベースラインフォントのサイズは無視され、いずれの行に対するベースラインも、行内の最大のテキストのフォントおよびサイズによって決まります。

baselineFontDescriptionFontDescription
baselineZero このブロックから作成した行に対して y=0 であるベースラインを指定します。StringTextBaseline のメンバーではないいずれかの値に設定する場合。 ArgumentErrorArgumentError このブロックから作成した行に対して 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 になります。
TextBaseline
bidiLevel テキストブロック内のテキストのデフォルトの双方向埋め込みレベルを指定します。int0 未満の値に設定する場合。 ArgumentErrorArgumentError テキストブロック内のテキストのデフォルトの双方向埋め込みレベルを指定します。偶数値は左から右の方向を意味し、奇数値は右から左の方向を意味します。特定のテキストが左から右または右から左の方向に埋め込まれるレベル数を示すには、bidiLevel をインクリメントすることができます。

デフォルト値は 0 です。

bidiLevel を変更すると、すべての前の改行の有効性が TextLineValidity.INVALID に変わります。bidiLevel の変更後、firstInvalidLine プロパティは firstLine プロパティに等しくなるため、TextBlock のすべての行を再度改行する必要があります。

この例は、まず 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); } } }
createTextLine()
content テキストブロックの内容を保持します。flash.text.engine:ContentElementContentElement の既知のサブクラスではない値に設定する場合。 ArgumentErrorArgumentError指定された value は、既にグループのメンバーです。 ArgumentErrorArgumentError テキストブロックの内容を保持します。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 のすべての行を再度改行する必要があります。

ContentElementGraphicElementGroupElementTextElementcreateTextLine()
firstInvalidLine TextLine.validity と TextLineValidity.VALID が等しくないテキストブロックで最初の行を指定します。flash.text.engine:TextLine TextLine.validityTextLineValidity.VALID が等しくないテキストブロックで最初の行を指定します。

デフォルト値は null です。

TextLine.validityTextLineValidity
firstLine TextBlock 内の最初の TextLine(存在する場合)です。flash.text.engine:TextLine TextBlock 内の最初の TextLine(存在する場合)です。

デフォルト値は null です。

TextLine
lastLine TextBlock 内の最後の TextLine(存在する場合)です。flash.text.engine:TextLine TextBlock 内の最後の TextLine(存在する場合)です。

デフォルト値は null です。

TextLine
lineRotation テキストブロックのテキスト行を単位として回転します。StringTextRotation のメンバーではないいずれかの値に設定する場合。 ArgumentErrorArgumentErrorTextRotation.AUTO に設定する場合。 ArgumentErrorArgumentError テキストブロックのテキスト行を単位として回転します。有効にするには createTextLine() メソッドは lineRotation を設定してから呼び出します。デフォルト値は、TextRotation.ROTATE_0 です。

文字の最終的な回転は、ElementFormat.textRotationContentElement.textRotation および TextBlock.lineRotation の値によって異なります。

TextBlock.lineRotation は一般に、日中韓のテキストで使用されます。縦書きの日本語テキストの段落を作成するには、次の処理を行います。

  1. TextBlock.lineRotation プロパティを TextRotation.ROTATE_90 に設定します。
  2. コンテンツの ElementFormat.textRotation プロパティをデフォルトの TextRotation.AUTO のままにしておきます。

このプロパティの値を設定するには、TextRotation クラスで定義される次の定数を使用します。

ストリング値説明TextRotation.ROTATE_0行は回転しません。TextRotation.ROTATE_90行は時計回りに 90 度回転します。TextRotation.ROTATE_180行は 180 度回転します。TextRotation.ROTATE_270行は時計回りに 270 度回転します。TextRotation.AUTOサポートされません。
この例では、TextBlock に日本語テキストを追加し、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; } } } }
ContentElement.textRotationElementFormat.textRotationTextLineTextRotation
tabStops テキストブロック内のテキストのタブストップを TabStop オブジェクトの Vector の形式で指定します。指定された tabStopsnull エレメントが含まれています。 ArgumentErrorArgumentError指定された tabStops は、位置が大きくなる順にソートされません。 ArgumentErrorArgumentError テキストブロック内のテキストのタブストップを TabStop オブジェクトの Vector の形式で指定します。

デフォルト値は null です。これは、タブストップが指定されていないことを意味します。タブストップが指定されていない場合(または最後に指定されたタブストップを挿入ポイントが超えている場合)、ランタイムはデフォルトで 1/2 インチのタブを作成します。

tabStops プロパティが設定されているときは、TextBlock によって内部使用のために Vector のコピーが作成されます。元の Vector またはそのコンテンツを変更しても TextBlock には影響しません。tabStops プロパティを照会すると、内部 Vector のコピーが返されます。この返された Vector またはそのコンテンツを変更しても TextBlock には影響しません。

TabStop
textJustifier 行の作成時に使用する TextJustifier を指定します。flash.text.engine:TextJustifierTextJustifier の既知のサブクラスではない値に設定する場合。 ArgumentErrorArgumentError 行の作成時に使用する TextJustifier を指定します。

デフォルト値は、作成されるデフォルトの TextJustifier オブジェクトです。

textJustifier プロパティが設定されているときは、TextBlock によって内部使用のためにオブジェクトのコピーが作成されます。元のオブジェクトを変更しても TextBlock には影響しません。textJustifier プロパティを照会すると、内部オブジェクトのコピーが返されます。この返されたオブジェクトを変更しても TextBlock には影響しません。

EastAsianJustifierSpaceJustifierTextJustifier
textLineCreationResult createTextLine() 操作の結果を示します。String createTextLine() 操作の結果を示します。ブロックの内容が変更されると、以前に改行された行が無効化され、このプロパティが null にリセットされます。

デフォルト値は null です。

このプロパティの値は、TextLineCreationResult 内に含まれます。

ストリング値説明TextLineCreationResult.SUCCESS行が正常に改行されました。TextLineCreationResult.COMPLETE作成された新しい行が継続行に完全に揃っており、POSSIBLY_INVALID から VALID に変更されたかまたはブロック内のすべてのテキストが既に改行されていたので、行は作成されませんでした。TextLineCreationResult.INSUFFICIENT_WIDTHテキストが指定された幅に収まらないので、行は作成されませんでした。
TextLineCreationResult
TextLineCreationResult TextLineCreationResult クラスは、TextBlock.textLineCreationResult で使用される定数値の列挙です。Object TextLineCreationResult クラスは、TextBlock.textLineCreationResult で使用される定数値の列挙です。 TextBlock.createTextLine()TextBlock.textLineCreationResultCOMPLETE ブロック内のすべてのテキストが既に改行されていたので行が作成されなかったことを示します。completeString ブロック内のすべてのテキストが既に改行されていたので行が作成されなかったことを示します。 EMERGENCY 指定された幅で使用できる改行の条件がなかったため、応急的に改行して行が作成されたことを示します。emergencyString 指定された幅で使用できる改行の条件がなかったため、応急的に改行して行が作成されたことを示します。 INSUFFICIENT_WIDTH テキストが指定された幅に収まらないので行が作成されず、fitSomething が createTextLine() の呼び出しで指定されなかったことを示します。insufficientWidthString テキストが指定された幅に収まらないので行が作成されず、fitSomethingcreateTextLine() の呼び出しで指定されなかったことを示します。 SUCCESS 行が正常に改行されたことを表します。successString 行が正常に改行されたことを表します。 LigatureLevel LigatureLevel クラスは、ElementFormat クラスの ligatureLevel プロパティの設定で使用される定数値の列挙です。Object LigatureLevel クラスは、ElementFormat クラスの ligatureLevel プロパティの設定で使用される定数値の列挙です。 2 つ以上の letter-form が 1 つの文字に結合された場合には、合字が起こります。合字は通常、「fi」、「fl」、「ae」などの文字の組の用に共通のコンポーネントを共有する連続した文字を置き換えます。合字は、ラテン語およびラテン語以外の文字セットの両方で使用されます。

注意:アラビア語またはシリア語フォントを使用する場合は、ligatureLevel を MINIMUM 以上に設定する必要があります。

ElementFormat.ligatureLevelCOMMON 一般的な欧文合字を指定するために使用されます。commonString 一般的な欧文合字を指定するために使用されます。 EXOTIC 特殊な合字を指定するために使用されます。exoticString 特殊な合字を指定するために使用されます。 MINIMUM 最小限の合字を指定するために使用されます。minimumString 最小限の合字を指定するために使用されます。 NONE 合字しないことを指定するために使用されます。noneString 合字しないことを指定するために使用されます。 UNCOMMON 珍しい合字を指定するために使用されます。uncommonString 珍しい合字を指定するために使用されます。
TextRotation TextRotation クラスは、ElementFormat.textRotation、ContentElement.textRotation、TextBlock.lineRotation および TextLine.getAtomTextRotation() の各プロパティで使用される定数値の列挙です。Object TextRotation クラスは、ElementFormat.textRotationContentElement.textRotationTextBlock.lineRotation および TextLine.getAtomTextRotation() の各プロパティで使用される定数値の列挙です。

任意の文字の最終的な回転は、TextBlock.lineRotationElementFormat.textRotation および ContentElement.textRotation の合計になります。

ElementFormat.textRotationContentElement.textRotationTextBlock.lineRotationTextLine.getAtomTextRotation()AUTO 文字の Unicode プロパティに従って、全角文字に対してのみ、反時計回りの 90 度回転を指定します。autoString 文字の Unicode プロパティに従って、全角文字に対してのみ、反時計回りの 90 度回転を指定します。この値は通常、日中韓のテキストで回転が必要な文字に対してのみ使用されます。この回転は、縦書きテキストにのみ適用され、他の文字に影響を与えずに全角文字を垂直方向に変えます。 ROTATE_0 回転は指定しません。rotate0String 回転は指定しません。 ROTATE_180 180 度回転を指定します。rotate180String 180 度回転を指定します。 ROTATE_270 時計回りの 270 度回転を指定します。rotate270String 時計回りの 270 度回転を指定します。 ROTATE_90 時計回りの 90 度回転を指定します。rotate90String 時計回りの 90 度回転を指定します。
TabAlignment TabAlignment クラスは、TabStop クラスの tabAlignment プロパティの設定で使用される定数値の列挙です。Object TabAlignment クラスは、TabStop クラスの tabAlignment プロパティの設定で使用される定数値の列挙です。 TabStop.alignmentTextBlock.tabStopsCENTER タブで区切ったテキストの中心をタブストップに配置します。centerString タブで区切ったテキストの中心をタブストップに配置します。 DECIMAL タブで区切ったテキストの整列トークンをタブストップに配置します。decimalString タブで区切ったテキストの整列トークンをタブストップに配置します。 TabStop.decimalAlignmentTokenEND タブで区切ったテキストの終了をタブストップに配置します。endString タブで区切ったテキストの終了をタブストップに配置します。 START タブで区切ったテキストの開始をタブストップに配置します。startString タブで区切ったテキストの開始をタブストップに配置します。 GraphicElement GraphicElement クラスは、TextBlock または GroupElement オブジェクトのグラフィックエレメントを表します。flash.text.engine:ContentElement GraphicElement クラスは、TextBlock または GroupElement オブジェクトのグラフィックエレメントを表します。GraphicElement オブジェクトを TextBlock オブジェクトの content プロパティに割り当てて、TextBlock.createTextLine() を使用して、グラフィックまたはイメージを表示するか、GroupElement オブジェクトに割り当てて、他のグラフィックエレメントまたはテキストエレメントと結合します。 次の例では、GraphicElement(赤いボックス)を使用して TextBlock を作成して表示し、キャプションを含む 2 番目の TextBlock をその下に追加します。 package { import flash.display.Sprite; import flash.display.MovieClip; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.GraphicElement; import flash.text.engine.TextLine; import flash.text.engine.ElementFormat; import flash.text.engine.FontDescription; public class GraphicElementExample extends Sprite { public function GraphicElementExample():void { var format:ElementFormat = new ElementFormat(); format.fontSize = 14; var redBox:MovieClip = new MovieClip(); redBox.graphics.beginFill(0xCC0000, 1.0); redBox.graphics.drawRect(0,0, 200, 200); redBox.graphics.endFill(); var graphicElement:GraphicElement = new GraphicElement(redBox,redBox.width,redBox.height, format); var textBlock:TextBlock = new TextBlock(); textBlock.content = graphicElement; var textLine1:TextLine = textBlock.createTextLine(null,redBox.width); addChild(textLine1); textLine1.x = 15 textLine1.y = 215 var str:String = "Your picture here ..."; var textElement:TextElement = new TextElement(str, format); textBlock = new TextBlock(); textBlock.content = textElement; var textLine2 = textBlock.createTextLine(null, 300); addChild(textLine2); textLine2.x = textLine1.x; textLine2.y += textLine1.y + format.fontSize; } } } ContentElementGroupElementTextBlockGraphicElement 新しい GraphicElement インスタンスを作成します。graphicflash.display:DisplayObjectnullGraphicElement を設定する DisplayObject です。デフォルト値は null です。 elementWidthNumber15.0エレメントに予約された領域の幅です(ピクセル単位)。デフォルト値は 15 です。 elementHeightNumber15.0エレメントに予約された領域の高さです(ピクセル単位)。デフォルト値は 15 です。 elementFormatflash.text.engine:ElementFormatnullエレメントのエレメント形式です。デフォルト値は null です。 eventMirrorflash.events:EventDispatchernullこのコンテンツエレメントに基づいて作成されたテキスト行に送出されるすべてのイベントのコピーを受け取る EventDispatcher オブジェクトです。デフォルト値は null です。 textRotationStringrotate0単位としてエレメントに適用される回転です。このプロパティには、flash.text.engine.TextRotation 定数を使用します。デフォルト値は、flash.text.engine.TextRotation.ROTATE_0 です。 新しい GraphicElement インスタンスを作成します。

グラフィックの基準点は、elementHeightelementWidth および elementFormat.baselineShift によって定義される領域の左上隅に整列します。領域のサイズに合わせたグラフィックの拡大 / 縮小は行われません。GraphicElement に eventMirror がある場合は、グラフィックによってではなく、elementWidth プロパティと elementHeight プロパティによって、結果のミラー領域のサイズと位置が決定されます。ローダーを使用している場合は、テキスト行とミラー領域の作成時にグラフィックが読み込まれないことがあります。

GroupElement
elementHeight その行でグラフィックのために予約された高さです(ピクセル単位)。Number その行でグラフィックのために予約された高さです(ピクセル単位)。グラフィックの拡大 / 縮小は、呼び出し元が受け持つことになります。

デフォルト値は 15.0 です。

elementWidth その行でグラフィックのために予約された幅です(ピクセル単位)。Number その行でグラフィックのために予約された幅です(ピクセル単位)。グラフィックの拡大 / 縮小は、呼び出し元が受け持つことになります。

デフォルト値は 15.0 です。

graphic GraphicElement のグラフィックとして使用される DisplayObject です。flash.display:DisplayObject GraphicElement のグラフィックとして使用される DisplayObject です。

デフォルト値は null です。

GraphicElement がテキスト行の一部になる場合、グラフィックは行の子として追加されます。グラフィックを設定すると、行から古いグラフィックが削除され、新しいグラフィックが追加されます。

FontWeight FontWeight クラスは、FontDescription.fontWeight で使用される定数値の列挙です。Object FontWeight クラスは、FontDescription.fontWeight で使用される定数値の列挙です。 flash.text.engine.FontDescription.fontWeightBOLD ボールドフォントの太さを示すために使用します。boldString ボールドフォントの太さを示すために使用します。 NORMAL 標準フォントの太さを示すために使用します。normalString 標準フォントの太さを示すために使用します。 TextBaseline TextBaseline クラスは、ElementFormat クラスの dominantBaseline プロパティおよび alignmentBaseline プロパティの設定で使用される定数値の列挙です。Object TextBaseline クラスは、ElementFormat クラスの dominantBaseline プロパティおよび alignmentBaseline プロパティの設定で使用される定数値の列挙です。このクラスは、TextBlock クラス内の baselineZero プロパティで使用することもできます。次の状況を考えます。

行が 4 つの TextElement オブジェクトで構成され、各オブジェクトにはそれぞれ「a」「b」「cccccccc」および「X」が含まれています。「X」を含むエレメントが行内で最大のエレメントなので、行のベースラインはそのエレメントによって決定されます。「X」のエレメントの欧文ベースラインが、行の欧文ベースラインに揃えられます。「a」のエレメントの文字の最上部が、行の文字の最上部に揃えます。「b」のエレメントの文字の最下部が、行の文字の最下部に揃えます。「cccccccc」のエレメントの文字の中心が、行の文字の中心に揃えます。

ElementFormat.dominantBaselineElementFormat.alignmentBaselineTextBlock.baselineZeroASCENT アセントのベースラインを指定します。ascentString アセントのベースラインを指定します。テキストエレメントの場合は、テキストのフォントおよびポイントサイズによりこの値が決まります。グラフィックエレメントの場合、テキストエンジンはエレメントの幾何学的最上部を使用します。 ElementFormat.dominantBaselineElementFormat.alignmentBaselineTextBlock.baselineZeroDESCENT ディセントのベースラインを指定します。descentString ディセントのベースラインを指定します。テキストエレメントの場合は、テキストのフォントおよびポイントサイズによりこの値が決まります。グラフィックエレメントの場合、テキストエレメントはエレメントの幾何学的最下部を使用します。 ElementFormat.dominantBaselineElementFormat.alignmentBaselineTextBlock.baselineZeroIDEOGRAPHIC_BOTTOM 文字の最下部のベースラインを指定します。ideographicBottomString 文字の最下部のベースラインを指定します。テキストエレメントの場合は、テキストのフォントおよびポイントサイズによりこの値が決まります。グラフィックエレメントの場合、テキストエンジンはエレメントの幾何学的最下部を使用します。 ElementFormat.dominantBaselineElementFormat.alignmentBaselineTextBlock.baselineZeroIDEOGRAPHIC_CENTER 文字の中心のベースラインを指定します。ideographicCenterString 文字の中心のベースラインを指定します。テキストエレメントの場合は、テキストのフォントおよびポイントサイズによりこの値が決まります。グラフィックエレメントの場合、テキストエンジンはエレメントの幾何学的中心を使用します。 ElementFormat.dominantBaselineElementFormat.alignmentBaselineTextBlock.baselineZeroIDEOGRAPHIC_TOP 文字の最上部のベースラインを指定します。ideographicTopString 文字の最上部のベースラインを指定します。テキストエレメントの場合は、テキストのフォントおよびポイントサイズによりこの値が決まります。グラフィックエレメントの場合、テキストエンジンはエレメントの幾何学的最上部を使用します。 ElementFormat.dominantBaselineElementFormat.alignmentBaselineTextBlock.baselineZeroROMAN 欧文ベースラインを指定します。romanString 欧文ベースラインを指定します。テキストエレメントの場合は、テキストのフォントおよびポイントサイズによりこの値が決まります。グラフィックエレメントの場合、テキストエンジンはエレメントの幾何学的最下部を使用します。 ElementFormat.dominantBaselineElementFormat.alignmentBaselineTextBlock.baselineZeroUSE_DOMINANT_BASELINE alignmentBaseline が dominantBaseline と同じであることを指定します。useDominantBaselineString alignmentBaseline が dominantBaseline と同じであることを指定します。この値は ElementFormat.alignmentBaseline を設定する場合のみに使用します。 ElementFormat.alignmentBaseline
BreakOpportunity BreakOpportunity クラスは、ElementFormat クラスの breakOpportunity プロパティの設定で使用される定数値の列挙です。Object BreakOpportunity クラスは、ElementFormat クラスの breakOpportunity プロパティの設定で使用される定数値の列挙です。 折り返しテキストが複数行に分けられるときにどの文字が改行文字として使用できるかは、このプロパティにより決められます。 ElementFormat.breakOpportunityALL ContentElement オブジェクト内のすべての文字が、改行を行うかどうかの判断に使用されます。これは、文字ごとに改行が行われることを意味します。 allString ContentElement オブジェクト内のすべての文字が、改行を行うかどうかの判断に使用されます。これは、文字ごとに改行が行われることを意味します。 このオプションを使用して、できる限り短い行を生成して、1 行でテキストを作成したり、同様の効果を得たりできます。 ANY ContentElement オブジェクト内の文字が、改行を行うかどうかの判断に使用されます。anyString ContentElement オブジェクト内の文字が、改行を行うかどうかの判断に使用されます。通常、ローマン体のテキストが日中韓のテキストに埋め込まれており、単語の途中で改行されることが望ましい場合に使用されます。 AUTO Unicode 文字プロパティに基づいて改行を行うかどうかを判断します。autoString Unicode 文字プロパティに基づいて改行を行うかどうかを判断します。この設定は、Unicode Standard Annex #14 によって定義される Unicode line breaking プロパティを実装します。 Unicode line breaking プロパティに関する記事NONE ContentElement オブジェクト内の文字は、改行を行うかどうかの判断に使用されません。noneString ContentElement オブジェクト内の文字は、改行を行うかどうかの判断に使用されません。 DigitWidth DigitWidth クラスは、ElementFormat クラスの digitWidth プロパティの設定で使用される定数値の列挙です。Object DigitWidth クラスは、ElementFormat クラスの digitWidth プロパティの設定で使用される定数値の列挙です。 flash.text.engine.ElementFormat.digitWidthDEFAULT デフォルトの数字の幅を指定するために使用されます。defaultString デフォルトの数字の幅を指定するために使用されます。結果はフォントによって異なります。文字には、フォントデザイナーによって指定された何も機能を適用しない状態の設定が使用されます。 PROPORTIONAL プロポーショナル数字の幅を指定するために使用されます。proportionalString プロポーショナル数字の幅を指定するために使用されます。 TABULAR 等幅数字の幅を指定するために使用されます。tabularString 等幅数字の幅を指定するために使用されます。 CFFHinting CFFHinting クラスは、FontDescription クラス中の CFF ヒンティングの値を定義します。Object CFFHinting クラスは、FontDescription クラス中の CFF ヒンティングの値を定義します。

ヒンティングは、アウトラインフォントの表示を調整し、ピクセルグリッドに合わせて並べます。スクリーンサイズが小さい場合は、ヒンティングによって、鮮明で読みやすいテキストの表示が可能になります。

flash.text.engine.FontDescriptionHORIZONTAL_STEM 太い水平線がピクセルグリッドに合わされ、読みやすくなります。horizontalStemString 太い水平線がピクセルグリッドに合わされ、読みやすくなります。この定数は、FontDescription クラスの cffHinting プロパティの設定で使用されます。CFFHinting.HORIZONTAL_STEM のシンタックスを使用します。

注意: アニメーションには推奨されません。

flash.text.engine.FontDescription.cffHinting
NONE ヒンティングは適用されません。noneString ヒンティングは適用されません。文字中の水平線をピクセルグリッドに合わせる処理は行われません。この定数は、FontDescription クラスの cffHinting プロパティの設定で使用されます。これはアニメーションや大きなフォントサイズにお勧めする設定です。CFFHinting.NONE のシンタックスを使用します。 flash.text.engine.FontDescription.cffHinting
Kerning Kerning クラスは、ElementFormat.kerning で使用される定数値の列挙です。Object Kerning クラスは、ElementFormat.kerning で使用される定数値の列挙です。 ElementFormat.kerningAUTO アジア系文字のテキスト編集で不適切な場合を除き、カーニングを有効にするよう指定するために使用されます。autoString アジア系文字のテキスト編集で不適切な場合を除き、カーニングを有効にするよう指定するために使用されます。カーニングは、漢字、ひらがなまたはカタカナのいずれでもない 2 文字の間に適用されます。 OFF カーニングが無効にされていることを示すために使用します。offString カーニングが無効にされていることを示すために使用します。 ON カーニングが有効にされていることを示すために使用します。onString カーニングが有効にされていることを示すために使用します。 TextLineMirrorRegion TextLineMirrorRegion クラスは、イベントを別のイベントディスパッチャにミラーするテキスト行の部分を表します。Object TextLineMirrorRegion クラスは、イベントを別のイベントディスパッチャにミラーするテキスト行の部分を表します。

テキスト行に対する通常のイベント送出処理が終了した後で、テキスト行が有効で、イベント通知が停止していない場合は、テキスト行のミラー領域にイベントが送出されます。

マウスイベントのミラーは特殊なケースです。ミラー領域は実際には表示オブジェクトではないので、mouseOver イベントと mouseOut イベントはシミュレートされます。rollOver イベントと rollOut イベントはシミュレートされません。自然に発生するすべての mouseOver イベント、mouseOut イベント、rollOver イベントおよび rollOut イベントは、そのターゲットがテキスト行であるか、テキスト行の子であるかに関係なしに無視され、ミラーされません。

ActionScript コードから直接 TextLineMirrorRegion オブジェクトを作成することはできません。new TextLineMirrorRegion() を呼び出すと、例外がスローされます。TextLineMirrorRegion は、テキスト行が mirror イベントを設定した ContentElement オブジェクトから作成された際に作成され、テキスト行に関連付けられます。

TextLineMirrorRegion クラスは final クラスであるため、サブクラス化することはできません。

この例は、ミラー領域のあるテキストのブロックを示しています。この領域をクリックすると赤色に表示されます。 package { import flash.display.Sprite; import flash.text.engine.TextBlock; import flash.text.engine.TextLine; import flash.text.engine.TextElement; import flash.text.engine.ElementFormat; import flash.text.engine.FontDescription; import flash.text.engine.ContentElement; import flash.text.engine.GroupElement; import flash.text.engine.TextLineMirrorRegion; import flash.events.MouseEvent; import flash.events.EventDispatcher; import flash.ui.Mouse; public class TextLineMirrorRegionExample extends Sprite { var myEvent:EventDispatcher = new EventDispatcher(); var fontDescription:FontDescription = new FontDescription(); var textBlock:TextBlock = new TextBlock(); public function TextLineMirrorRegionExample():void { fontDescription.fontWeight = "bold"; var blackFormat:ElementFormat = new ElementFormat(); blackFormat.fontSize = 18; blackFormat.color = 0x000000; blackFormat.fontDescription = fontDescription; var textElement1 = new TextElement("Click on different parts of me to find the ", blackFormat); var textElement2 = new TextElement("mirror regions",blackFormat); var textElement3 = new TextElement(". If I am a mirror region, I'll ",blackFormat); var textElement4 = new TextElement("turn red",blackFormat); var textElement5 = new TextElement(".",blackFormat); myEvent.addEventListener("click", clickHandler); myEvent.addEventListener("mouseOut", mouseOutHandler); myEvent.addEventListener("mouseOver", mouseOverHandler); var groupVector:Vector.<ContentElement> = new Vector.<ContentElement>; groupVector.push(textElement1, textElement2, textElement3, textElement4, textElement5); var groupElement:GroupElement = new GroupElement(groupVector); textElement2.eventMirror=myEvent; textElement4.eventMirror=myEvent; textBlock.content = groupElement; createLines(textBlock); } private function clickHandler(event:MouseEvent):void { var redFormat:ElementFormat = new ElementFormat(); redFormat.color = 0xCC0000; redFormat.fontSize = 18; redFormat.fontDescription = fontDescription; var line:TextLine = event.target as TextLine; var region:TextLineMirrorRegion = line.getMirrorRegion(myEvent); region.element.elementFormat = redFormat; createLines(textBlock); } private function mouseOverHandler(event:MouseEvent):void { Mouse.cursor = "button"; } private function mouseOutHandler(event:MouseEvent):void { Mouse.cursor = "arrow"; } private function createLines(textBlock:TextBlock):void { var purgeLine:TextLine = textBlock.firstLine; while (purgeLine) { removeChild (purgeLine); purgeLine = purgeLine.nextLine; } var lineWidth:Number = 150; 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); } } } }
ContentElement.eventMirrorTextBlock.createTextLine()TextLine.mirrorRegionsbounds テキストラインを基準にするミラー領域の境界です。flash.geom:Rectangle テキストラインを基準にするミラー領域の境界です。 element ミラー領域の派生元の ContentElement オブジェクトです。flash.text.engine:ContentElementこのエレメントが含まれる TextLine は無効です。 IllegalOperationErrorflash.errors:IllegalOperationError ミラー領域の派生元の ContentElement オブジェクトです。 mirror ミラー領域に影響を与えるイベントをミラーする先の EventDispatcher オブジェクトです。flash.events:EventDispatcher ミラー領域に影響を与えるイベントをミラーする先の EventDispatcher オブジェクトです。このオブジェクトは、ミラー領域で特に発生するマウスイベントと、テキスト行がターゲットになる他のすべてのイベントを含みます。 nextRegion テキストエレメントから派生するセット内の次の TextLineMirrorRegion。現在の領域が、セット内の最後のミラー領域である場合は null。flash.text.engine:TextLineMirrorRegion テキストエレメントから派生するセット内の次の TextLineMirrorRegion。これが、セット内の最後のミラー領域である場合は null。同じ行または別のテキスト行にあります。 previousRegion テキストエレメントから派生するセット内の前の TextLineMirrorRegion。現在の領域が、セット内の最初のミラー領域である場合は null。flash.text.engine:TextLineMirrorRegion テキストエレメントから派生するセット内の前の TextLineMirrorRegion。現在の領域が、セット内の最初のミラー領域である場合は null。同じ行または別のテキスト行にあります。 textLine このミラー領域を含む TextLine です。flash.text.engine:TextLine このミラー領域を含む TextLine です。
LineJustification LineJustification クラスは、TextJustifier サブクラスの lineJustfication プロパティの設定で使用される定数値の列挙です。Object LineJustification クラスは、TextJustifier サブクラスの lineJustfication プロパティの設定で使用される定数値の列挙です。 TextJustifier.lineJustificationALL_BUT_LAST 最終行を除くすべての行を均等配置します。allButLastString 最終行を除くすべての行を均等配置します。 ALL_INCLUDING_LAST すべての行を均等配置します。allIncludingLastString すべての行を均等配置します。 UNJUSTIFIED 行を均等配置しません。unjustifiedString 行を均等配置しません。 SpaceJustifier SpaceJustifier クラスは、テキストブロック内のテキスト行に対する均等配置オプションを制御するために必要なプロパティを表します。flash.text.engine:TextJustifier SpaceJustifier クラスは、テキストブロック内のテキスト行に対する均等配置オプションを制御するために必要なプロパティを表します。

SpaceJustifier オブジェクトのプロパティを設定する前に、コンストラクター new SpaceJustifier() を使用して SpaceJustifier オブジェクトを作成する必要があります。SpaceJustifier オブジェクトが TextBlock に適用された後で SpaceJustifier オブジェクトのプロパティを設定しても、TextBlock は無効化されません。

次の例では、文字間隔を使用して、最後の行を除くテキストのブロックすべてを均等配置します。 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.SpaceJustifier; import flash.text.engine.LineJustification; public class SpaceJustifierExample extends Sprite { public function SpaceJustifierExample():void { var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, " + "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut " + "enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut " + "aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit " + "in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur " + "sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt " + "mollit anim id est laborum."; var format:ElementFormat = new ElementFormat(null, 12, 0xCC0000); var textElement:TextElement = new TextElement(str, format); var spaceJustifier:SpaceJustifier = new SpaceJustifier("en", LineJustification.ALL_BUT_LAST); spaceJustifier.letterSpacing = true; var textBlock:TextBlock = new TextBlock(); textBlock.content = textElement; textBlock.textJustifier = spaceJustifier; createLines(textBlock); } private function createLines(textBlock:TextBlock):void { var yPos = 20; var textLine:TextLine = textBlock.createTextLine (null, 150); while (textLine) { addChild(textLine); textLine.x = 15; yPos += textLine.textHeight+2; textLine.y = yPos; textLine = textBlock.createTextLine(textLine, 150); } } } }
LineJustificationTextBlock.textJustifierTextJustifierSpaceJustifier SpaceJustifier オブジェクトを作成します。指定された localenull であるか、有効なロケールを表すには短すぎます。 ArgumentErrorArgumentError指定された lineJustification は、LineJustification のメンバーではありません。 ArgumentErrorArgumentErrorlocaleStringen均等配置規則を決定するためのロケールです。デフォルト値は「en」です。 lineJustificationStringunjustified段落に対する行の均等配置タイプです。このプロパティには、LineJustification 定数を使用します。デフォルト値は LineJustification.UNJUSTIFIED です。 letterSpacingBooleanfalse均等配置に文字間隔を使用するかどうかを指定します。デフォルト値は false です。 SpaceJustifier オブジェクトを作成します。LineJustification クラスには、適用可能な行の均等配置のタイプを指定する定数が含まれます。 LineJustificationclone SpaceJustifier のクローンコピーを構築します。SpaceJustifier オブジェクトのコピーです。 flash.text.engine:TextJustifier SpaceJustifier のクローンコピーを構築します。 letterSpacing 均等配置に文字間隔を使用するかどうかを指定します。Boolean 均等配置に文字間隔を使用するかどうかを指定します。

デフォルト値は false です

maximumSpacing 均等配置に使用する単語間の最大間隔(通常の間隔幅の倍数)を指定します。Number指定された value は、optimumSpacing よりも小さくなります。 ArgumentErrorArgumentError 均等配置に使用する単語間の最大間隔(通常の間隔幅の倍数)を指定します。letterSpacingtrue の場合は、単語間の間隔が最大間隔に達すると、文字間隔が使用されます。letterSpacingfalse の場合は、単語間の間隔は最大間隔以上に広げられます。

デフォルト値は 1.5 です

minimumSpacing 均等配置に使用する単語間の最小間隔(通常の間隔幅の倍数)を指定します。Number指定された value が、0 より小さいか、optimumSpacing よりも大きくなります。 ArgumentErrorArgumentError 均等配置に使用する単語間の最小間隔(通常の間隔幅の倍数)を指定します。

デフォルト値は 0.5 です

optimumSpacing 均等配置に使用する単語間の最適な間隔(通常の間隔幅の倍数)を指定します。Number指定された valueminimumSpacing より小さいか、maximumSpacing より大きくなります。 ArgumentErrorArgumentError 均等配置に使用する単語間の最適な間隔(通常の間隔幅の倍数)を指定します。

デフォルト値は 1.0 です