![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Apr 2007
Сообщений: 30
|
Не вдаваясь в комментарии, хорошо или плохо внедрять шрифты - есть такая задача. Динамически создаются текстовые поля, присваивается TextFormat, ставится embedFonts - и нате, русский текст не отображается.
Вернее, отображается далеко не во всех шрифтах. В случае с Myriad Pro - и многими другими шрифтами не работает. Если проделать ту же самую операцию во flash IDE , те тупо вручную внедрить контуры шрифта в текстовое поле - все работает нормально. Кто-нибудь сталкивался с чем-то подобным? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А как у вас внедрены шрифты?
|
|
|||||
|
Регистрация: Apr 2007
Сообщений: 30
|
Шрифты внедрены в flash IDE, в библиотеку. Затем скомпилированный файл с шрифтом при необходимости подгружается, и приложение обращается к классу шрифта, регистрирует его. Все работает, кроме русского текста. Аналогичная ситуация была и в AS 2.0. Либо это особенность непосредственно оболочки.....Насколько я понимаю, эта проблема как-то связана с кодировкой шрифта. Но даже в этом случае, странно что при непосредственном внедрении шрифта в текстовое поле проблемы нет...
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Регистрация: Apr 2007
Сообщений: 30
|
Этот пост и про то что шрифт в библиотеке - зло я уже читал...Подозреваю, что не только в библиотеке, а вообще внедрять шрифты - зло...
С внедрением шрифтов в текстовое поле в flash IDE проблемы нет. Проблема именно в том что программно созданное поле с шрифтом из библиотеки не отображает русские символы. Это означает что в каждом новом проекте мне нужно вручную создавать текcтовое поле, внедрять вручную нужные шрифты, затем импортировать это как mobieClip из библиотеки и тд. вместо того чтобы поменять пару строчек в коде... |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Показывайте код тогда, что-то вы явно делаете не так.
|
|
|||||
|
Регистрация: 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);
}
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Мммм, а можно полный набор, fla + код?
Собирать swf-ки лень ![]() |
|
|||||
|
Регистрация: Apr 2007
Сообщений: 30
|
http://www.project47.ru/temp/fontLoader.rar
Это просто тест, код написан в кадре, но судя по всему погоды это не делает - подобные вещи в классах давали тот же результат... |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Я понял проблему.
Вариантов у вас два: 1) Прочитать тему «Внедрение шрифта» и отредактировать конфиг со списком зашиваемых символов через либо. Если он вообще есть; 2) Использовать FontLoader. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:02. |
|
|
« Предыдущая тема | Следующая тема » |
|
|