Просмотр полной версии : Как изменить шрифт в ComboBox'е
Добрый день!
Столкнулся с проблемой - нужно кастомизировать стандартный компонент - 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", но пример не заработал. Подскажите, я допустил какую-то ошибку, или нужно действовать другим путем?
Частично вопрос прояснился - на самом деле изменения происходят, но отображается только латиница, а поскольку пункты списка у меня на русском, то и не заметил сразу этого эффекта.
Начал читать на форуме о проблемах embed шрифтов и кирилицы. Опять таки попробовал зашить текст в текстовое поле и убрать его из библиотеки - эффект - как будто шрифта вообще нет, т.е. не отображается даже латинский. Если вложить шрифт в библиотеку, то по прежнему видна только латиница.
При этом, руководствуясь советом (http://flasher.ru/forum/showpost.php?p=572937&postcount=8), перепроверил все. Все выглядит вот так:
formDuration.setStyle("embedFonts", true);
formDuration.setStyle("fontFamily", "HeliosCond");
Может проблема в самом шрифте? Приаттачить к сообщению его не удалось, выложил тут: http://slil.ru/24420525
Это только один из файлов шрифта, а их несколько. Ещё нужно убедиться, что шрифт сам по себе содержит кириллические глифы.
__etc, спасибо за ответ! Насчет шрифта - проверю.
Многое делается наугад и "методом тыка", вот опять "потыкал", оставил текстовое поле с вшитым шрифтом, оставил одну строку:
formDuration.setStyle("fontFamily", "HeliosCond");
т.е. embedFonts в true не ставил, откомпилировал, и у меня есстественно все отобразилось, так как шрифт HeliosCond установлен в системе. Но я протестировал swf-ку на компьютере где данный шрифт не установлен и она отобразилась так как нужно! Это как-то объяснить можно?
Скорее всего отобразился не HeliosCond, либо такой есть в системе.
Действительно, невнимательно посмотрел - отобразился другой шрифт :rolleyes:
Не посоветуете, что еще можно проверить? Дело в шрифте, так как попробовал сделать то же c другими шрифтами - работает.
Открыл шрифт в программе FontLab - русское написание присутствует, причем, проверил насчет совпадений позиций (http://flasher.ru/forum/showpost.php?p=444950&postcount=9) - вроде совпадают. Символ "А", допустим, имеет позицию $0410. Может дело в типе шрифта (Type1)?
Полный набор файлов шрифта (http://slil.ru/24421306)
Выложите лучше нерабочий пример (исходник с ComboBox) и все, что вы там делали.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.