Adobe CC Flash Pro: как правильно встраивать и использовать шрифты?

Недавно я обновился до Adobe CC с Adobe CS6, и мой текст больше не отображается в моем проекте Flash Professional. Он содержит много динамического текста и htmlText. Я не совсем уверен, правильно ли я делал это раньше, поскольку я прочитал несколько руководств, в которых объяснялись разные методы, но, по крайней мере, это работало.

У меня был некоторый успех в попытках исправить все, но я был бы признателен, если бы кто-нибудь сказал мне, как это сделать с помощью Adobe CC. Вот как я сейчас пытаюсь это сделать.

  1. Добавьте шрифт в библиотеку, установите флажок «Экспорт для ActionScript» и назначьте имя класса.
  2. Создайте экземпляр шрифта и его версии, выделенные жирным и курсивом:

    var myFont:Font = new MyFont();
    var myFontBold:Font = new MyFontBold();
    var myFontItalic:Font = new MyFontItalic();
    
  3. Настройте textFormat:

    var myTextFormat:TextFormat = new TextFormat();
    myTextFormat.font = myFont.fontName;
    
  4. Настройте textField и примените textFormat:

    var myTextField:TextField = new TextField();
    myTextField.defaultTextFormat = myTextFormat;
    

Это приведет к отображению текста, но если я попытаюсь поместить полужирные или курсивные теги в свой htmlText, ни один из них не сработает.

myTextField.htmlText = "This is <b>bold</b>. This is <i>italic</i>.";

Кроме того, мне нужно больше делать Font.registerFont? Это было в моем предыдущем коде, но я никогда не понимал, зачем мне это нужно.


person BladePoint    schedule 20.10.2014    source источник
comment
Я забыл сказать, что сделал то же самое для полужирной и курсивной версий шрифта.   -  person BladePoint    schedule 20.10.2014
comment
для текста html, я думаю, вам нужно создать таблицу стилей и назначить курсивный и полужирный шрифт тегам b и i (или strong и em, если вы хотите быть в курсе веб-стандартов)   -  person BadFeelingAboutThis    schedule 20.10.2014


Ответы (1)


Попробуйте создать и настроить таблицу стилей, которая назначает полужирные и курсивные версии шрифта соответствующим тегам:

var style:StyleSheet = new StyleSheet();
style.setStyle("i", {fontFamily: myFontItalic.fontName});
style.setStyle("b", {fontFamily: myFontBold.fontName});

myTextField.styleSheet = style;

myTextField.htmlText = "This is <b>bold</b>. This is <i>italic</i>.";
person BadFeelingAboutThis    schedule 20.10.2014
comment
Я устал в cc (2014), и это сработало. Вы можете поделиться своим .fla? - person BadFeelingAboutThis; 22.10.2014
comment
Я заставил это работать, но я также обнаружил кое-что странное. Когда я использовал setStyle для создания тега ‹bi› для полужирного курсива, я впервые заставил его работать! Затем, когда я использовал ‹bol› вместо ‹b› и ‹ital› вместо ‹i›, эти вещи тоже работали. Единственная проблема в том, что все эти настраиваемые теги по какой-то причине создают новую строку в конце. : / Приветствуются любые дополнительные сведения. Вот мой .fla mediafire.com/?0t3mbm6vu81e7eo - person BladePoint; 22.10.2014
comment
Хорошо, добавление display: inline устраняет проблему с новой строкой, так что все в значительной степени работает. Было бы хорошо, если бы я мог использовать теги ‹b› и ‹i› вместо создания собственных имен тегов. Я думал, что это должно было заменить значения по умолчанию, когда я установил стиль ‹b› и ‹i›? - person BladePoint; 22.10.2014
comment
Должно. Когда я попробовал код в своем ответе, у меня все сработало. Не видя вашего .fla, трудно сказать, в чем может быть проблема - хотя рад, что он хоть немного заработал! - person BadFeelingAboutThis; 22.10.2014