Внедрение шрифтов для классов компонентов - PullRequest
0 голосов
/ 12 декабря 2011

Во-первых, я полностью прочитал этот вопрос , и ни один из ответов не помог.

Я работаю над классом компонентов, который позволит разработчику установить метку и шрифт метки в IDE Flash CS5. Проблема в том, что когда я пытаюсь использовать класс TextFormat для установки шрифта, размера и т. Д., Он не появляется. Если я удаляю embedFonts = true, тогда он вообще не использует формат и просто печатает мой текст шрифтом Times New Roman. Вот мой код:

frmt = new TextFormat();
frmt.font = FontName;
frmt.size = labelSize;
frmt.align = TextFormatAlign.CENTER;
label_txt = new TextField();
label_txt.autoSize = TextFieldAutoSize.LEFT;
label_txt.embedFonts = true;
//label_txt.selectable = false;
label_txt.defaultTextFormat = frmt;
label_txt.setTextFormat(frmt);
label_txt.addEventListener(Event.ENTER_FRAME, textDrawHandler);
addChild(label_txt);

и затем в событии enterFrame:

label_txt.text = label;
label_txt.setTextFormat(this.frmt);

1 Ответ

0 голосов
/ 12 декабря 2011

Если ваши шрифты исчезают при значении embedFonts, то вы либо:

  • не вложили правильный набор шрифтов

    BeОбязательно помните, что помимо семейств шрифтов для каждого варианта курсива / не курсива и полужирного / обычного шрифта требуется отдельный символ шрифта!

или

  • не указали правильное имя шрифта в текстовом формате

    Имя, которое вы установили на вкладке ActionScript панели свойств для символа шрифта, относится только к имени класса доступно в разделе (для использования с Font.registerFont() в ActionScript).Отображаемое имя шрифта (для использования со свойством font TextFormat и / или font-family в CSS) устанавливается автоматически!Отображаемое имя каждого шрифта можно увидеть в области неактивного текста в нижней части вкладки «Параметры» панели свойств шрифта в Flash CS5, или вы можете использовать Font.enumerateFonts () , чтобы отследить все доступныеотображаемые имена во время выполнения.

...