Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема с внедренными шрифтами (http://www.flasher.ru/forum/showthread.php?t=108553)

Алан 24.02.2008 03:24

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

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

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

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

etc 24.02.2008 10:45

А как у вас внедрены шрифты?

Алан 25.02.2008 05:01

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

etc 25.02.2008 10:35

http://www.flasher.ru/forum/showthread.php?t=93152

Алан 25.02.2008 11:41

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

etc 25.02.2008 12:54

Показывайте код тогда, что-то вы явно делаете не так.

Алан 25.02.2008 13:57

Вот код, который грузит 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);       
       
}


etc 25.02.2008 14:03

Мммм, а можно полный набор, fla + код?
Собирать swf-ки лень :)

Алан 25.02.2008 14:18

http://www.project47.ru/temp/fontLoader.rar

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

etc 25.02.2008 15:20

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


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

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