Заголовок сообщения: Динамическое поле и css (не отображается русский шрифт) Добавлено: 25 Февраль 2005, 00:33:05
Есть динамическое текстовое поле.
Есть css файл который подгружает стиль.
В виде:
p {
color: #999999;
font-family: "Times New Roman", Times, serif;
font-size: 14px;
display: inline;
}
Все работает если не делать Character, как только я выставляю галочку (Specify Ranges и выбраю Cyrillic для русского, Uppercase, Lowercase, Numerals). весь текст вопще перестает отображатся.
А если не делать Character, все квадратиками у людей без русского шрифта.
var css:TextField.StyleSheet = new TextField.StyleSheet();
css.setStyle("body", {textIndent:"12", marginLeft:"10", marginRight:"10", fontFamily: "Arial", fontSize:"10"});
css.setStyle("a", {textDecoration:"none", color:"#0000FF"});
css.setStyle("a:hover", {textDecoration:"underline", color:"#FF0000"});
var doc:XML = new XML("<html><body><br/><p>A comma-separated list of fonts to use, in descending order of desirability. <a href=\"http://macromedia.com\">Any font family name can be used.</a></p></body></html>");
Имеем flash файл (с черным фоном) и текстовое динамическое поле с именем: menu_txt
AS выглядит так:
System.useCodepage = true;
// Create a new style sheet object
var style_sheet = new TextField.StyleSheet();
// Location of CSS file that defines styles
var css_url = "styles.css";
// Create some HTML text to display
var storyText:String = "<p><a href='http://www/deforum.ru'>www.deforum.ru</a> — Дизайнеры всех стран...<br>Bla bla bla</p>";
// Load CSS file and define onLoad handler:
style_sheet.load(css_url);
style_sheet.onLoad = function(ok) {
if (ok) {
// If the style sheet loaded without error,
// then assign it to the text object,
// and assign the HTML text to the text field.
menu_txt.styleSheet = style_sheet;
menu_txt.htmlText = storyText;
menu_txt.html = true;
menu_txt.embedFonts = false;
menu_txt.multiline = true;
menu_txt.wordWrap = true;
menu_txt.border = true;
}
};
CSS так:
p {
color: #999999;
font-family: "Times New Roman", Times, serif;
font-size: 14px;
display: inline;
}
1) font-family: "Times New Roman"; // только имя шрифта
2) Что бы embedFonts = true давало результат, было бы еще не плохо этот самый шрифт все же заэмбедить …
diflux, слушай а тебе не хочется взять свой исходник (бугагага) со своим багом и попробовать самому докопаться, раз абсолютно точные ответы тебя неудовлетворяют
если динамическое поле лежит на таймлайне и не созданно програмно, то какой шрифт в нем указан и главное какого кегля?! потому что то что ты указываешь в character - так он включает этот шрифт именно этого кегля и именно это стиля, то есть если у тебя normal а htmlText что-то типа <b>blabla</b> то не будет отображаться! потом ты антиальясингом пользуешься? если да, то название шрифта тоже меняется... _8pt_st...
diflux, уважаймый, я еще раз вам повторю, я скачал ваш архив, изменил в исходники одну строчку кода и включил шрфит в фильм. А так же изменил одну строчку в листе стилей. После чего все заработало.
Собственно все это я уже пишу в третий раз.
Если вам лень пошевелить руками или трудно понять это, выможете выслать мне определенную сумму на счет, о чем мы можем с вами договориться, и я вышлю вам мини-презентацию, в которой будет доходчиво показано где и какую галочку нажать в редакторе и какую строчечку поменять в коде
Флэшеры!!!!! Mazzza faka!!!!!!! Разобрался.
Методом тыка.
вопервых: (font-family: "Times New Roman", Times, serif;) — тут не причем, его даже не трогал
вовторых: (menu_txt.embedFonts = true;) — отключает анти-альязинг, так что false, чтоб текст не мазался
втретьих: var storyText:String = "<p><a href='main/index.htm'>Впихнуться</a></p>
нужно писать
var storyText:String = "<html><body><p><a href='main/index.htm'>Впихнуться</a></p></body></html>";
<html> & <body> обязательными тэгами оказались.
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.