Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.05.2010, 17:43
uncle_sam вне форума Посмотреть профиль Отправить личное сообщение для uncle_sam Найти все сообщения от uncle_sam
  № 1  
Ответить с цитированием
uncle_sam
 
Аватар для uncle_sam

Регистрация: Jun 2005
Сообщений: 34
По умолчанию embed fonts передача кирилицы через переменную

столкнулся со следующей проблемой:

создаю класс от спрайта в нем аттачу текстовое поле и делаю ембед шрифтов.
этому текстовому полю передаю в конструкторе через аргумент строку. Проблема в том что при создании экземпляра класса и передачи соотв. строки в конструктор текст отсутсвует.

Код AS3:
	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);
 
                 }
кириллица по идее показывается если задать тот самый текст просто русским текстом в кавычках

Код AS3:
label.text = "этот текст видно";
ну вот собственно и вопрос почему если передавать прямо текст то он показывается а если через переменную то нет? подскажите в чем может быть проблема.
__________________
Автор благодарит алфавит за предоставленые буквы.

Старый 18.05.2010, 17:57
proxiServer вне форума Посмотреть профиль Отправить личное сообщение для proxiServer Найти все сообщения от proxiServer
  № 2  
Ответить с цитированием
proxiServer
 
Аватар для proxiServer

Регистрация: Jun 2006
Сообщений: 400
Код AS3:
label.text = labelText;
попробуйте после ембеда сделать.

Старый 18.05.2010, 18:11
uncle_sam вне форума Посмотреть профиль Отправить личное сообщение для uncle_sam Найти все сообщения от uncle_sam
  № 3  
Ответить с цитированием
uncle_sam
 
Аватар для uncle_sam

Регистрация: Jun 2005
Сообщений: 34
proxiServer, не понимаю, что вы имеете ввиду.
Просто действительно первый раз встречаюсь с такой нелепостью. Может быть у меня диапазон символов какой то неправильный?
__________________
Автор благодарит алфавит за предоставленые буквы.


Последний раз редактировалось uncle_sam; 18.05.2010 в 18:14.
Старый 18.05.2010, 18:36
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 4  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 612
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
Перенеси присвоение текста после строки label.setTextFormat(labelFormat).

ps. И ещё может быть fontStyle="normal" fontWeight="bold", если в твоём шрифте только жирное начертание есть. Не забывай в TextFormat тоже указать, что используешь жирное начертание.


Последний раз редактировалось Rzer; 18.05.2010 в 18:53.
Старый 19.05.2010, 10:37
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
А с каких пор у нас конструктор что-то возвращает?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 19.05.2010, 12:20
uncle_sam вне форума Посмотреть профиль Отправить личное сообщение для uncle_sam Найти все сообщения от uncle_sam
  № 6  
Ответить с цитированием
uncle_sam
 
Аватар для uncle_sam

Регистрация: Jun 2005
Сообщений: 34
по поводу конструктора вы, димарик, безусловно правы. свалю это не на автокомплит а на свою невнимательность. Но увы, это проблему не решило. Пробовал установить текст после присвоения формата и вообще ничего не показывается. Получается это все проблема ембеда шрифта?
Если кому не лень выложите проект в Flashdevelop, где вы ембедите шрифт. Я этот шрифт вложил . В поиске смотрел, нашел лишь примеры кода, которые мне объяснили как надо ембедить, но увы, видимо радиус кривизны моих рук еще достаточно велик
Вложения
Тип файла: zip OfficinaSansBoldOSC.zip (27.9 Кб, 44 просмотров)
__________________
Автор благодарит алфавит за предоставленые буквы.

Старый 19.05.2010, 12:33
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Но Вы же говорите
Цитата:
кириллица по идее показывается если задать тот самый текст просто русским текстом в кавычках
Тогда при чем здесь embed? Нормально разберитесь - у Вас нужный текст поле не показывает или переменная не содержит?
__________________
Reality.getBounds(this);

Старый 19.05.2010, 12:55
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 8  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Всё нормально показывает...
Вложения
Тип файла: rar projOfficinaSansBoldOSC.rar (55.2 Кб, 60 просмотров)

Старый 19.05.2010, 13:02
uncle_sam вне форума Посмотреть профиль Отправить личное сообщение для uncle_sam Найти все сообщения от uncle_sam
  № 9  
Ответить с цитированием
uncle_sam
 
Аватар для uncle_sam

Регистрация: Jun 2005
Сообщений: 34
если я устанавливаю текст до присвоения формата

Код AS3:
 
	         	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);
то у меня возникает ситуация, которую я описал в своем 1м сообщении, когда вместо строки
Код AS3:
label.text = labelText;
я пишу
Код AS3:
label.text = "что то кириллицей";
текст "что то кирилицей " будет отображаться, а текст, содержащийся в аргументе labelText - нет

если я присваиваю текст после присвоения формата, то у меня вообще ничего не показывается в текстовом поле.
Код AS3:
	        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);
причем тут могут быть переменные, если они у меня строковые? и понятное дело в конструкторе должна содержаться строка (кириллицей) и ничего другого.

Народ, просьба не злиться на мое нубство, я всего лишь хочу понять какого черта кириллический текст в динамическом поле у меня не хочет показываться. В таких ситуациях хочется забросить этот флеш и заниматься чем нибудь другим. Потому что для решения такой элементарной задачи мне надо поднять тему на форуме напрячь тех людей что тут сидят, потратив их время и потеряв при этом большое количество времени своего.

Вы уж простите мне мою истерию, надо быть терпеливым блаблабла, но вот просто накипело. Тем неменее спасибо всем кто откликнулся.
__________________
Автор благодарит алфавит за предоставленые буквы.

Старый 19.05.2010, 13:09
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 10  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
а, влепи ещё что-ли для надёжности
Код AS3:
label.defaultTextFormat = labelFormat;
setTextFormat какбэ не ставит формат для БУДУЩИХ текстов, только для текущего. Да, setTextFormat пожалуй лучше убрать совсем.
Прямо насчёт "какого черта кириллический текст в динамическом поле у меня не хочет показываться":
Код AS3:
label.embedFonts = true;
- шрифт должен быть внедрён или текст не покажется. Какой шрифт - указывается в текст формате. По дефолту (если не ставить defaultTextFormat или не ставить setTextFormat после установки текста) указан не внедрённый шрифт.


Последний раз редактировалось -De-; 19.05.2010 в 13:24.
Создать новую тему Ответ Часовой пояс GMT +4, время: 22:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:30.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.