Получение маркированного, жирного, встроенного текста для отображения в Flash CS5 - PullRequest
0 голосов
/ 29 сентября 2011

Я сомневаюсь, что кто-нибудь сможет помочь, но подумал, что выложу на всякий случай ...

Я пытаюсь заставить Flash отображать маркированный список, используя жирный шрифт.

Что я обнаружил, так это то, что я могу получать жирные шрифты с пулями, но не встроенные. Или встроенные шрифты с не выделенными жирным шрифтом, или жирные встроенные шрифты без маркеров.

Это невероятно расстраивает (и раздражает).

Я встраиваю шрифты в библиотеку и экспортирую их через ActionScript. Вот мой код ...

var tf:TextField = new TextField();
        tf.multiline = true;            
        tf.width = 100;         
        tf.x = 200;
        tf.y = 100;
        tf.antiAliasType = AntiAliasType.ADVANCED;
        tf.wordWrap = true;
        tf.autoSize = TextFieldAutoSize.LEFT;
        tf.embedFonts = true;


        var bulletTF:TextFormat = new TextFormat();   


        var myFontBold:VerdBold = new  VerdBold();
        var myFont:Verd = new  Verd();

        bulletTF.font = myFont.fontName;                        

        bulletTF.size = 12;
        bulletTF.bullet = true;
        tf.htmlText ="This is the first bullet, but this text should wrap correctly.<br>and another<br>And another still" ;
        tf.setTextFormat(bulletTF);         

        addChild(tf);

Приведенный выше код создает маркированный список со стандартным шрифтом.

Если я изменю строку bulletTF.font на bulletTF.font = myFontBold.fontName Шрифт станет жирным, а маркеры исчезнут.

Кто-нибудь имел дело с этим? И если так ... каково было ваше решение (или обходной путь).

Очень обязан заранее.

1 Ответ

0 голосов
/ 29 сентября 2011

Вам необходимо вставить как жирный, так и обычный шрифт. Также вместо того, чтобы использовать TextFormat для установки формата, вы можете получить более предсказуемые результаты, установив HTML-теги напрямую:

var myFontBold:VerdBold = new  VerdBold();
var myFont:Verd = new  Verd();

tf.htmlText = '<p><font face="' + myFont.fontName + '">Some regular text</font></p><ul><li><font face="' + myFontBold.fontName + '">Some bold text</font></li></ul>';

Это ужасно, но обычно это должно работать. Использование <b> также может работать, но я думаю, что более надежно явно задавать имена шрифтов.

...