|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jun 2005
Сообщений: 34
|
embed fonts передача кирилицы через переменную
столкнулся со следующей проблемой:
создаю класс от спрайта в нем аттачу текстовое поле и делаю ембед шрифтов. этому текстовому полю передаю в конструкторе через аргумент строку. Проблема в том что при создании экземпляра класса и передачи соотв. строки в конструктор текст отсутсвует. public class Preview_OnOff extends Sprite { [Embed(source = '../../../lib/OfficinaSansBoldOSC.otf', fontName = "OfficinaSansC", fontFamily = "OfficinaSansC", fontStyle = "ITC Officina Sans Bold Cyrillic", unicodeRange = " U+0400-U+04FF", mimeType = "application/x-font-truetype")] private static var OfficinaSansC:Class; //Ембедим кирилицу //конструктор public function Preview_OnOff(labelText:String):void { var labelFormat:TextFormat = new TextFormat(); labelFormat.font = 'OfficinaSansC'; labelFormat.color = 0x044568; labelFormat.size = 10; labelFormat.align = TextFormatAlign.CENTER; var label:TextField = new TextField(); label.text = labelText; label.selectable = false; label.embedFonts = true; label.setTextFormat(labelFormat) addChild(label); } ну вот собственно и вопрос почему если передавать прямо текст то он показывается а если через переменную то нет? подскажите в чем может быть проблема.
__________________
Автор благодарит алфавит за предоставленые буквы. |
|
|||||
Регистрация: Jun 2006
Сообщений: 400
|
|
|
|||||
Регистрация: Jun 2005
Сообщений: 34
|
proxiServer, не понимаю, что вы имеете ввиду.
Просто действительно первый раз встречаюсь с такой нелепостью. Может быть у меня диапазон символов какой то неправильный?
__________________
Автор благодарит алфавит за предоставленые буквы. Последний раз редактировалось uncle_sam; 18.05.2010 в 18:14. |
|
|||||
Перенеси присвоение текста после строки label.setTextFormat(labelFormat).
ps. И ещё может быть fontStyle="normal" fontWeight="bold", если в твоём шрифте только жирное начертание есть. Не забывай в TextFormat тоже указать, что используешь жирное начертание.
__________________
if (love is true) break my.heart; Последний раз редактировалось Rzer; 18.05.2010 в 18:53. |
|
|||||
Регистрация: Jun 2005
Сообщений: 34
|
по поводу конструктора вы, димарик, безусловно правы. свалю это не на автокомплит а на свою невнимательность. Но увы, это проблему не решило. Пробовал установить текст после присвоения формата и вообще ничего не показывается. Получается это все проблема ембеда шрифта?
Если кому не лень выложите проект в Flashdevelop, где вы ембедите шрифт. Я этот шрифт вложил . В поиске смотрел, нашел лишь примеры кода, которые мне объяснили как надо ембедить, но увы, видимо радиус кривизны моих рук еще достаточно велик
__________________
Автор благодарит алфавит за предоставленые буквы. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Но Вы же говорите
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Jun 2005
Сообщений: 34
|
если я устанавливаю текст до присвоения формата
var labelFormat:TextFormat = new TextFormat(); labelFormat.font = 'OfficinaSansC'; labelFormat.color = 0x044568; labelFormat.size = 10; labelFormat.align = TextFormatAlign.CENTER; var label:TextField = new TextField(); label.text = labelText; label.selectable = false; label.embedFonts = true; label.setTextFormat(labelFormat) addChild(label); если я присваиваю текст после присвоения формата, то у меня вообще ничего не показывается в текстовом поле. var labelFormat:TextFormat = new TextFormat(); labelFormat.font = 'OfficinaSansC'; labelFormat.color = 0x044568; labelFormat.size = 10; labelFormat.align = TextFormatAlign.CENTER; var label:TextField = new TextField(); label.selectable = false; label.embedFonts = true; label.setTextFormat(labelFormat) label.text = labelText; addChild(label); Народ, просьба не злиться на мое нубство, я всего лишь хочу понять какого черта кириллический текст в динамическом поле у меня не хочет показываться. В таких ситуациях хочется забросить этот флеш и заниматься чем нибудь другим. Потому что для решения такой элементарной задачи мне надо поднять тему на форуме напрячь тех людей что тут сидят, потратив их время и потеряв при этом большое количество времени своего. Вы уж простите мне мою истерию, надо быть терпеливым блаблабла, но вот просто накипело. Тем неменее спасибо всем кто откликнулся.
__________________
Автор благодарит алфавит за предоставленые буквы. |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
а, влепи ещё что-ли для надёжности
setTextFormat какбэ не ставит формат для БУДУЩИХ текстов, только для текущего. Да, setTextFormat пожалуй лучше убрать совсем. Прямо насчёт "какого черта кириллический текст в динамическом поле у меня не хочет показываться": - шрифт должен быть внедрён или текст не покажется. Какой шрифт - указывается в текст формате. По дефолту (если не ставить defaultTextFormat или не ставить setTextFormat после установки текста) указан не внедрённый шрифт. Последний раз редактировалось -De-; 19.05.2010 в 13:24. |
Часовой пояс GMT +4, время: 22:30. |
|
« Предыдущая тема | Следующая тема » |
|
|