PDA

Просмотр полной версии : Как изменить шрифт в ComboBox'е


ClioGMS
25.05.2007, 11:19
Добрый день!

Столкнулся с проблемой - нужно кастомизировать стандартный компонент - ComboBox. Как изменить скин разобрался, а вот как назначить собственный шрифт - тут совсем запутался. Тема стоит по умолчанию Halo Green. Среда - Flash 8.

В мануале (http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00003167.html) нашел и попробовал следующий вариант:

comboInstanceName.setStyle("embedFonts", true);
comboInstanceName.setStyle("fontFamily", "customFont");

Все прописал, импортировал в библиотеку нужный шрифт и назвал его "customFont", но пример не заработал. Подскажите, я допустил какую-то ошибку, или нужно действовать другим путем?

ClioGMS
26.05.2007, 16:46
Частично вопрос прояснился - на самом деле изменения происходят, но отображается только латиница, а поскольку пункты списка у меня на русском, то и не заметил сразу этого эффекта.

Начал читать на форуме о проблемах embed шрифтов и кирилицы. Опять таки попробовал зашить текст в текстовое поле и убрать его из библиотеки - эффект - как будто шрифта вообще нет, т.е. не отображается даже латинский. Если вложить шрифт в библиотеку, то по прежнему видна только латиница.

При этом, руководствуясь советом (http://flasher.ru/forum/showpost.php?p=572937&postcount=8), перепроверил все. Все выглядит вот так:

formDuration.setStyle("embedFonts", true);
formDuration.setStyle("fontFamily", "HeliosCond");

Может проблема в самом шрифте? Приаттачить к сообщению его не удалось, выложил тут: http://slil.ru/24420525

etc
26.05.2007, 17:03
Это только один из файлов шрифта, а их несколько. Ещё нужно убедиться, что шрифт сам по себе содержит кириллические глифы.

ClioGMS
26.05.2007, 17:33
__etc, спасибо за ответ! Насчет шрифта - проверю.

Многое делается наугад и "методом тыка", вот опять "потыкал", оставил текстовое поле с вшитым шрифтом, оставил одну строку:

formDuration.setStyle("fontFamily", "HeliosCond");

т.е. embedFonts в true не ставил, откомпилировал, и у меня есстественно все отобразилось, так как шрифт HeliosCond установлен в системе. Но я протестировал swf-ку на компьютере где данный шрифт не установлен и она отобразилась так как нужно! Это как-то объяснить можно?

etc
26.05.2007, 17:54
Скорее всего отобразился не HeliosCond, либо такой есть в системе.

ClioGMS
26.05.2007, 21:07
Действительно, невнимательно посмотрел - отобразился другой шрифт :rolleyes:

Не посоветуете, что еще можно проверить? Дело в шрифте, так как попробовал сделать то же c другими шрифтами - работает.

Открыл шрифт в программе FontLab - русское написание присутствует, причем, проверил насчет совпадений позиций (http://flasher.ru/forum/showpost.php?p=444950&postcount=9) - вроде совпадают. Символ "А", допустим, имеет позицию $0410. Может дело в типе шрифта (Type1)?

Полный набор файлов шрифта (http://slil.ru/24421306)

etc
26.05.2007, 21:10
Выложите лучше нерабочий пример (исходник с ComboBox) и все, что вы там делали.