Flash игнорирует большинство моих тегов в HTML TextField - PullRequest
0 голосов
/ 29 февраля 2012

Я уже некоторое время пытаюсь понять. Мне обычно удается заставить мои textFields работать должным образом, но это просто сводит меня с ума.

У меня есть это TextField, в которое я вставляю текст в формате HTML (содержится в файле XML). Почему-то почти все мои теги игнорируются (<b>, <i>, <u>, <ul> и <li>). Я могу только заставить его правильно отображать теги <br />. Я мог бы использовать таблицу стилей, но я не думаю, что это заставило бы мои списки работать ...

Вот как все устроено:

Текст, который я ввожу:

<text>
    <![CDATA[<b>Some bold text </b>and some normal text <br/><u>This text is underlined</u> normal text to compare<br/><i/>This text is italic</i>]]>
</text>

Как установлен мой TextField:

// When my Class' setup method is called, I set those properties
_tf = _transcript.getTextFormat();
_tf.font = "Verdana";
_tf.size = 12;
_transcript.embedFonts  = true;
_transcript.multiline   = true;
_transcript.autoSize    = TextFieldAutoSize.LEFT;
_transcript.wordWrap    = true;

// In an function, later on
_transcript.htmlText = transcript;  // transcript is a parameter. Basically, the XML I wrote above
_transcript.setTextFormat(_tf);

I DO имеет встроенную Вердану (как и варианты). Я убедился в этом, сгенерировав отчет о размере и с трассировкой Font.enumerateFonts (). Если я выведу htmlText textField после его настройки, я получу это:

<P ALIGN="LEFT"><FONT FACE="Verdana" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">Some bold text and some normal text </FONT></P><P ALIGN="LEFT"><FONT FACE="Verdana" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">This text is underlined normal text to compare</FONT></P><P ALIGN="LEFT"><FONT FACE="Verdana" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">This text is italic</FONT></P>

У меня действительно нет идей о том, почему ничего не работает, если бы у кого-то была идея, я был бы очень признателен !!

Спасибо

Редактировать: Поэтому я решил проверить отсутствие CDATA в моем XML и добавить тег <b> в мой код AS3. Тоже не сработало. Я не понимаю, как правильно вставить свои шрифты, но Flash отказывается их использовать.

1 Ответ

0 голосов
/ 01 марта 2012

Хорошо, чтобы заставить это работать, я использовал следующий синтаксис:

<mx:Text>
    <mx:htmlText>
        <![CDATA[<b>Some bold text </b>and some normal text <br/><u>This text is underlined</u> normal text to compare<br/><i/>This text is italic</i>]]>
    </mx:htmlText>
</mx:Text>

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

Также вот ссылка на liveocs, которую я использовал для проверки своего синтаксиса ...

http://livedocs.adobe.com/flex/3/html/help.html?content=textcontrols_04.html

Оглядываясь на ваш вопрос, я только что понял, чтовы, вероятно, не используете Flex, так что это специфично для Flex, извините.

...