Форум 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=131774)

Firexel 28.10.2009 00:51

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

Есть проект на AS3, где все текстовые поля создаются динамически. Есть встроенный через библиотеку шрифт, который содержит кириллические глифы (sic!). Embedded выставлен в true, а русский текст так и не хочет отображаться. Вот класс, который реализует текстовое поле:

Код AS1/AS2:

package main {
        import flash.text.*;
        import flash.events.Event;
 
        public class SimpleText extends TextField
        {
                private var format:TextFormat = new TextFormat();
                private var _font:BeauFont;
 
                // Initialization:
                public function SimpleText(size:Number, color:Number=0)
                {
                        embedFonts = true; // <-- ага
 
                        format.size = size;
                        format.color = color;
                        autoSize = TextFieldAutoSize.LEFT;
                        antiAliasType = AntiAliasType.ADVANCED;
                        multiline = false;
                        selectable = false;
 
                        addEventListener(Event.ADDED_TO_STAGE, added);
                }
 
                public function added(e:Event):void
                {
                        removeEventListener(Event.ADDED_TO_STAGE, added);
 
                        _font = new BeauFont();      // <-- встроенный шрифт
                        format.font = _font.fontName;
                        setTextFormat(format);
                }
 
                override public function set text(s:String):void
                {
                        super.text = s;
                        setTextFormat(format);
                }
        }
 
}


udaaff 28.10.2009 01:36

Значит шрифт кириллицу не поддерживает.

Firexel 28.10.2009 02:22

http://firexel.narod.ru/font.png

Felicast 28.10.2009 11:12

Цитата:

Поиск по форуму и гуглу внятного ответа не дали
в каждой теме про шрифты не раз упоминается: НЕ ВСТРАИВАЙТЕ ШРИФТ В БИБЛИОТЕКУ!!!.
киньте куда-нибудь текстовое поле, задайте ему Embed, и будет вам счастье

WRC_S 28.10.2009 13:52

Felicast прав мне тока так помогло, кинул текстовое поле и сделал Embed ему, потом динамически создаёшь поля и включаишь у них Embed и всё, а если текст грузится из файла (.xml) то этот файл надо ещё перевести в UTF-8 при помощи блокнота )

udaaff 28.10.2009 14:01

Linkage шрифта тогда скорее всего не выставлен. Код, во всяком случае, рабочий.

Firexel 28.10.2009 14:17

Большое спасибо Felicast и WRC_S. Так и сделал. Заработало.


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

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