Показать сообщение отдельно
Старый 08.03.2012, 17:49
FriOne вне форума Посмотреть профиль Отправить личное сообщение для FriOne Найти все сообщения от FriOne
  № 3  
Ответить с цитированием
FriOne
 
Аватар для FriOne

Регистрация: Jul 2010
Адрес: Бердск, НСК
Сообщений: 171
Записей в блоге: 1
Вообще класс выглядит так и не работает.. точнее не везде работает.
Код AS3:
public class EmbedFont extends Sprite 
{
	public static const VERDANA:String = "verdana";
 
	//normal
	[Embed(source = "../../fonts/verdana.ttf", embedAsCFF = 'false', fontName = "verdana", fontStyle = "regular", fontWeight = "normal", mimeType = "application/x-font-truetype")]
	private const VERDANA_NORMAL:Class;
	//bold
	[Embed(source = "../../fonts/verdanab.ttf", embedAsCFF = 'false', fontName = "verdana", fontStyle = "regular", fontWeight = "bold", mimeType = "application/x-font-truetype")]
	private const VERDANA_BOLD:Class;
	//italic
	[Embed(source = "../../fonts/verdanai.ttf", embedAsCFF='false', fontName = "verdana",  fontStyle = "italic", fontWeight = "nolmal", mimeType = "application/x-font-truetype")]
	private const VERDANA_ITALIC:Class;
	//bold/italic
	[Embed(source = "../../fonts/verdanaz.ttf", embedAsCFF='false', fontName = "verdana",  fontStyle = "italic", fontWeight = "bold", mimeType = "application/x-font-truetype")]
	private const VERDANA_BOLD_ITALIC:Class;
 
	public function EmbedFont() 
	{
		Font.registerFont(VERDANA_NORMAL);
		Font.registerFont(VERDANA_BOLD);
		Font.registerFont(VERDANA_ITALIC);
		Font.registerFont(VERDANA_BOLD_ITALIC);
	}		
}
Класс создается точно перед использованием, не могу найти причины (

Добавлено через 40 минут
Вообщем сделал такой тест:
Код AS3:
public function setTextFormats(upFormat:TextFormat, overFormat:TextFormat):void
{
	_upField.embedFonts = true;
	_upField.defaultTextFormat = upFormat;
	_overField.embedFonts = true;
	_overField.defaultTextFormat = overFormat;
	trace(TextField.isFontCompatible(EmbedFont.VERDANA, FontStyle.REGULAR));
	var embeddedFonts : Array = Font.enumerateFonts(false);
	embeddedFonts.sortOn("fontName", Array.CASEINSENSITIVE);
	trace("\n----- Enumerate Fonts -----");
	for(var i : int = 0;i < embeddedFonts.length;i++) {
		trace(embeddedFonts[i].fontName);
		trace(embeddedFonts[i].fontType);
	}
}
Выдал:
Код:
true

----- Enumerate Fonts -----
verdana
embedded
verdana
embedded
verdana
embedded
verdana
embedded
verdana
embedded
verdana
embedded
verdana
embedded
verdana
embedded
Не понятно почему шрифты идут в двойном количестве, но они встроены!
Поле добавлено на сцену, но то поле, что добавлено в скаченную swf'ку не видно,
а для того, что уже есть в классе применяется и отображается.


Последний раз редактировалось FriOne; 08.03.2012 в 18:00.