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

Wolsh 20.10.2011 19:04

Вложений: 1
Но у меня то компилится)))

Universe 20.10.2011 20:33

Wolsh, а вы чтото меняли при компиляции? Просто не могу по коду отличий заметить

Добавлено через 15 минут
кстати, в своём первом примере вы использовали 4 разных шрифта Consola, а как определить есть ли в шрифте italic или bold?

dimarik 20.10.2011 21:28

Так что ли?
Код AS3:

[Embed(source="font.ttf"...blablabla)]
private static const ASIAN_GUY:Class;
 
const font:Font = new ASIAN_GUY();
font.fontStyle;
font.fontName;
font.fontType;


Psycho Tiger 20.10.2011 22:47

Код AS3:

private var const ASIAN_GUY:Class;

:}

Wolsh 20.10.2011 22:53

Цитата:

как определить есть ли в шрифте italic или bold?
В одном файле – одно начертание. Я конечно не суперзнаток темы, но во всяком случае ни разу не слышал/не встречал, чтобы в одном файле были разные стили.

smithy 21.10.2011 14:35

Можно делать так:
в Flash внедрить шрифты, экспортировать каждый по 2 раза, наследуя от mx.core.FontAsset и flash.text.Font, называя соответственно "MyFontFlex" и "MyFont"

Пытаемся зарегистрировать сначала один, в случае неудачи второй:
Код AS3:

var fontClass:Class;
var fontName:String= "MyFont";
var domain:ApplicationDomain= ...; // домен, в который загружена swf со шрифтами
 
fontClass = domain.getDefinition( fontName ) as Class;
 
try
{
        Font.registerFont( fontClass );
}
        // не удалось зарегистрировать
catch( error:Error )
{
        fontClass = domain.getDefinition( fontName + "Flex" ) as Class;
        try
        {
                Font.registerFont( fontClass );
        }
                // и тут не удалось зарегистрировать
        catch ( error:Error )
        {
 
        }
}

И если я все правильно помню, то если swf со шрифтами грузится локальной swfкой, то зарегистрируется шрифт MyFontFlex. В противном случае надо грузить swf со шрифтами с контекстом
Код AS3:

new LoaderContext( true, ApplicationDomain.currentDomain, SecurityDomain.currentDomain )

и тогда зарегистрируется MyFont.


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

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