![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Nov 2005
Сообщений: 148
|
Такя проблемка. Есть код:
import flash.text.Font; import flash.text.StyleSheet; import fl.text.TLFTextField; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; public class Viewer extends MovieClip { private var fontSegoeWP :Font; private var fontSegoeWPBold :Font; private var textFormat :TextFormat; public function Viewer(str:String) { fontSegoeWP=new EmbededFont(); fontSegoeWPBold=new EmbededFont2(); textFormat=new TextFormat(); textFormat.font = fontSegoeWP.fontName; textFormat.size = 25; this.TLF_text.autoSize = TextFieldAutoSize.LEFT; this.TLF_text.defaultTextFormat = textFormat; this.TLF_text.embedFonts = true; var style:StyleSheet = new StyleSheet(); style.parseCSS("h1{font-family: "+fontSegoeWPBold.fontName+"; fontWeight:bold}"); var modifyText:String = str.split("\r").join(""); this.TLF_text.styleSheet = style; this.TLF_text.htmlText = modifyText; } <InfoText> <![CDATA[<Font size='32' color='#FF0000'>Так меняем размер и цвет</Font>, а так <h1> делаем болд.</h1> Всё, что вне тэгов печатается обычным шрифтом]]> </InfoText> [IMG]http://s3.********************/uploads/images/2012/08/01604cd37a1130b7f63334ceb75ce86f.jpg[/IMG] Т.е. после закрытия тэга строка переходит на следующую линию. Тэг <b> не использую, т.к. шрифт специфический, он без болда и htmlText тэг игнорирует. Как htmlText заставить не переносить строку? PS, sorry за орфографическую ошибку ) Последний раз редактировалось zerAlex2; 25.08.2012 в 12:29. |
|
|||||
|
Зачем там используется тег заголовка h1?
Естественно нормальный html будет считать это заголовком и перенесет остальную часть на следующую строку. Нужно заменить тег на какой-то другой. Например <span> |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 148
|
А так пропадает болд (
[IMG]http://s2.********************/uploads/images/2012/08/e8e3e52f657307cf19fd0f7cb3e802f9.jpg[/IMG] |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 148
|
Я писал, шрифт специфический. С <b> </b> получается:
[IMG]http://s3.********************/uploads/images/2012/08/52fa13c0df12462cd4a5bc37c9f96ec9.jpg[/IMG] Хоть, если отключить style, хоть если в style указать тэг b{...} В общем, для того я второй шрифт и завёл. Может htmlText какую-то блочность задаёт? Последний раз редактировалось zerAlex2; 25.08.2012 в 12:38. |
|
|||||
|
Модрон-ветеринар
|
Что значит "какую-то"? Вполне конкретную, описанную в спецификациях.
Цитата:
__________________
Идите первым! |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Правда насчет последнего правила не уверен, начертание итак болд, в самом шрифте. Требовать от него еще болда — значит требовать другой файл шрифта fontSegoeWPBold.. Это ошибка разработчика шрифта, он должен был указать одинаковый font family "SegoeWP" в обоих файлах, и полужирному начертанию указать что это болд)).. а так создал два файла разных шрифтов, то есть второй не считается начертанием болд для первого.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 148
|
Нет, и так не работает (
Убрал второй шрифт и добавил цикл, для просмотра свойств шрифта: fontSegoeWPBold=new EmbededFont2();//Эту строку убрал var fonts:Array = Font.enumerateFonts(); for (var f:int = 0; f < fonts.length; f++) { var font:Font = (fonts[f] as Font) trace(font.fontName, ",", font.fontStyle, ",", font.fontType) } Выдаёт (это с 2-мя подгруженными шрифтами): Segoe WP Light , regular , embedded Segoe WP , bold , embedded Segoe WP Light , regular , embeddedCFF Segoe WP , regular , embeddedCFF Segoe WP Light , regular , embeddedCFF Segoe WP , regular , embeddedCFF Segoe WP Light , regular , embedded Segoe WP Light , regular , embeddedCFF Segoe WP , regular , embeddedCFF Segoe WP Light , regular , embeddedCFF Segoe WP , regular , embeddedCFF Походу, из-за шрифта проблемы... Во всяком случае, раньше со стандартными шрифтами всё получалось. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Я уже как-то говорил, что родной компилятор Flash IDE не позволяет назначать шрифтам "свое" имя семейства, то есть выдавать фактически разные шрифты за шрифты одного семейства. Когда шрифт импортируется в библиотеку, имя которое Вы вводите в поле в окне импорта, это имя Символа в библиотеке. Именно поэтому потом в коде приходится обращаться к шрифту как fontSegoeWPBold.fontName. Потому что настоящего имени шрифта Вы не знаете, точнее не задаете его самостоятельно. Во flex_sdk с тегами [Embed] все гораздо проще.
__________________
Reality.getBounds(this); |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
В вашем списке есть нюанс — болд добавлен в библиотеку НЕ как CFF, поэтому не может быть использован TLFTextField.
Цитата:
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|