Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Подключение шрифтов из SWC. (http://www.flasher.ru/forum/showthread.php?t=179218)

PlutDem 10.05.2012 01:14

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

var tex:TextField = new TextField();
addChild(tex);
 
tex.text = "New Text";
 
var textFormat:TextFormat = new TextFormat (new Viga().fontName, 30); // Viga - класс шрифта из  SWC
 
tex.setTextFormat(textFormat);
tex.defaultTextFormat = textFormat;


elder_Nosferatu 10.05.2012 03:16

Код AS3:

tex.embedFonts = true


PlutDem 10.05.2012 12:19

elder_Nosferatu
В этом случае вообще ничего не отображается.:( Может нужно шрифты как то хитро в SWC запаковывать? Я скопировал шрифт в Windows/Fonts а затем добавил его в библиотеку с помощью New Font в Flash IDE.

in4core 10.05.2012 13:02

конечно не так. кидаете на сцену текстовые поля= кол-ву шрифтов. делаете в них эмбед и т.п. создаете swc/ а дальше по вашей схеме + эмбед как указали выше

mayakwd 10.05.2012 15:24

Цитата:

Сообщение от PlutDem (Сообщение 1078888)
elder_Nosferatu
В этом случае вообще ничего не отображается.:( Может нужно шрифты как то хитро в SWC запаковывать? Я скопировал шрифт в Windows/Fonts а затем добавил его в библиотеку с помощью New Font в Flash IDE.

Забываете зарегистрировать шрифт перед использованием.

Код AS3:

Font.registerFont(Viga);


PlutDem 10.05.2012 19:08

mayakwd
При использовании registerFont(Viga) выдается ошибка:
[Fault] exception, information=ArgumentError: Error #1508: Указано недопустимое значение для аргумента font.

elder_Nosferatu 10.05.2012 19:54

Font.registerFont никогда не использовал, но проблемма с встроеными шрифтами была. Не помню как в старых Флешовых ИДЕшках, но в 5-ом всегда надо указивать диапазон символов: либо вписать самостоятельно нужний набор, либо отметить предложеные

PlutDem 10.05.2012 20:58

У Font.registerFont() проблемы с безопасностью. Он не работает с шрифтами полученными со "стороны". Нужно использовать его в библиотеке, присваивать там же шрифт текстовому полю и брать ужу его (поле) из библиотеки, но это извратский способ. Лучше уж забить на библиотеку и подключать шрифт прямо в проекте.
Код AS3:

[Embed(source="../lib/Viga-Regular.ttf",fontName="Viga")]
public static const FONT:Class;

Код AS3:

var font:Font = new FONT();
var textFormat:TextFormat = new TextFormat (font.fontName, 30);


elder_Nosferatu 10.05.2012 21:30

С таким подходом вы получаете полный набор символов, часть (возможно даже большенство) из них вам не нужны. Если вес приложения для вас важный показатель, тогда учитесь либо редактировать файлы шрифтов, либо использовать Embed шрифтов во Flash IDE

Wolsh 11.05.2012 01:01

Цитата:

Если вес приложения для вас важный показатель, тогда учитесь либо редактировать файлы шрифтов, либо использовать Embed шрифтов во Flash IDE
При чем тут Flash IDE? У метатега Embed есть параметр для указания диапазона нужных символов — unicodeRange.

Добавлено через 3 минуты
полезная ссылка


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

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