![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Всем, привет, знаю что тема наверняка поднималась, но второй день сижу с этой проблемой и пока не могу ее решить и поиск не помогает.
Все дело в совместном применении embedFonts и styleSheet одно без другого работает, а вместе никак. Сделал так - тф динамичный, создал кодом, прописал ему форматирование+styleSheet, текст загружается динамически из html, css тоже, фонт зашит в swf, при своместном примененении в разных вариантах очередности -либо шрифт не эмбедиться -либо пропадает форматирование css -либо текст не отображается совсем подскажите кто что знает плиз. this.createTextField("my_txt",this.getNextHighestDepth(),-408,-225,817,451); var story:XML = new XML(); story.ignoreWhite = true; story.load("text/about.html"); story.onLoad = function() { var my_fmt:TextFormat = new TextFormat(); my_fmt.size = 14; my_fmt.font = "myFont1"; my_fmt.color = 0xffffff; var myStyle:TextField.StyleSheet = new TextField.StyleSheet(); myStyle.load("common/style.css"); myStyle.onLoad = function() { my_txt.styleSheet = myStyle; my_txt.autoSize = "center"; my_txt.selectable = false; my_txt.wordWrap = true; my_txt.html = true; my_txt.multiline = true; my_txt.embedFonts = true; my_txt.htmlText = story; my_txt.setTextFormat(my_fmt); }; }; |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>О Группе</title> </head> <body> <p><text>.....dfvdfvfd....</text></p> </body> </html> хм как то странно - если в css прописать шрифт, соответственно во falsh embedFonts = false то все работает так как надо, но только если шрифты в системе устновлены. Народ, кто нть знает способ форматирования со своим шрифтом? |
|
|||||
|
[+4 06.05.14]
|
Ну вопервых, зачем вам создавать программно? Создайте поле вручную и все шрифты заэмбедить уже там, а не кодом. Во вторых если ты используешь embedFonts = true; ты вкурсе вообще что нужно Добавлять Font в библиотеку и давать ему инстанс?
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
конечно шрифт находиться в библиотеке, а програмно для большей гибкости.
Да нет же - если одна из строчек выключена - то все работает, не работает только вместе - ощущение что одно перекрывает другое, думаю попробовать вот это добавить - вместо - |
|
|||||
|
Модрон-ветеринар
|
Не используйте одновременно и TextFormat и CSS.
Задавайте имя шрифта, цвет и размер с помощью CSS. И строку my_txt.styleSheet = myStyle; попробуйте перенести в конец, после того, как текст зададите. То есть вместо my_txt.setTextFormat(my_fmt); А embedFonts обязательно. Добавлено через 5 минут Я бы вообще вот так записал, исходя из событийной схемы: var myStyle:TextField.StyleSheet = new TextField.StyleSheet(); story.onLoad = function() { my_txt.autoSize = "center"; my_txt.selectable = false; my_txt.wordWrap = true; my_txt.html = true; my_txt.multiline = true; my_txt.embedFonts = true; my_txt.htmlText = story; myStyle.load("common/style.css"); }; myStyle.onLoad = function() { my_txt.styleSheet = myStyle; }; Или, как вариант, если есть предгагрузчик, то логично все, в т.ч. и таблицу стилей загрузить в нем ( и вообще все что понадобится в дальнейшем). PS. Надеюсь, вы внедрили все начертания - то есть отдельно нормальный, отдельно полужирный и все что надо у вас по CSS?
__________________
Идите первым! Последний раз редактировалось mooncar; 07.10.2010 в 15:35. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
mooncar, огромное спасибо, попробую вечером сделать))
Добавлено через 20 часов 48 минут неа - ничего не получается, вообще ничего - любая попытка откоментить строку - и все - все остальное можно уже ничего не делать - текст не отображается, хоть раньше грузить css хоть позже - хоть чего переставляю не получается. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
хм видимо это баг встраивания текста с русскими буквами((((
|
|
|||||
|
Модрон-ветеринар
|
Не знаю, о каком баге вы говорите, нет никаких багов.
В общем, правильно так - сперва загружаем CSS, задаем ее полю. Потом присваиваем полю текст. Я сам давно это использовал, потому последовательность точно не упомнил. А вот и пример.
__________________
Идите первым! Последний раз редактировалось mooncar; 16.10.2010 в 02:18. |
|
|||||
|
Модрон-ветеринар
|
Вместо CSS можно использовать TextFormat.
В целом, при внедрении логика следующая: 1) "физически" внедряем шрифт в проект (см. текстовые поля в примере вверху). Все начертания, какие надо, с нужными наборами символов. 2) должны объяснить флешке, какой шрифт используем тут или там. Это может быть сделано с помощью как CSS, так и TextFormat. И тогда она задействует внедренный. В примере в классе normal объявлена Tahoma. И поскольку этот шрифт есть среди внедренных (причем все начертания, которые требуются в тексте - нормальный, полужирный, наклонный), то весь текст под этим классом (То есть например <p class="normal">.....Текст....</p>) нормально выводится . Использовать CSS гибче, чем TextFormat, потому как можем прямо тегами писать где какой класс использовать, а при TextFormat сложнее будет, если например, шрифт разный, то есть индексами назначать придется.
__________________
Идите первым! Последний раз редактировалось mooncar; 16.10.2010 в 02:07. |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|