Я очень и очень долго застрял в этом вопросе, который уже много раз поднимался и обсуждался.Задача еще проста, и на самом деле она не должна занимать безумное количество времени, которое у нее уже есть: выделить несколько слов в текстовом поле встроенным шрифтом (отличным от Arial).
Тег bКажется, работает только при использовании шрифта, в котором Flash, кажется, изначально распознает жирный шрифт (Arial и т. д.), но я использую шрифт, который имеет 4 веса: обычный, средний, жирный и черный.Мне нужен черный вес для жирных слов в основном тексте среднего веса.
Я сделал буквально десятки тестов, все из которых были неудачными с использованием «классических» текстовых полей, встраивание шрифта один раз для каждого веса и использование htmlText: пробовал каждыйнастройка возможна в диалоге встраивания, с тегами b, span, em - с TextFormat (полужирный, шрифт) или StyleSheet (fontWeight, fontStyle, fontFamily) ...
Вывод: НЕТ способа установить 2 разныхвстроенные шрифты в одном textField.
Проблема, безусловно, связана с внедрением шрифтов, что подтверждается следующими функциями отладки:
/**
* Debug helper: trace embedded fonts
*/
function trace_embedded_fonts():void
{
var fonts:Array = Font.enumerateFonts();
for ( var i:int = 0; i < fonts.length; i++ )
trace( fonts[ i ].fontName + " - " + fonts[ i ].fontStyle + " - " + fonts[ i ].fontType );
}
/**
* Debug helper: Trace format
*/
function trace_classic_textfield_format( tf:TextField ):void
{
trace( "trace_tlf_textfield_format( " + tf.name + " )" );
trace( " font = " + tf.getTextFormat().font );
}
с выводом соответственно Maven Pro - regular - embedded
(только этов одну строку, хотя я встраивал шрифт 4 раза, по одному на вес - и да: я назвал их осторожно и попытался экспортировать для actioncript, в DF3 и в DF4, а также без экспорта) и font = Maven Pro
для всего textFieldэкземпляры на сцене, какой бы стиль не был применен к ним (также пытались оба выбрать встроенный шрифт - с *
вконец - и системный шрифт).
Короче говоря, шрифт странный, но я ничего не могу с этим поделать.
Так что мой вопрос относится к новой платформе Text Layout Framework (TLFTextField): может ли это быть достигнуто с помощью этого?
Текст загружается из XML и содержит простые теги, такие как em, b и т. Д., Но переписать их в потоковые теги не вариант.
Я попробовал преобразование, доступное через класс TextConverter - как var tf:TextFlow = TextConverter.importToFlow(hyperText, TextConverter.TEXT_FIELD_HTML_FORMAT);
- ср.http://help.adobe.com/en_US/as3/dev/WS14c3067b34b57c6d4a97343b122ab36a52f-7ffb.html#WS14c3067b34b57c6d4a97343b122ab36a52f-7ff9 - но я не понимаю , как стилизовать каждый тег и как применить TextFlow к текстовому полю TLF , уже добавленному вручную на этапе Flash?