Руководство по actionscript. часть 5, стр. 130
Листинг 27.18. Перечисление всех встроенных шрифтов и шрифтов устройства
var fonts:Array = Font. enumerateFonts(true); fonts. sortOn(«fontName». Array. CASEINSENSITIVE); for (var i:int = 0; i < fonts.length; i++) { trace(fonts[i].fonttype + ": "
+ fonts[i].fontName + «. » + fonts[i].fontStyle);
}
Функция enumerateFonts ( ) может быть использована, чтобы дать возможность пользователю выбирать шрифты приложения или автоматически выбирать резервный шрифт, как показано в листинге 27.19.
Листинг 27.19. Автоматический выбор резервного шрифта
package { import flash. display.*; import flash. text.*;
public class FontFallbackDemo extends Sprite { public function FontFallbackDemo ( ) { var format-.TextFormat = new TextFormat( );
// Присваивает первый доступный шрифт
format. font = getFont(["ZapfChancery". "Verdana". "Arial". "_sans"]);
var t:TextField = new TextField( ); t. text = «ActionScript is fun!»; t. autoSize = TextFieldAutoSize. LEFT; t. setTextFormat(format)
addChild(t);
}
// Из передаваемого списка шрифтов возвращает имя первого шрита
// в списке, который доступен либо в качестве встроенного шрифта, либо
// в качестве шрифта устройства
public function getFont (fontList: Array)-.String {
var availableFonts:Array = Font. enumerateFonts(true);
for (var i:int = 0; i < fontlist.length; i++) { for (var j:int = 0; j < availablefonts.length; j++) {
if (fontl_ist[i] == Font(avai 1 ableFontsCj]).fontName) { return fontl_ist[i];
return null;
Определение доступности глифа
Чтобы определить, имеет ли некий встроенный шрифт глиф для указанного символа или набора символов, мы используем метод экземпляра hasGlyphs ( ) класса Font. Принимая строковый аргумент, этот метод возвращает значение типа Boolean, которое указывает, имеет ли шрифт все глифы, необходимые для отображения данной строки.