Flex中如何通过调用Font.enumerateFonts函数判断系统中安装了哪些字体的例子
By Minidxer | September 2, 2008
接下来的例子演示了Flex中如何通过调用Font.enumerateFonts函数,判断系统中安装了哪些字体。enumerateFonts函数将会返回一个字体对象的数组。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white"
- creationComplete="init()">
- <mx:Script>
- <![CDATA[
- import flash.text.Font;
- private function init():void {
- arr = Font.enumerateFonts(true);
- arr.sortOn("fontName", Array.CASEINSENSITIVE);
- }
- ]]>
- </mx:Script>
- <mx:Array id="arr" />
- <mx:String id="str">The quick brown fox jumped over the lazy dog.</mx:String>
- <mx:ApplicationControlBar dock="true">
- <mx:Label text="String:" />
- <mx:TextInput id="textInput" text="{str}" />
- <mx:Spacer width="100%" />
- <mx:Label text="Number of installed fonts: {arr.length}" />
- </mx:ApplicationControlBar>
- <mx:DataGrid id="dataGrid" dataProvider="{arr}">
- <mx:columns>
- <mx:DataGridColumn dataField="fontName"
- width="200"
- itemRenderer="mx.controls.Label" />
- <mx:DataGridColumn dataField="fontStyle" />
- <mx:DataGridColumn dataField="fontType" />
- </mx:columns>
- </mx:DataGrid>
- <mx:Label id="lbl"
- text="{textInput.text}"
- width="{dataGrid.width}"
- height="32"
- fontFamily="{dataGrid.selectedItem.fontName}"
- fontSize="16" />
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Flex |
Tags: enumerateFonts, Font, 字体