PDA

Просмотр полной версии : embedFonts+CSS+loadVars=решение проблемы


AlexMik
20.09.2007, 15:43
Сразу отмечу что перерыл весь форум (может плохо читал...?) но проблему так и не решил...
Суть вопроса такова:

1) Имеем CSS файл (authorize.css):

.main_text {
font-family:"dpix";
font-size:8px;
text-decoration:none;
margin-right:20px;
text-align:justify;
color:#000000;
}


2) Имеем текстовый файл (authorize.txt):

send_text=<p class='main_text'>Авторизация зарегистрированного пользователя</p>


3) Имеем кусок кода из SWF:

// Создание CSS тектового поля с определяемыми параметрами
function CSS_Text_Field_Create(parent_obj,sbox_x,sbox_y,sbox_width,sbox_height,txt_path,css_path,text_field_name,start_field_text)
{
eval(parent_obj).createTextField(text_field_name,eval(parent_obj).getNextHighestDepth(),sbox_x,sbox_y,sbox_width,sbox_height);
var get_text=new LoadVars();
get_text.load(txt_path);
get_text.onLoad=function(success)
{
if (success)
{
var get_css=new TextField.StyleSheet();
get_css.load(css_path);
get_css.onLoad=function(success)
{
if (success)
{
with (eval(parent_obj+"."+text_field_name))
{
embedFonts=true;
border = false;
borderColor=0x0000CC;
background=false;
backgroundColor=0xFFFFCC;
multiline = true;
wordWrap = true;
styleSheet = this;
html = true;
};
change_text_format=this.getTextFormat();
eval(parent_obj+"."+text_field_name).setNewTextFormat(change_text_format);
eval(parent_obj+"."+text_field_name).htmlText = get_text.send_text;
};
};
};
};
};


Фонт в библиотеке прописан как "dpix" (без кавычек естественно).
Так вот применяться он не желает... :( Перепробовал кучу вариантов - этот последний. В других полях (без CSS) все работает НА УРА. Если закоментирую embedFonts=true; то CSS применяется нормально.

Помогайте... Я уже голову сломал...

etc
20.09.2007, 16:03
Верятно, потому что шрифт не зашит в ролик.

В FAQ тема про внедрение шрифта висит и там описано, почему фонт в либе — зло. В данном случае имеет место быть тот вариант, когда русский регион не вшивается в ролик.

AlexMik
20.09.2007, 16:08
Верятно, потому что шрифт не зашит в ролик.

В FAQ тема про внедрение шрифта висит и там описано, почему фонт в либе — зло. В данном случае имеет место быть тот вариант, когда русский регион не вшивается в ролик.

неужели все так плохо... ? И никто это не реализовал? Именно из библиотеки...?

Забью тогда текст в SQL БД и буду из нее считывать как и другие куски...
АБЫДНА ДА?

Или кто сделал такое?

etc
20.09.2007, 16:22
Зачем вам шрифт в библиотеке, если есть гораздо более правильный способ вшития в само поле, а?