Показать сообщение отдельно
Старый 12.11.2015, 13:39
betrayer230193 вне форума Посмотреть профиль Отправить личное сообщение для betrayer230193 Найти все сообщения от betrayer230193
  № 1  
Ответить с цитированием
betrayer230193

Регистрация: May 2014
Сообщений: 19
По умолчанию загрузка шрифтов из swf

Доброго времени суток. Наткнулся на интересную статью на хабре http://habrahabr.ru/company/motocms/blog/113849/
вот сам код
Код AS1/AS2:
package 
{
	import flash.display.Loader;
	import flash.display.LoaderInfo;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.net.URLRequest;
	import flash.system.LoaderContext;
	import flash.text.Font;
	import flash.text.TextField;
	import flash.text.TextFormat;
	import flash.system.ApplicationDomain; 
	import flash.system.SecurityDomain;
 
	/**
	 * ...
	 * @author da
	 */
	public class Main extends Sprite 
	{
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			var loader:Loader = new Loader();
			var request:URLRequest = new URLRequest("http://inari.ru/flash/constructor/Arial.swf");
 
			loader.load(request);
 
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
 
			function onComplete(event:Event):void {
				trace("загрузился");
				var loaderInfo:LoaderInfo = event.target as LoaderInfo;
 
				var motoFontInfoClass:Class = loaderInfo.applicationDomain.getDefinition("MotoFontInfo") as Class;
 
				if (motoFontInfoClass)
				{
					var fontName:String = motoFontInfoClass.FONT_NAME;
					var definitionName:String = motoFontInfoClass.FONT_CLASS;
 
					var fontClass:Class = loaderInfo.applicationDomain.getDefinition(definitionName) as Class;
					trace("Font name: " + fontName);
					for (var j:uint = 0; j < fontClass.classes.length; j++)
					{
						Font.registerFont(fontClass.classes[j]);
 
					}
 
 
					trace("Font name: " + fontName);
				}
				var textField:TextField = new TextField();
				var textFormat:TextFormat = textField.defaultTextFormat;
 
				textFormat.font = fontName;
				textField.defaultTextFormat = textFormat;
 
				textField.embedFonts = true;
				textField.text = "Sample text";
 
				addChild(textField);
 
			}
		}
 
 
 
	}
 
}

Возникла проблема при загрузке шрифта с хостинга, ругается на Font.registerFont(fontClass.classes[j]);

Думаю, что проблема в настройках безопасности, но как их изменить??