TLF #2
♥0 |
Line 55 |
Modified 2010-03-27 23:21:15 |
MIT License
archived:2017-03-20 17:12:44
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/fNpj
*/
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
width="465" height="465"
creationComplete="c_init();" >
<mx:Script>
<![CDATA[
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;
import mx.collections.ArrayCollection;
private var config:Configuration;
private var format:TextLayoutFormat;
private var ctrl:ContainerController;
private function c_init():void{
setFonts();
config = new Configuration();
format = new TextLayoutFormat();
ctrl = new ContainerController( c, cnvs.width, cnvs.height);
format.locale = "ja";
format.justificationRule = JustificationRule.EAST_ASIAN;
format.blockProgression = BlockProgression.RL;
config.textFlowInitialFormat = format;
onChangeFont();
}
private function onChangeFont():void{
var str:String = "<flow:TextFlow xmlns:flow='http://ns.adobe.com/textLayout/2008'><flow:p>";
for(var i:int = 1, len:int = 100; i<=len; i++){
str += "<flow:span fontSize='"+ i +"' fontFamily='"+fonts.selectedItem +"'>あ</flow:span>";
}
str += "</flow:p></flow:TextFlow>";
var flow:TextFlow = TextConverter.importToFlow(str, TextConverter.TEXT_LAYOUT_FORMAT, config);
flow.flowComposer.addController( ctrl );
flow.flowComposer.updateAllControllers();
}
private function setFonts():void{
var allFonts:Array = Font.enumerateFonts(true);
var _arr:Array = new Array();
allFonts.sortOn("fontName", Array.CASEINSENSITIVE);
for(var i:int=0;i<allFonts.length;i++){
_arr[i] = allFonts[i].fontName;
}
fonts.dataProvider = new ArrayCollection(_arr);
fonts.selectedIndex = 0;
}
]]>
</mx:Script>
<mx:ComboBox id="fonts" change="onChangeFont();" left="0" top="0" right="0"/>
<mx:Canvas id="cnvs" left="3" right="3" bottom="5" top="25" backgroundColor="#FFFFFF">
<mx:UIComponent id="c" />
</mx:Canvas>
</mx:Application>