TLF テスト

by zahir
明朝体がジャギル…
♥0 | Line 47 | Modified 2010-03-27 21:51:48 | MIT License
play

ActionScript3 source code

/**
 * Copyright zahir ( http://wonderfl.net/user/zahir )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/3lT4
 */

/*
	明朝体がジャギル…
 */
package{
	import flash.display.Graphics;
	import flash.display.Sprite;
	import flash.display.StageScaleMode;
	
	import flashx.textLayout.container.ContainerController;
	import flashx.textLayout.conversion.TextConverter;
	import flashx.textLayout.elements.Configuration;
	import flashx.textLayout.elements.TextFlow;
	import flashx.textLayout.formats.BlockProgression;
	import flashx.textLayout.formats.JustificationRule;
	import flashx.textLayout.formats.TextLayoutFormat;
	
	[SWF(width="465", height="465")]

	public class TLF_test1 extends Sprite{
		
		private const TXT:String = <![CDATA[
			<flow:TextFlow xmlns:flow="http://ns.adobe.com/textLayout/2008">
				<flow:p>hello, world</flow:p>
				<flow:p><flow:span color="0xFF0000" fontWeight="bold">テストだよ</flow:span></flow:p>
				<flow:p><flow:span fontFamily="_明朝">本日は<flow:br/>晴天なり</flow:span></flow:p>
			</flow:TextFlow>
		]]>;
		
		public function TLF_test1(){
			
			var config:Configuration = new Configuration();
			var tlf:TextLayoutFormat = new TextLayoutFormat();
			var container:ContainerController = new ContainerController( createContainer(), 455,455 );
			
			tlf.fontFamily = "Kozuka Mincho Pro R";
			tlf.color = 0x993300;
			tlf.backgroundColor = 0x000033;
			tlf.fontSize = 36;
			
			// 縦書き設定
			tlf.locale = "ja";
			tlf.justificationRule = JustificationRule.EAST_ASIAN;
			tlf.blockProgression = BlockProgression.RL;
			
			config.textFlowInitialFormat = tlf;
			
			var flow:TextFlow = TextConverter.importToFlow(TXT, TextConverter.TEXT_LAYOUT_FORMAT, config);
			flow.flowComposer.addController( container );
			flow.flowComposer.updateAllControllers();
		}
		private function createContainer():Sprite{
			var s:Sprite = new Sprite();
			var g:Graphics = s.graphics;
			g.lineStyle( 1, 0 );
			g.drawRect(5,5,455,455);
			s.x = s.y = 5;
			addChild(s);
			return s;
		}
	}
}