Korchy (korchy) wrote,
Korchy
korchy

Category:

Встраивание шрифта в Adobe Flash CS

В последних версиях Flash-плеера Adobe внес какие-то изменения в отображение системных шрифтов, в следствие которых, шрифтом по-умолчанию стал Arial (до этого был Times). Это бы еще ничего, но для системных шрифтов теперь постоянно включен режим сглаживания, из-за которого текст небольшой высоты (10-12) выглядит сильно смазанным.
Добиться приемлемой четкости шрифта через AntiAliasType.ADVANCED мне не удалось. Поэтому выход остался один - встроить шрифт в flash-приложение.
Проинспектировав "гугл" на предмет встраивания шрифтов, можно получить множество ссылок на встраивание шрифтов и абсолютно во всех это предлагается делать посредством [EMBED ...]
Помучавшись некоторое время, я убедился, что в Adobe Flash этот метод не работает и директива [EMBED] им преспокойно игнорируется. Выходит, этот метод подходит для Flex-разработчиков,но никак не годится для работающих в Adobe Flash.



Метод встраивания шрифта в Adobe Flash достаточно прост. Шрифт нужно включить в библиотеку проекта и залинковать для использования в приложении.

1. Включаем шрифт в библиотеку проекта: - открываем файл *.fla. В меню проекта нажимаем на Library, в открывшемся окне щелкаем правой кнопкой на нижнем поле и выбираем New Font.



2. В открывшемся окне выбираем нужный шрифт и ставим галочку BitmapText. Обязательно нужно обратить внимание на указываемый размер встраиваемого шрифта. Дело в том, что в проект шрифт встраивается только указанного размера, и если в проекте нужно использовать шрифт в нескольких размерах, его нужно встроить с каждым из используемых размеров отдельно. После нажатия на OK шрифт появится в списке.

3. Для линковки шрифта в проект: щелкаем правой кнопкой по шрифту, выбираем Linkage... и отмечаем две галочки Export for ActionScript и Export in first frame. После нажатия на OK шрифт будет доступен для использования в проекте.

Использование встроенного шрифта в проекте.

1. Создаем текстовое поле TextField и устанавливаем для него embedFonts = true. Также создаем объект TextFormat через который будем устанавливать шрифт:

var Txt:TextField = new TextField();
Txt.embedFonts = true;
var TFormat:TextFormat = new TextFormat();

2. Указываем имя шрифта. Допустим мы встроили в проект шрифт Arial размера 12. Имя шрифта хранится в формате: Название+"_"+размер+"_pt_st". Соответственно:

TFormat.font = "Arial"+"_"+"12"+"pt_st";

3. Выводим текст и устанавливаем для него формат. Директива setTextFormat должна применяться после установки самого текста:

Txt.text = "Этот текст выводится шрифтом Arial";
Txt.setTextFormat(TFormat);

4. После вывода текстового поля на экран, текст в нем будет отображен встроенным в проект шрифтом Arial.

5. Если в приложении шрифт будет использоваться в виде жирного и курсивного начертания: необходимо еще два раза встроить тот же самый шрифт, отметив соответственно галочки "bold" и "italic".

Tags: actionscript 3.0, progr
Subscribe

  • Сервер B3D Interplanety в discord

    Сервер B3D Interplanety в Discord. Для обсуждения вопросов по Blender, его API, разработки скриптов и аддонов. Вопросы, не относящиеся…

  • Аддон Blender "Select-UP" v. 1.2.0.

    Обновление аддона "Select-UP" до версии 1.2.0. Добавлено выделение в зависимости от парентинга объектов Читать дальше:…

  • Оператор для скрытия объекта во всех сценах

    Для того, чтобы скрыть объект в окне 3D Viewport только для текущей сцены мы все пользуемся оператором object.hide_view_set, вызов которого…

Comments for this post were disabled by the author