開発環境 Apache Flex SDK 4.12.1
FlashDevelop 4.6.2.5
実行環境 Microsoft Windows 8.1 (64bit)
プロジェクトの種類 ActionScript 3/AS3 Project
プロジェクト名 FontList


Main.as
package 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.KeyboardEvent;
    import flash.text.Font;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.ui.Keyboard;
 
    public class Main extends Sprite 
    {
        private var textField:TextField = new TextField;
        private var tflist:Array = new Array(10);
        private var fonts:Array = Font.enumerateFonts(true);
        private var pages:int = Math.ceil(fonts.length / 10);
        private var page:int = 0;
 
        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
 
        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            // entry point
 
            textField.x = 10;
            textField.y = 10;
            textField.width = 200;
            textField.height = 30;
            textField.defaultTextFormat = new TextFormat(null, 24);
            addChild(textField);
 
            for (var i:int = 0; i < 10; i++) 
            {
                var tf:TextField = new TextField;
                tf.x = 10;
                tf.y = 50 + 40 * i;
                tf.width = 480;
                tf.height = 35;
                tf.border = true;
                addChild(tf);
                tflist[i] = tf;
            }
 
            disp();
 
            stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
        }
 
        private function disp():void 
        {
            textField.text = "← → page " + (page + 1) + " / " + pages;
 
            for (var i:int = 0; i < 10; i++) 
            {
                var index:int = page * 10 + i;
                if (index < fonts.length)
                {
                    var fontName:String = fonts[index].fontName;
                    tflist[i].defaultTextFormat = new TextFormat(fontName, 24);
                    tflist[i].text = "012 ABC 漢字 " + fontName;
                }
                else
                {
                    tflist[i].text = "";
                }
            }
        }
 
        private function onKeyDown(e:KeyboardEvent):void 
        {
            switch (e.keyCode) 
            {
                case Keyboard.LEFT:
                    if (--page < 0) page = pages - 1;
                    disp();
                    break;
                case Keyboard.RIGHT:
                    if (pages <= ++page) page = 0;
                    disp();
                    break;
            }
        }
 
    }
 
}
 
最終更新:2014年06月27日 20:56