패키지 | flash.text.engine |
클래스 | public final class TextBlock |
상속 | TextBlock Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
유니코드 양방향 및 줄 바꿈 알고리즘이 한 번에 하나의 단락에서 작동하므로 TextBlock 클래스는 단일 단락을 포함하도록 되어 있습니다. 응용 프로그램에서 여러 텍스트 단락을 구성하는 경우 마크업 언어 또는 텍스트 분석을 사용하여 텍스트를 여러 단락으로 나누고 단락마다 TextBlock을 하나씩 만듭니다.
TextBlock 객체는 해당 내용을 ContentElement 클래스의 인스턴스인 content
속성에 저장합니다. ContentElement 클래스의 인스턴스를 만들 수는 없으므로 그 하위 클래스인 TextElement, GraphicElement 또는 GroupElement 중 하나의 인스턴스로 content
를 설정합니다. 내용이 텍스트로만 이루어져 있으면 TextElement를 사용하고, 내용이 이미지 또는 그래픽으로 이루어져 있으면 GraphicElement를 사용하고, TextElement, GraphicElement 및 기타 GroupElement 객체가 조합된 경우에는 GroupElement를 사용합니다. 서식이 지정된 텍스트 흐름, 포함된 하위 흐름 및 그래픽 요소 관리에 대한 자세한 내용은 ContentElement 클래스와 해당 하위 클래스를 참조하십시오.
TextBlock 인스턴스를 만들고 content
속성을 설정한 후 createTextLine()
메서드를 호출하여 TextLine
클래스의 인스턴스인 텍스트 행을 만듭니다.
관련 API 요소
GraphicElement
GroupElement
TextBaseline
TextElement
TextJustifier
TextLine
TextRotation
TabStop
속성 | 정의 주체 | ||
---|---|---|---|
applyNonLinearFontScaling : Boolean
WYSIWYG(What-You-See-Is-What-You-Get) 인쇄 품질을 낮추는 대신 화면의 표시 품질을 높이도록 지정합니다. | TextBlock | ||
baselineFontDescription : FontDescription
내용에 관계없이 블록에서 만든 모든 행에 대한 기준선을 결정하는 데 사용되는 글꼴입니다. | TextBlock | ||
baselineFontSize : Number
블록에서 만든 행의 기준선을 계산하는 데 사용되는 글꼴 크기입니다. | TextBlock | ||
baselineZero : String
이 블록에서 만든 행에 대해 y=0인 위치에 배치할 기준선을 지정합니다. | TextBlock | ||
bidiLevel : int
텍스트 블록의 양방향 단락 포함 수준을 지정합니다. | TextBlock | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
content : ContentElement
텍스트 블록의 내용을 보유합니다. | TextBlock | ||
firstInvalidLine : flash.text.engine:TextLine [읽기 전용]
텍스트 블록에서 TextLine.validity가 TextLineValidity.VALID가 아닌 첫 줄을 식별합니다. | TextBlock | ||
firstLine : flash.text.engine:TextLine [읽기 전용]
TextBlock의 첫 번째 TextLine입니다(있을 경우). | TextBlock | ||
lastLine : flash.text.engine:TextLine [읽기 전용]
TextBlock의 마지막 TextLine입니다(있을 경우). | TextBlock | ||
lineRotation : String
텍스트 블록의 여러 텍스트 줄을 한꺼번에 회전합니다. | TextBlock | ||
tabStops : Vector.<flash.text.engine:TabStop>
텍스트 블록의 텍스트에 대한 탭 정지를 TabStop 객체의 Vector 형태로 지정합니다. | TextBlock | ||
textJustifier : flash.text.engine:TextJustifier
줄을 만들 때 사용할 TextJustifier를 지정합니다. | TextBlock | ||
textLineCreationResult : String [읽기 전용]
createTextLine() 작업의 결과를 나타냅니다. | TextBlock | ||
userData : *
임의 데이터를 텍스트 블록과 연관시키는 방법을 응용 프로그램에 제공합니다. | TextBlock |
메서드 | 정의 주체 | ||
---|---|---|---|
TextBlock(content:ContentElement = null, tabStops:Vector.<flash.text.engine:TabStop> = null, textJustifier:flash.text.engine:TextJustifier = null, lineRotation:String = "rotate0", baselineZero:String = "roman", bidiLevel:int = 0, applyNonLinearFontScaling:Boolean = true, baselineFontDescription:FontDescription = null, baselineFontSize:Number = 12.0)
TextBlock 객체를 만듭니다.
| TextBlock | ||
createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
previousLine 매개 변수에 지정된 점에서 시작하고 width 매개 변수에 지정된 점에서 줄 바꿈하여 해당 내용으로부터 텍스트 행을 만들도록 텍스트 블록에 지시합니다. | TextBlock | ||
TextBlock의 기본 내용을 XML 문자열로 덤프합니다. | TextBlock | ||
지정된 인덱스의 문자는 제외하고, 지정된 문자 인덱스 뒤에 나오는 다음 번 아톰 경계의 인덱스를 찾습니다. | TextBlock | ||
지정된 인덱스의 문자를 포함하지 않고 지정된 문자 인덱스 뒤에 나오는 다음 번 단어 경계의 인덱스를 찾습니다. | TextBlock | ||
지정된 인덱스의 문자를 포함하지 않고 지정된 문자 인덱스 앞에 나오는 이전 아톰 경계의 인덱스를 찾습니다. | TextBlock | ||
지정된 인덱스의 문자를 포함하지 않고 지정된 문자 인덱스 앞에 나오는 이전 단어 경계의 인덱스를 찾습니다. | TextBlock | ||
charIndex 매개 변수에 지정된 문자를 포함하는 TextLine을 반환합니다. | TextBlock | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
recreateTextLine(textLine:flash.text.engine:TextLine, previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
기존 텍스트 줄을 다시 사용하여 해당 내용에서 텍스트 줄을 만들도록 텍스트 블록에 지시합니다(previousLine 매개 변수에 지정된 점에서 시작하여 width 매개 변수에 지정된 점에서 줄 바꿈됨). | TextBlock | ||
텍스트 줄 생성과 연관된 모든 임시 데이터를 해제하도록 텍스트 블록에 지시합니다. | TextBlock | ||
TextBlock을 통해 유지 관리되는 행의 목록에서 텍스트 행의 범위를 제거합니다. | TextBlock | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
applyNonLinearFontScaling | 속성 |
applyNonLinearFontScaling:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
WYSIWYG(What-You-See-Is-What-You-Get) 인쇄 품질을 낮추는 대신 화면의 표시 품질을 높이도록 지정합니다. 장치 글꼴 렌더링 중 하위 픽셀 글리프 위치 지정을 지원하지 않지만 비선형 크기 조절을 지원하는 플랫폼 및 글꼴의 경우, 이 속성을 true
로 설정하면 WYSIWYG 인쇄 품질이 낮아지는 대신(특히 포인트 크기가 작을 때) 해당 메트릭을 사용할 수 있습니다. 비선형 글꼴 크기 조절은 각 글리프의 폭을 선별적으로 조절하여 픽셀 물리기로 발생하는 보기 좋지 않은 간격을 숨기는 방식으로 이루어집니다.
하위 픽셀 글리프 위치 지정을 지원하는 플랫폼에서는 이 플래그가 무시됩니다.
이 플래그는 포함된 글꼴 렌더링에는 아무런 영향을 주지 않습니다.
기본값은 true
입니다.
구현
public function get applyNonLinearFontScaling():Boolean
public function set applyNonLinearFontScaling(value:Boolean):void
baselineFontDescription | 속성 |
baselineFontDescription:FontDescription
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
내용에 관계없이 블록에서 만든 모든 행에 대한 기준선을 결정하는 데 사용되는 글꼴입니다. 기준선은 글꼴 및 글꼴 크기에 따라 달라집니다.
기본값은 null
입니다. 기준선 글꼴이 null
이면 기준선 글꼴 크기가 무시되고 모든 줄의 기준선은 해당 줄에서 가장 큰 텍스트의 글꼴과 크기에 따라 결정됩니다. baselineFontDescription
과 baselineFontSize
를 모두 지정하면 내용에 상관없이 텍스트 블록의 모든 줄에 대한 기준선을 결정하는 데 이러한 속성 사용됩니다. 이 조합은 주로 아시아권 언어의 입력 체계에 유용합니다.
구현
public function get baselineFontDescription():FontDescription
public function set baselineFontDescription(value:FontDescription):void
관련 API 요소
baselineFontSize | 속성 |
baselineFontSize:Number
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
블록에서 만든 행의 기준선을 계산하는 데 사용되는 글꼴 크기입니다. 기준선은 글꼴 및 글꼴 크기에 따라 달라집니다.
기본값은 12
입니다. 기준선 글꼴이 null
이면 기준선 글꼴 크기가 무시되고 모든 줄의 기준선은 해당 줄에서 가장 큰 텍스트의 글꼴과 크기에 따라 결정됩니다.
구현
public function get baselineFontSize():Number
public function set baselineFontSize(value:Number):void
오류
ArgumentError — 지정된 baselineFontSize 가 0보다 작습니다.
|
관련 API 요소
baselineZero | 속성 |
baselineZero:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
이 블록에서 만든 행에 대해 y=0인 위치에 배치할 기준선을 지정합니다. 이 속성에 사용할 수 있는 값은 TextBaseline
클래스의 멤버입니다.
기본값은 TextBaseline.ROMAN
입니다.
이 속성의 값을 설정하려면 다음 문자열 값을 사용합니다.
문자열 값 | 설명 |
---|---|
TextBaseline.ROMAN | 행의 로마자 기준선이 y=0에 배치됩니다. |
TextBaseline.ASCENT | 행의 어센트 기준선이 y=0에 배치됩니다. |
TextBaseline.DESCENT | 행의 디센트 기준선이 y=0에 배치됩니다. |
TextBaseline.IDEOGRAPHIC_TOP | 행의 표의 문자 맨 위 기준선이 y=0에 배치됩니다. |
TextBaseline.IDEOGRAPHIC_CENTER | 행의 표의 문자 중앙 기준선이 y=0에 배치됩니다. |
TextBaseline.IDEOGRAPHIC_BOTTOM | 행의 표의 문자 맨 아래 기준선이 y=0에 배치됩니다. |
구현
public function get baselineZero():String
public function set baselineZero(value:String):void
오류
ArgumentError — TextBaseline 의 멤버가 아닌 값으로 설정된 경우입니다.
|
관련 API 요소
bidiLevel | 속성 |
bidiLevel:int
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
텍스트 블록의 양방향 단락 포함 수준을 지정합니다. 일반적으로 LTR 단락(영어, 일본어 등)에 0을 사용하고 RTL 단락(아랍어, 히브리어 등)에 1을 사용합니다. 0 또는 1이 아닌 값은 특수한 경우에 사용하도록 예약되어 있습니다. 자세한 내용은 UAX#9, "Unicode Bidirectional Algorithm"(http://www.unicode.org/reports/tr9/)을 참조하십시오.
기본값은 0입니다.
bidiLevel
을 수정하면 이전에 줄바꿈했던 모든 행의 유효성이 TextLineValidity.INVALID로 변경됩니다. bidiLevel
을 변경하고 나면 firstInvalidLine
속성이 firstLine
속성과 같아지며 TextBlock에서 모든 줄을 다시 줄 바꿈해야 합니다.
구현
public function get bidiLevel():int
public function set bidiLevel(value:int):void
오류
ArgumentError — 0보다 작은 값으로 설정된 경우입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
bidiLevel
값을 사용하고 두 번째에는 홀수 bidiLevel
값을 사용하여 렌더링한 결과를 보여 줍니다.
package { import flash.display.Sprite; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.ElementFormat; import flash.text.engine.FontDescription; public class TextBlock_bidiLevelExample extends Sprite { public function TextBlock_bidiLevelExample():void { var fontSize:Number = 36; var format:ElementFormat = new ElementFormat(); format.fontDescription = new FontDescription("Adobe Hebrew"); format.fontSize = fontSize; var y:Number = 0; var leading:Number = fontSize * 0.2; var text:String = "abc" + String.fromCharCode(0x05D0, 0x05D1, 0x05D2); var textBlock:TextBlock = new TextBlock(); textBlock.content = new TextElement(text, format); // bidiLevel even textBlock.bidiLevel = 0; var textLine = textBlock.createTextLine(null, 400); y += leading + textLine.ascent; textLine.y = y; y += textLine.descent; addChild(textLine); // bidiLevel odd textBlock.content = new TextElement(text, format); textBlock.bidiLevel = 1; textLine = textBlock.createTextLine(null, 400); y += leading + textLine.ascent; textLine.y = y; addChild(textLine); } } }
content | 속성 |
content:ContentElement
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
텍스트 블록의 내용을 보유합니다. ContentElement는 기본 클래스이므로 ContentElement의 하위 클래스인 TextElement, GraphicElement 또는 GroupElement의 인스턴스를 content
에 할당합니다. TextElement 객체에는 String이 포함되고, GraphicElement 객체에는 DisplayObject가 포함되고, GroupElement에는 한 개 이상의 TextElement, GraphicElement 또는 다른 GroupElement 객체가 들어 있는 Vector 객체가 포함됩니다. TextElement는 텍스트로만 이루어진 단락에 사용하고, GraphicElement는 그래픽에 사용하고, GroupElement는 텍스트와 그래픽 요소 또는 이러한 요소의 여러 인스턴스 및 다른 GroupElement 객체의 조합에 사용합니다.
기본값은 null
입니다.
content
속성을 수정하면 이전에 만든 모든 줄의 유효성이 TextLineValidity.INVALID
로 변경됩니다. content
를 변경하고 나면 firstInvalidLine
속성이 firstLine
속성과 같아지며 TextBlock의 모든 줄을 다시 줄 바꿈해야 합니다.
구현
public function get content():ContentElement
public function set content(value:ContentElement):void
오류
ArgumentError — ContentElement 의 알 수 없는 하위 클래스가 아닌 값으로 설정된 경우입니다.
| |
ArgumentError — 지정된 value 가 이미 그룹의 멤버입니다.
|
관련 API 요소
firstInvalidLine | 속성 |
firstInvalidLine:flash.text.engine:TextLine
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
텍스트 블록에서 TextLine.validity
가 TextLineValidity.VALID
가 아닌 첫 줄을 식별합니다.
기본값은 null
입니다.
구현
public function get firstInvalidLine():flash.text.engine:TextLine
관련 API 요소
firstLine | 속성 |
firstLine:flash.text.engine:TextLine
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
TextBlock의 첫 번째 TextLine입니다(있을 경우).
기본값은 null
입니다.
구현
public function get firstLine():flash.text.engine:TextLine
관련 API 요소
lastLine | 속성 |
lastLine:flash.text.engine:TextLine
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
TextBlock의 마지막 TextLine입니다(있을 경우).
기본값은 null
입니다.
구현
public function get lastLine():flash.text.engine:TextLine
관련 API 요소
lineRotation | 속성 |
lineRotation:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
텍스트 블록의 여러 텍스트 줄을 한꺼번에 회전합니다. 이를 적용하려면 관련 lineRotation
을 설정한 후에 createTextLine()
메서드를 호출합니다. 기본값은 TextRotation.ROTATE_0
입니다.
모든 글리프의 최종 회전은 ElementFormat.textRotation
, ContentElement.textRotation
및 TextBlock.lineRotation
의 값에 따라 결정됩니다.
TextBlock.lineRotation
은 일반적으로 아시아권 언어 텍스트에 사용됩니다. 세로 방향 일본어 텍스트의 단락을 만들려면 다음을 수행합니다.
TextBlock.lineRotation
속성을TextRotation.ROTATE_90
으로 설정합니다.- 내용의
ElementFormat.textRotation
속성을 기본값인TextRotation.AUTO
로 둡니다.
TextRotation
클래스에 정의되어 있는 다음 상수를 사용하여 이 속성의 값을 설정합니다.
문자열 값 | 설명 |
---|---|
TextRotation.ROTATE_0 | 행이 회전하지 않습니다. |
TextRotation.ROTATE_90 | 행이 시계 방향으로 90도 회전합니다. |
TextRotation.ROTATE_180 | 행이 180도 회전합니다. |
TextRotation.ROTATE_270 | 행이 시계 방향으로 270도 회전합니다. |
TextRotation.AUTO | 지원되지 않습니다. |
구현
public function get lineRotation():String
public function set lineRotation(value:String):void
오류
ArgumentError — TextRotation 의 멤버가 아닌 임의의 값으로 설정된 경우입니다.
| |
ArgumentError — TextRotation.AUTO 로 설정된 경우입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
lineRotation
속성을 TextRotation.ROTATE_90으로 설정하여 행을 세로로 표시합니다.
package { import flash.display.Sprite; import flash.text.engine.FontDescription; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.TextRotation; import flash.text.engine.ElementFormat; public class TextBlock_lineRotationExample extends Sprite { public function TextBlock_lineRotationExample():void { var Japanese:String = String.fromCharCode( 0x5185, 0x95A3, 0x5E9C, 0x304C, 0x300C, 0x653F, 0x5E9C, 0x30A4, 0x30F3, 0x30BF, 0x30FC, 0x30CD, 0x30C3, 0x30C8, 0x30C6, 0x30EC, 0x30D3, 0x300D, 0x306E, 0x52D5, 0x753B, 0x914D, 0x4FE1, 0x5411, 0x3051, 0x306B, 0x30A2, 0x30C9, 0x30D3, 0x30B7, 0x30B9, 0x30C6, 0x30E0, 0x30BA, 0x793E, 0x306E ) + "FMS 2" + String.fromCharCode(0x3092, 0x63A1, 0x7528, 0x3059, 0x308B, 0x3068, 0x767a, 0x8868, 0x3057, 0x307e, 0x3057, 0x305F, 0x3002); var fontDescription:FontDescription = new FontDescription("MS Mincho"); var format:ElementFormat = new ElementFormat(); format.fontSize = 15; format.fontDescription = fontDescription; var textElement:TextElement = new TextElement(Japanese, format); var textBlock:TextBlock = new TextBlock(); textBlock.content = textElement; textBlock.lineRotation = TextRotation.ROTATE_90; var linePosition:Number = this.stage.stageWidth - 120; var previousLine:TextLine = null; while (true) { var textLine:TextLine = textBlock.createTextLine( previousLine, 300); if (textLine == null) break; textLine.y = 30; textLine.x = linePosition; linePosition -= 24; addChild(textLine); previousLine = textLine; } } } }
tabStops | 속성 |
tabStops:Vector.<flash.text.engine:TabStop>
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
텍스트 블록의 텍스트에 대한 탭 정지를 TabStop
객체의 Vector 형태로 지정합니다.
기본값은 탭 정지가 지정되지 않았음을 나타내는 null
입니다. 탭 정지가 지정되지 않았거나 삽입점이 마지막으로 지정된 탭 정지를 벗어나는 경우 런타임에서 기본적으로 0.5인치 탭을 만듭니다.
tabStops
속성을 설정한 경우 TextBlock이 내부 용도로 Vector의 복사본을 만듭니다. 원본 Vector 또는 내용을 수정해도 TextBlock에 영향을 주지 않습니다. tabStops
속성을 쿼리하면 내부 Vector 복사본이 반환됩니다. 이번에도 반환된 벡터 또는 그 내용을 수정해도 TextBlock에 영향을 주지 않습니다.
구현
public function get tabStops():Vector.<flash.text.engine:TabStop>
public function set tabStops(value:Vector.<flash.text.engine:TabStop>):void
오류
ArgumentError — 지정된 tabStops 에 null 요소가 포함되어 있습니다.
| |
ArgumentError — 지정된 tabStops 이 증가 위치로 정렬되지 않습니다.
|
관련 API 요소
textJustifier | 속성 |
textJustifier:flash.text.engine:TextJustifier
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
줄을 만들 때 사용할 TextJustifier를 지정합니다.
기본값은 생성된 기본 TextJustifier 객체입니다.
textJustifier
속성을 설정한 경우 TextBlock이 내부 용도로 객체의 복사본을 만듭니다. 원래 객체를 수정해도 TextBlock에 영향을 주지 않습니다. textJustifier
속성을 쿼리하면 내부 객체 복사본이 반환됩니다. 이번에도 반환된 객체를 수정해도 TextBlock에 영향을 주지 않습니다.
구현
public function get textJustifier():flash.text.engine:TextJustifier
public function set textJustifier(value:flash.text.engine:TextJustifier):void
오류
ArgumentError — TextJustifier 의 알려진 하위 클래스가 아닌 값으로 설정된 경우입니다.
|
관련 API 요소
textLineCreationResult | 속성 |
textLineCreationResult:String
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
createTextLine()
작업의 결과를 나타냅니다. 블록의 내용을 변경하면 이전에 줄 바꿈한 줄이 무효화되고 이 속성이 null
로 재설정됩니다.
기본값은 null
입니다.
이 속성의 값은 TextLineCreationResult
에 있습니다.
문자열 값 | 설명 |
---|---|
TextLineCreationResult.SUCCESS | 행이 성공적으로 줄바꿈되었습니다. |
TextLineCreationResult.COMPLETE | 새로 만든 행과 POSSIBLY_INVALID에서 VALID로 전환된 다음 행이 완벽하게 정렬되었거나 블록의 모든 텍스트가 이미 줄바꿈되어 어떠한 행도 만들어지지 않았습니다. |
TextLineCreationResult.INSUFFICIENT_WIDTH | 지정된 폭에 맞출 수 있는 텍스트가 없으므로 행이 만들어지지 않았습니다. |
구현
public function get textLineCreationResult():String
관련 API 요소
userData | 속성 |
public var userData:*
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
임의 데이터를 텍스트 블록과 연관시키는 방법을 응용 프로그램에 제공합니다. 이 데이터는 수정 날짜나 제작자 이름과 같이 내용에 관련된 참조 정보일 수도 있고 처리 과정에서 사용되는 캐시된 데이터일 수도 있습니다.
TextBlock | () | 생성자 |
public function TextBlock(content:ContentElement = null, tabStops:Vector.<flash.text.engine:TabStop> = null, textJustifier:flash.text.engine:TextJustifier = null, lineRotation:String = "rotate0", baselineZero:String = "roman", bidiLevel:int = 0, applyNonLinearFontScaling:Boolean = true, baselineFontDescription:FontDescription = null, baselineFontSize:Number = 12.0)
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
TextBlock 객체를 만듭니다.
매개 변수content:ContentElement (default = null ) — 텍스트 블록의 내용입니다.
| |
tabStops:Vector.<flash.text.engine:TabStop> (default = null ) — 텍스트 블록의 텍스트에 대한 탭 정지입니다.
| |
textJustifier:flash.text.engine:TextJustifier (default = null ) — 이 블록에서 행을 만들 때 사용할 TextJustifier 객체입니다. 정렬자를 제공하지 않으면 영어 로캘을 기반으로 기본 정렬자가 만들어집니다.
| |
lineRotation:String (default = "rotate0 ") — 텍스트 블록에서 생성된 텍스트 행에 단위로 적용되는 회전입니다.
| |
baselineZero:String (default = "roman ") — 블록의 모든 행에 대해 y=0인 위치에 기준선을 배치하도록 지정합니다.
| |
bidiLevel:int (default = 0 ) — 텍스트 블록에 있는 텍스트의 기본 양방향 포함 수준입니다.
| |
applyNonLinearFontScaling:Boolean (default = true ) — WYSIWYG 인쇄 품질을 낮추는 대신 화면의 표시 품질을 높이도록 지정합니다.
| |
baselineFontDescription:FontDescription (default = null ) — 블록의 모든 행에 대해 기준선을 파생시킬 글꼴 설명을 지정합니다.
| |
baselineFontSize:Number (default = 12.0 ) — baselineFontDescription에 사용할 크기를 지정합니다. baselineFontDescription 이 null 이면 이 매개 변수는 무시됩니다.
|
오류
ArgumentError — 지정된 content 가 ContentElement 의 알려진 하위 클래스가 아닙니다.
| |
ArgumentError — 지정된 content 가 이미 그룹의 멤버입니다.
| |
ArgumentError — 지정된 lineRotation 이 TextRotation 의 멤버가 아닙니다.
| |
ArgumentError — 지정된 baselineZero 가 TextBaseline 의 멤버가 아닙니다.
| |
ArgumentError — 지정된 bidiLevel 이 0보다 작습니다.
| |
ArgumentError — 지정된 tabStops 에 null 요소가 포함되어 있습니다.
| |
ArgumentError — 지정된 tabStops 이 증가 위치로 정렬되지 않습니다.
| |
ArgumentError — 지정된 baselineFontSize 가 0보다 작습니다.
|
관련 API 요소
createTextLine | () | 메서드 |
public function createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
previousLine
매개 변수에 지정된 점에서 시작하고 width
매개 변수에 지정된 점에서 줄 바꿈하여 해당 내용으로부터 텍스트 행을 만들도록 텍스트 블록에 지시합니다. 텍스트 줄은 TextLine 객체이며 이를 표시 목록에 추가할 수 있습니다.
이미 줄바꿈된 텍스트 블록 범위에 줄바꿈을 적용하면 줄바꿈이 발생하는 영역 및 그 외의 영역에서 행의 유효성이 변경될 수 있습니다. 행의 상태가 VALID에서 INVALID 또는 POSSIBLY_INVALID로 변경될 수 있습니다. 이전에 줄바꿈했고 상태가 POSSIBLY_INVALID인 행과 새로 줄바꿈한 행이 완벽하게 정렬되는 경우 이전에 줄바꿈한 행과 이후의 모든 POSSIBLY_INVALID 행이 VALID 상태로 다시 변경됩니다. TextLineValidity
의 멤버가 아닌 값으로 설정된 행의 유효성은 VALID로 변경되지 않으며 INVALID로 변경될 수 있습니다. 텍스트 행의 줄바꿈을 시작하거나 계속할 위치를 확인하려면 텍스트 블록이 변경된 후 firstInvalidLine
속성을 검사해야 합니다.
텍스트에 유니코드 ZWSP(Zero Width Space) 문자를 삽입하여 단어를 인위적으로 분할할 수 있습니다. 이는 올바른 줄바꿈을 위해 사전이 필요한 태국어와 같은 언어에 유용할 수 있습니다. Flash 런타임에는 이러한 사전이 포함되어 있지 않습니다.
메모리 오버헤드를 줄이기 위해서는 원하는 줄이 모두 생성되면 컨테이너 크기 조정 등으로 인해 줄을 반복적으로 다시 줄 바꿈해야 하는 경우를 제외하고 releaseLineCreationData()
메서드를 호출하여 텍스트 블록에서 줄 바꿈과 연관된 임시 데이터를 지워야 합니다.
매개 변수
previousLine:flash.text.engine:TextLine (default = null ) — 이전에 줄바꿈된 행을 지정합니다. 이 행 이후부터 줄바꿈이 시작됩니다. 첫 번째 행을 줄 바꿈할 경우 null 일 수 있습니다.
| |
width:Number (default = 1000000 ) — 줄에 대해 원하는 폭을 픽셀 단위로 지정합니다. 실제 폭은 더 좁을 수 있습니다.
| |
lineOffset:Number (default = 0.0 ) — 행 원점과 탭 정지 원점 사이의 차이를 픽셀 단위로 지정하는 선택적 매개 변수입니다. 줄이 정렬되어 있지 않더라도 이를 사용할 수 있지만 탭은 정렬되어 있는 것이 좋습니다. 이 매개 변수의 기본값은 0.0 입니다.
| |
fitSomething:Boolean (default = false ) — 지정된 폭에 관계없이 텍스트 행에 하나 이상의 문자를 맞춰 넣도록 Flash Player에 지시하는 선택적 매개 변수입니다. 이는 폭이 0 또는 음수인 경우에도 적용되며 이 경우 텍스트 행에 하나 이상의 문자를 맞춰 넣지 않으면 예외가 발생합니다.
|
flash.text.engine:TextLine — 텍스트 행입니다. 또는 텍스트 블록이 비어 있거나 지정된 폭이 다음 요소의 폭보다 작은 경우 null 입니다. 이러한 경우를 구별하려면 텍스트 블록의 textLineCreationResult 속성을 확인합니다.
|
오류
ArgumentError — previousLine 에 지정된 TextLine이 유효하지 않은 경우입니다.
| |
ArgumentError — previousLine 에서 지정한 TextLine을 다른 TextBlock에서 소유한 경우입니다.
| |
ArgumentError — width 가 0보다 작고 fitSomething 이 true가 아닌 경우입니다.
| |
ArgumentError — width 가 TextLine.MAX_LINE_WIDTH 보다 큰 경우입니다.
| |
IllegalOperationError — 텍스트 블록의 내용 중 하나 이상의 요소에 null ElementFormat 이 있는 경우입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
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); } } } }
dump | () | 메서드 |
public function dump():String
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
TextBlock의 기본 내용을 XML 문자열로 덤프합니다. 이는 자동화된 테스트에 유용할 수 있으며 텍스트, 서식 및 레이아웃 정보를 포함합니다.
다음에는 출력에 대한 설명이 나와 있습니다.
>block< [0-N LINE] >/block<
각 줄의 출력에 대한 설명은 TextLine.dump() 메서드를 참조하십시오.
참고: 출력의 내용과 형식은 나중에 변경될 수 있습니다. Adobe에서는 이 메서드가 이전 버전과 호환된다고 보장하지 않습니다.
반환값String |
관련 API 요소
findNextAtomBoundary | () | 메서드 |
public function findNextAtomBoundary(afterCharIndex:int):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
지정된 인덱스의 문자는 제외하고, 지정된 문자 인덱스 뒤에 나오는 다음 번 아톰 경계의 인덱스를 찾습니다. 아톰 경계 사이의 문자들이 결합하여 TextLine
에서 'e'와 결합 양음 악센트 같은 한 개의 아톰을 형성합니다.
매개 변수
afterCharIndex:int — 다음 아톰 경계를 검색하는 데 출발점으로 삼을 문자의 인덱스를 지정합니다.
|
int — 지정된 문자 인덱스 뒤에 나오는 다음 번 아톰 경계의 인덱스입니다.
|
오류
RangeError — 지정된 index 가 범위를 벗어납니다.
| |
IllegalOperationError — 인덱싱된 문자가 속한 TextLine이 잘못되었습니다.
|
관련 API 요소
findNextWordBoundary | () | 메서드 |
public function findNextWordBoundary(afterCharIndex:int):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
지정된 인덱스의 문자를 포함하지 않고 지정된 문자 인덱스 뒤에 나오는 다음 번 단어 경계의 인덱스를 찾습니다. 단어 경계는 문자의 유니코드 속성을 기반으로 결정됩니다.
매개 변수
afterCharIndex:int — 다음 단어 경계를 검색할 문자의 인덱스를 지정합니다.
|
int — 지정된 문자 인덱스로부터의 다음 단어 경계의 인덱스입니다.
|
오류
RangeError — 지정된 index 가 범위를 벗어납니다.
| |
IllegalOperationError — 인덱싱된 문자가 속한 TextLine이 잘못되었습니다.
|
findPreviousAtomBoundary | () | 메서드 |
public function findPreviousAtomBoundary(beforeCharIndex:int):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
지정된 인덱스의 문자를 포함하지 않고 지정된 문자 인덱스 앞에 나오는 이전 아톰 경계의 인덱스를 찾습니다. 아톰 경계 사이의 문자들이 결합하여 TextLine
에서 'e'와 결합 양음 악센트 같은 한 개의 아톰을 형성합니다.
매개 변수
beforeCharIndex:int — 이전 아톰 경계를 검색하는 데 기준점으로 삼을 문자의 인덱스를 지정합니다.
|
int — 지정된 문자 인덱스 앞에 나오는 이전 아톰 경계의 인덱스입니다.
|
오류
RangeError — 지정된 index 가 범위를 벗어납니다.
| |
IllegalOperationError — 인덱싱된 문자가 속한 TextLine이 잘못되었습니다.
|
관련 API 요소
findPreviousWordBoundary | () | 메서드 |
public function findPreviousWordBoundary(beforeCharIndex:int):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
지정된 인덱스의 문자를 포함하지 않고 지정된 문자 인덱스 앞에 나오는 이전 단어 경계의 인덱스를 찾습니다. 단어 경계는 문자의 유니코드 속성을 기반으로 결정됩니다.
매개 변수
beforeCharIndex:int — 이전 단어 경계를 검색할 문자의 인덱스를 지정합니다.
|
int — 지정된 문자 인덱스로의 이전 단어 경계의 인덱스입니다.
|
오류
RangeError — 지정된 index 가 범위를 벗어납니다.
| |
IllegalOperationError — 인덱싱된 문자가 속한 TextLine이 잘못되었습니다.
|
getTextLineAtCharIndex | () | 메서드 |
public function getTextLineAtCharIndex(charIndex:int):flash.text.engine:TextLine
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
charIndex
매개 변수에 의해 지정된 문자를 포함하는 TextLine을 반환합니다.
매개 변수
charIndex:int — 0부터 시작하는 문자 인덱스 값입니다. 예를 들어 첫 번째 문자는 0, 두 번째 문자는 1입니다.
|
flash.text.engine:TextLine — charIndex 에 있는 문자를 포함하는 TextLine입니다.
|
오류
RangeError — 지정된 문자 인덱스가 범위를 벗어납니다.
|
recreateTextLine | () | 메서드 |
public function recreateTextLine(textLine:flash.text.engine:TextLine, previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2, Flash Lite 4 |
기존 텍스트 줄을 다시 사용하여 해당 내용에서 텍스트 줄을 만들도록 텍스트 블록에 지시합니다(previousLine
매개 변수에 지정된 점에서 시작하여 width
매개 변수에 지정된 점에서 줄 바꿈됨). 텍스트 줄은 TextLine 객체이며 이를 표시 목록에 추가할 수 있습니다. 기존 텍스트 줄을 다시 사용하면 객체 생성이 감소되므로 성능이 향상됩니다.
다시 만들어지는 textLine
은 이를 포함하는 모든 텍스트 블록(있는 경우)에서 해제됩니다. 또한 DisplayObjectContainer
, InteractiveObject
및 DisplayObject
에서 상속된 속성을 포함한 모든 속성은 기본값으로 재설정됩니다. 마지막으로 그래픽 요소 및 다른 장식을 포함하여 줄의 모든 자식은 제거되고, 줄의 모든 이벤트 리스너도 제거됩니다. 성능을 높이기 위해, 이 완료 재설정의 유일한 예외는 줄 자체가 부모에서 제거되지 않는다는 것입니다.
이미 줄바꿈된 텍스트 블록 범위에 줄바꿈을 적용하면 줄바꿈이 발생하는 영역 및 그 외의 영역에서 행의 유효성이 변경될 수 있습니다. 행의 상태가 VALID에서 INVALID 또는 POSSIBLY_INVALID로 변경될 수 있습니다. 이전에 줄바꿈했고 상태가 POSSIBLY_INVALID인 행과 새로 줄바꿈한 행이 완벽하게 정렬되는 경우 이전에 줄바꿈한 행과 이후의 모든 POSSIBLY_INVALID 행이 VALID 상태로 다시 변경됩니다. TextLineValidity
의 멤버가 아닌 값으로 설정된 행의 유효성은 VALID로 변경되지 않으며 INVALID로 변경될 수 있습니다. 텍스트 행의 줄바꿈을 시작하거나 계속할 위치를 확인하려면 텍스트 블록이 변경된 후 firstInvalidLine
속성을 검사해야 합니다.
텍스트에 유니코드 ZWSP(Zero Width Space) 문자를 삽입하여 단어를 인위적으로 분할할 수 있습니다. 이는 올바른 줄바꿈을 위해 사전이 필요한 태국어와 같은 언어에 유용할 수 있습니다. Flash 런타임에는 이러한 사전이 포함되어 있지 않습니다.
메모리 오버헤드를 줄이기 위해서는 원하는 줄이 모두 생성되면 컨테이너 크기 조정 등으로 인해 줄을 반복적으로 다시 줄 바꿈해야 하는 경우를 제외하고 releaseLineCreationData()
메서드를 호출하여 텍스트 블록에서 줄 바꿈과 연관된 임시 데이터를 지워야 합니다.
매개 변수
textLine:flash.text.engine:TextLine — 이전에 생성된 TextLine을 다시 사용하도록 지정합니다.
| |
previousLine:flash.text.engine:TextLine (default = null ) — 이전에 줄바꿈된 행을 지정합니다. 이 행 이후부터 줄바꿈이 시작됩니다. 첫 번째 행을 줄 바꿈할 경우 null 일 수 있습니다.
| |
width:Number (default = 1000000 ) — 줄에 대해 원하는 폭을 픽셀 단위로 지정합니다. 실제 폭은 더 좁을 수 있습니다.
| |
lineOffset:Number (default = 0.0 ) — 행 원점과 탭 정지 원점 사이의 차이를 픽셀 단위로 지정하는 선택적 매개 변수입니다. 줄이 정렬되어 있지 않더라도 이를 사용할 수 있지만 탭은 정렬되어 있는 것이 좋습니다. 이 매개 변수의 기본값은 0.0 입니다.
| |
fitSomething:Boolean (default = false ) — 지정된 폭에 관계없이 텍스트 행에 하나 이상의 문자를 맞춰 넣도록 Flash Player에 지시하는 선택적 매개 변수입니다. 이는 폭이 0 또는 음수인 경우에도 적용되며 이 경우 텍스트 행에 하나 이상의 문자를 맞춰 넣지 않으면 예외가 발생합니다.
|
flash.text.engine:TextLine — 텍스트 행입니다. 또는 텍스트 블록이 비어 있거나 지정된 폭이 다음 요소의 폭보다 작은 경우 null 입니다. 이러한 경우를 구별하려면 텍스트 블록의 textLineCreationResult 속성을 확인합니다.
|
오류
ArgumentError — textLine 이 null인 경우입니다.
| |
ArgumentError — previousLine 에 지정된 TextLine이 유효하지 않은 경우입니다.
| |
ArgumentError — previousLine 에서 지정한 TextLine을 다른 TextBlock에서 소유한 경우입니다.
| |
ArgumentError — previousLine 에서 지정된 TextLine이 textLine 에서도 지정된 경우입니다.
| |
ArgumentError — width 가 0보다 작고 fitSomething 이 true가 아닌 경우입니다.
| |
ArgumentError — width 가 TextLine.MAX_LINE_WIDTH 보다 큰 경우입니다.
| |
IllegalOperationError — 텍스트 블록의 내용 중 하나 이상의 요소에 null ElementFormat 이 있는 경우입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
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;
releaseLineCreationData | () | 메서드 |
public function releaseLineCreationData():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2, Flash Lite 4 |
텍스트 줄 생성과 연관된 모든 임시 데이터를 해제하도록 텍스트 블록에 지시합니다. 응용 프로그램의 메모리 사용량을 최소화하려면 텍스트 블록에서의 텍스트 줄 생성을 완료한 후 releaseLineCreationData()
메서드를 호출해야 합니다. 하지만 컨테이너의 크기를 조정하는 경우에서와 같이 줄 다시 바꿈을 위한 성능을 최대화하려면 releaseLineCreationData()
메서드를 호출하면 안 됩니다. 메모리와 성능의 균형을 어떻게 맞춰야 하는지는 응용 프로그램에 따라 다릅니다.
변경하지 않을 텍스트에 권장되는 프로세스는 텍스트 블록을 초기화하고 createTextLine()
메서드를 원하는 출력을 생성하는 데 필요한 만큼 호출한 다음 releaseLineCreationData()
메서드를 호출하는 것입니다.
관련 API 요소
releaseLines | () | 메서드 |
public function releaseLines(firstLine:flash.text.engine:TextLine, lastLine:flash.text.engine:TextLine):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
TextBlock을 통해 유지 관리되는 행의 목록에서 텍스트 행의 범위를 제거합니다. 이렇게 하면 다른 참조가 없는 경우 행이 가비지 수집됩니다.
제거된 줄의 textBlock
, nextLine
및 previousLine
멤버를 null
로 설정합니다. 제거된 줄과 TextBlock에서 제거된 줄 다음에 나오는 모든 줄의 validity
를 TextLineValidity.INVALID
로 설정합니다.
매개 변수
firstLine:flash.text.engine:TextLine — 목록에서 제거할 첫 행을 지정합니다.
| |
lastLine:flash.text.engine:TextLine — 목록에서 제거할 마지막 행을 지정합니다.
|
오류
ArgumentError — firstLine 또는 lastLine 을 사용하여 지정한 TextLine이 텍스트 블록을 통해 유지 관리되는 텍스트 행의 목록에 없는 경우입니다.
|
관련 API 요소
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(); } } }
Tue Jun 12 2018, 03:17 PM Z