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

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

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

Регистрация: Apr 2007
Сообщений: 30
По умолчанию Проблема с внедренными шрифтами

Не вдаваясь в комментарии, хорошо или плохо внедрять шрифты - есть такая задача. Динамически создаются текстовые поля, присваивается TextFormat, ставится embedFonts - и нате, русский текст не отображается.

Вернее, отображается далеко не во всех шрифтах. В случае с Myriad Pro - и многими другими шрифтами не работает.

Если проделать ту же самую операцию во flash IDE , те тупо вручную внедрить контуры шрифта в текстовое поле - все работает нормально.

Кто-нибудь сталкивался с чем-то подобным?

Старый 24.02.2008, 10:45
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А как у вас внедрены шрифты?

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

Регистрация: Apr 2007
Сообщений: 30
Шрифты внедрены в flash IDE, в библиотеку. Затем скомпилированный файл с шрифтом при необходимости подгружается, и приложение обращается к классу шрифта, регистрирует его. Все работает, кроме русского текста. Аналогичная ситуация была и в AS 2.0. Либо это особенность непосредственно оболочки.....Насколько я понимаю, эта проблема как-то связана с кодировкой шрифта. Но даже в этом случае, странно что при непосредственном внедрении шрифта в текстовое поле проблемы нет...

Старый 25.02.2008, 10:35
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
http://www.flasher.ru/forum/showthread.php?t=93152

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

Регистрация: Apr 2007
Сообщений: 30
Этот пост и про то что шрифт в библиотеке - зло я уже читал...Подозреваю, что не только в библиотеке, а вообще внедрять шрифты - зло...
С внедрением шрифтов в текстовое поле в flash IDE проблемы нет. Проблема именно в том что программно созданное поле с шрифтом из библиотеки не отображает русские символы. Это означает что в каждом новом проекте мне нужно вручную создавать текcтовое поле, внедрять вручную нужные шрифты, затем импортировать это как mobieClip из библиотеки и тд. вместо того чтобы поменять пару строчек в коде...

Старый 25.02.2008, 12:54
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Показывайте код тогда, что-то вы явно делаете не так.

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

Регистрация: Apr 2007
Сообщений: 30
Вот код, который грузит SWF с внедренным в библиотеку шрифтом.

Код:
var fontUrl:URLRequest=new URLRequest("src/fonts/MyriadProRegular.swf");
var fontLoader:Loader=new Loader();
var domain:ApplicationDomain=new ApplicationDomain();
var context:LoaderContext=new LoaderContext(false,domain);
fontLoader.load(fontUrl,context);
addChild(fontLoader);

fontLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadCompleted);

function onLoadCompleted(eventObj:Event) {
	
	var fontclass=domain.getDefinition("Myriad Pro")
	Font.registerFont(fontclass);	
	var tf:TextField = new TextField();
	tf.defaultTextFormat = new TextFormat("Myriad Pro", 16, 0);
	tf.embedFonts = true;	
	tf.appendText("Я узнал что у меня / есть огромная семья");		
	addChild(tf); 	
	
}

Старый 25.02.2008, 14:03
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Мммм, а можно полный набор, fla + код?
Собирать swf-ки лень

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

Регистрация: Apr 2007
Сообщений: 30
http://www.project47.ru/temp/fontLoader.rar

Это просто тест, код написан в кадре, но судя по всему погоды это не делает - подобные вещи в классах давали тот же результат...

Старый 25.02.2008, 15:20
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Я понял проблему.
Вариантов у вас два:
1) Прочитать тему «Внедрение шрифта» и отредактировать конфиг со списком зашиваемых символов через либо. Если он вообще есть;
2) Использовать FontLoader.

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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