Показать сообщение отдельно
Старый 15.07.2010, 17:13
mj_nooker вне форума Посмотреть профиль Отправить личное сообщение для mj_nooker Найти все сообщения от mj_nooker
  № 1  
Ответить с цитированием
mj_nooker

Регистрация: Aug 2009
Сообщений: 99
Question Встраиваю шрифт, что не так?

1) Есть XML, utf-8. В нём - списки названий кнопок меню. Две версии названий - английская и русская

2) В библиотеке создаю New font: имя:Europe_12, шрифт: Europe_Ext, размер 12, называю линк для AS: Europe_12_lnk, Export in 1st frame (выключал экспорт в 1м кадре - ложил текстовое поле, описанное встроенным шрифтом на сцену/за пределы/)

3) прописываю leftMenuTextFormat:
Код AS1/AS2:
var leftMenuTextFormat:TextFormat = new TextFormat();
	leftMenuTextFormat.font = 'Europe_12_lnk';
	leftMenuTextFormat.letterSpacing=2.8;
	leftMenuTextFormat.size=12;
	leftMenuTextFormat.align='center';
4) Циклом вешаю на кнопки названия:
* читаю XML;
* присваиваю menuName_txt (текстовое поле) .embedFonts = true;
* присваиваю menuName_txt.text = XMLзначение; //присваивается, проверял!
* присваиваю формат menuName_txt.setTextFormat(leftMenuTextFormat);
После этого фонт не отображается вообще (пустое место, ни "загогулины")

5) выключаю присваивание текстовому полю setTextFormat'а - просто
* читаю XML;
* присваиваю menuName_txt (текстовое поле) .embedFonts = true;
* присваиваю menuName_txt.text = XMLзначение;
Аглицкий текст отображается, кирилический нет.

6) Текстовому полю, которое выложил на сцену, чтоб из него брать встроенные шрифты, присваиваю свойства: шрифт = Europe_12*, Embedding: All (а зачем мелочиться), компилирую - то-же самое: Английские - есть, Киррилических - нету.

-------------2й вариант:----------------
2.1) "Образцовому" текст.полю на сцене задаю шрифт Europe_Ext (который в списке системных шрифтов), выставляю параметры отображения. Встраиваю: Embedding: All
2.2)
* читаю XML;
* присваиваю menuName_txt (текстовое поле) .embedFonts = true;
* присваиваю menuName_txt.text = XMLзначение;
Текст Английский - отображается, !!! Кириллический-квадратами !!!

2.3) корректирую leftMenuTextFormat:
убираю строчку с заданием свойства .font:

Код AS1/AS2:
var leftMenuTextFormat:TextFormat = new TextFormat();
	leftMenuTextFormat.letterSpacing=2.8;
	leftMenuTextFormat.size=12;
	leftMenuTextFormat.align='center';
текстФормат мне необходим, т.к. программно должны обрабатываться .antialiasing и .thickness

Компилирую: текстформат работает (заметно глазом по .antialiasing и .thickness), но вывод остаётся таким-же - Английские - корректно, Кирилические - квадраты.

Пожалуйста, помогите хоть рассуждениями, хоть ссылкой на топик с решенным вопросом (а не с кучей кустарных решений или дилетанских рассуждений), хоть чем-нибудь работающим.

В процессе поиска инфы натыкался на статью об UTF-8 совместимости шрифтов, в тот момент не посчитал инфу нужной, сейчас не могу найти посещённого урл"а. Может дело в этой самой "совместимости"? как проверить - не знаю.
шрифт: http://www.free-fonts-ttf.org/true-t...3-download.htm