Руководство по actionscript. часть 5, стр. 119
Например, следующий код демонстрирует, как встроить начертания шрифта Verdana в операционную систему Windows ХР. Обратите внимание, что в значении путьКШрифту должны использоваться прямые слэши, но при этом оно не чувствительно к регистру символов.
[Embed(source="c:/wi ndows/fonts/verdana. ttf",
fontFamily="Verdana")] private var verdana:Class;
При выполнении предыдущего кода среда Flash автоматически генерирует класс, представляющий элемент встроенного шрифта, и присваивает этот класс переменной verdana.
Тег метаданных [Embed] может применяться только для шрифтов TrueType.
В простых случаях код, который встраивает шрифт, находится в том же классе, который использует этот шрифт для форматирования текста. Это демонстрирует листинг 27.11, в котором представлен простой класс HelloWorldVerdana, отображающий текст «Hello world», отформатированный с помощью встроенного шрифта (более подробно о форматировании текста с помощью встраиваемых шрифтов мы узнаем в следующем разделе).
Листинг 27.11. Отображение Hello World с использованием шрифта Verdana
package { import flash. display.*; import flash. text.*;
public class HelloWorldVerdana extends Sprite { // Встраиваем шрифт Verdana [Embed(source="c:/windows/fonts/verdana. ttf",
fontFami1y^"Verdana")] private var verdana:Class;
public function HelloWorldVerdana ( ) { var t:TextField = new TextField( ); t. embedFonts = true;
// Форматируем текст с помощью шрифта Verdana
t. htmlText = «Hellо world»;
addChild(t);
}
}
}
В более сложных приложениях, использующих множество встраиваемых шрифтов, за встраивание всех шрифтов обычно отвечает один центральный класс — благодаря этому происходит отделение кода, отвечающего за встраивание шрифта, от кода, осуществляющего форматирование текста. Это демонстрирует листинг 27.12, в котором представлено два класса: FontEmbedder, отвечающий за встраивание шрифта, и HelloWord — основной класс, форматирующий текст с помощью шрифта, встроенного через класс FontEmbedder. Обратите внимание, что класс HelloWorld по необходимости создает ссылку на класс FontEmbedder, заставляя класс FontEmbedder и все его шрифты скомпилироваться в SWF-файл.