![]() |
Внедрение шрифта "выключает" отображение текста
Дано:
1. серверный скрипт, отдающий по запросу некий XML в кодировке UTF-8; 2. флэшка, которая этот XML принимает и помещает в текстовое поле Всё работает до тех пор, пока в текстовое поле не внедряется шрифт. После этого (в моем случае) из всех символов, которые посылаются, видны лишь символы "равно" ("="). :confused: Остальных как будто бы нет, хотя трейс показывает обратное. Найти: Способ заставить текстовое поле отображать данные при внедренном шрифте. Или доказать невозможность этого и определить причину такого поведения. |
Запрос на дополнительные данные:
-- язык -- русский? -- отдаешь через echo? -- кодировку указываешь через header("ContentType: text/xml; charset=utf-8"); ? -- или в объявлении XML: <?xml version="1.0" encoding="utf-8"?> ? |
=)
Доп. данные: 1. Язык -- русский. По крайней мере на данный момент только русский. Английский как всегда отображается корректно =/ 2. Отдаю через echo 3. Кодировку не указывал =). После запроса доп. данных указал кодировку и в хедере и в самом XML -- не помогло. |
У меня подозрение на шрифт. Там вообще русские символы есть? А то бывает и такое.
|
Ну, шрифт Arial Cyr, однако =)
|
Сделал у себя тестовый пример, что интересно: при включенной useCodepage отображает, причем указывай ты хедером кодировку utf-8, не указывай -- похеру.
|
Щас помучаем еще, вопрос действительно интересный.
|
То есть, если давать флэшке данные в кодировке, отличной от Юникода (скажем win-1251), то всё работает даже при внедренном шрифте? Я не проверял, так как мне по-любому нужен Юникод. =/
|
Люди! Кого-нибудь еще волнует эта проблема?
Я думал, этот случай довольно распространен -- неужели никто не делал подгрузку Юникода в текстовое поле с внедренным шрифтом? =/ Или все пользуются стандартными шрифтами? |
если грузить из файла, то все ОК,
может серверный скрипт чего мутит..? |
Цитата:
Шрифт эмбеддил? =) А насчет скрипта -- как я уже сказал, если не внедрять шрифт, то всё ОК. |
ну да
Код:
var x = new XML(); |
Цитата:
|
Вложений: 1
держи..
|
Цитата:
А ты пробовал создавать текстовое поле НЕ динамически и включать туда шрифт тоже НЕ динамически? У меня именно так. Ну, так или иначе, выход найден Код:
_root._txt.setTextFormat(new TextFormat('f')); //f-шрифт в библиотеке |
Вложений: 1
>>создавать текстовое поле НЕ динамически и включать туда шрифт тоже НЕ динамически
тож работает :rolleyes: |
Ребята, а я дальше зашел. И забыл у наших PHP-программеров спросить... Если у Апача настройка кодировки одна, а выдавать надо в другой, причем iconv_set_encoding не спасает -- как быть? Тогда получается описанный выше маразм.
Ясное дело, что крутить надо серверную часть, но интересно:) Думаю, надо вопрос в руфлэш кинуть, тут разве что Силин приимет участие в беседе, а не просто отметится постом. |
Причем тут сервер-то, я не понимаю? =/
Если я подгружаю данные и не внедрил шрифт -- всё нормально, т.е. кодировка = Юникод. Просто внедрив символы шрифта, я никоим образом не могу повлиять на то, что происходит на сервере -- там всё по-старому -- а текст уже не отображается. И, кажется, я нашел корень всех бед. Вобщем, текстовое поле имеет StyleSheet. Варианта два: 1. без StyleSheet'a всё работает, как показал Silin, в обоих случаях 2. если же подключать стили -- только, когда шрифт не внедрен Я так понимаю, надо просто внедрить ВСЕ начертания и цвета шрифта, которые используются, для того, чтоб это заработало? |
Короче говоря, мой косяк! Каюсь. Во всем виноват CSS. Но, почему у Антареса не работало? Тоже, что ли подключал таблицы стилей? =)
|
попробовал с CSS: все работает если в *.css указывать linkage_Id шрифта в библиотеке:
font-family: f; |
есть 2 ариала ариал кир и ариал юникод.
юзай 2й, т.к. в 1м русские буквы на другом месте. |
| Часовой пояс GMT +4, время: 17:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.