Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   embed fonts в FD и Flash IDE (http://www.flasher.ru/forum/showthread.php?t=156333)

fish_r 20.05.2011 00:33

embed fonts в FD и Flash IDE
 
Имею вот такой фрагмент кода:

Код AS3:

public class TextToolTip extends TextField 
        {
 
                [Embed (source = "ARIAL.TTF", fontFamily = "Arial Narrow") ]
                public var arial:Class;
 
                private var _str;
 
 
                public function TextToolTip(str:String)
                {
                        super();
 
                        _str = str;
                        init();
                }
 
                private function init():void
                {
 
 
                        this.autoSize = "left";
                        this.text =  _str;
 
 
                        ///TODO Закоммент добавление бэкграунда
                        /// и бордера к текстовому полю. Времен-
                        ///но до принятия окончательного решения
                        this.background = false;
                        this.backgroundColor = 0x000000;
                        this.border = false;
                        this.borderColor = 0xFFFFFF;
                        this.cacheAsBitmap = true;
                        this.textColor = 0xFFFFFF;
                        this.mouseEnabled = false;
                        this.selectable = false;
                        this.setTextFormat( defTextFormat() );
                        this.embedFonts = true;
                        this.antiAliasType = AntiAliasType.ADVANCED;
 
                        if ( this.width > 200 )
                        {
                                this.wordWrap = true;
                                this.width = 200;
                        }
 
 
                }
 
                private function defTextFormat():TextFormat
                {
                        var fonts:Array = Font.enumerateFonts();
                        var format:TextFormat = new TextFormat();
                        var ident:int = 10;
                        format.leftMargin = format.rightMargin = ident;
                        format.size = 16;
                        format.bold = true;
                        format.font = "Arial Narrow";
                        //{//////////// T R A C E  //////////////////
                        ///TODO Проверка наличия шрифта и глифа
                        trace("TextToolTip.defTextFormat, , fonts[0].name : " + fonts[0].fontName
                                        + ", fonts.length : " + fonts.length + ", fonts[0].hasGlyphs() : " +
                                        fonts[0].hasGlyphs(_str));
                        //}//////////// E N D  T R A C E  ///////////
 
 
                        return format;
                }

В трейс (в коде "TRACE") выводится строка:

Цитата:

TextToolTip.defTextFormat, , fonts[0].name : Arial Narrow, fonts.length : 1, fonts[0].hasGlyphs() : true
То есть шрифт заембедился, глиф для отображения есть. Однако в текстовом поле ничего не выводится.
Если же добавляю шрифт через Flash IDE CS5 всё работает нормально. В чём может быть дело?
Нашёл на форуме коммент iNils-а об изменении в реестре, сделал, но эффекта тоже никакого.

КорДум 20.05.2011 00:45

Код AS3:

[Embed (source = "ARIAL.TTF", fontFamily = "Arial Narrow", mimeType = "application/x-font-truetype", embedAsCFF = "false")]


fish_r 20.05.2011 00:57

Есть контакт! Thank's.

П.С. Пример из Мука не работает именно из за этого ембединга.

Wolsh 20.05.2011 02:41

Когда Мук писал свою книгу, формата CFF вообще не существовало.

goodguy 20.05.2011 08:50

Этот формат был изобретен в 2003 году. Мук писал свою книгу в 2006-2007 ;)

Владимир Буквин 26.04.2015 15:54

Цитата:

Сообщение от КорДум (Сообщение 997384)
Код AS3:

[Embed (source = "ARIAL.TTF", fontFamily = "Arial Narrow", mimeType = "application/x-font-truetype", embedAsCFF = "false")]


перерыл кучу форумов, не мог найти решение, почему не отображается встроенный шрифт. ответ нашел здесь, а именно вот что помогло
Код AS3:

embedAsCFF = "false")

спасибо


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

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