Re: [flexcoders] Runtime fonts embedding in AIR

2009-11-11 Thread Sergey Kovalyov
But it seems that in this case loaded SWF resides in the different
applcation domain and thus its Font.registerFont() call does nothing for the
parent application.

On Wed, Nov 11, 2009 at 1:25 AM, Alex Harui aha...@adobe.com wrote:



  I think most folks load the SWF as a byteArray using URLLoader then use
 Loader.loadBytes() to load the SWF.



 Alex Harui

 Flex SDK Developer

 Adobe Systems Inc. http://www.adobe.com/

 Blog: http://blogs.adobe.com/aharui



 *From:* flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] *On
 Behalf Of *Sergey Kovalyov
 *Sent:* Tuesday, November 10, 2009 5:54 AM
 *To:* flexcoders@yahoogroups.com
 *Subject:* [flexcoders] Runtime fonts embedding in AIR





 Hi All!



 Probably the most popular approach to load fonts runtime is to generate SWF
 files either in Flash or in Flex where font is registered via
 Font.registerFont(fontClass).



 In Flash you normally add it to the library.



 In Flex you embed it via [Embed] metatag.



 And we have used this approach for a while as a guideline for content
 developers.



 In our Flex application this works perfect.



 But now we need to show the same content in the AIR application.



 And since all SWF fonts are in the local-with-file sandbox, their
 Font.registerFont() calls are just ignored.



 In other words, when I create text fields upon the SWF font loading and use
 that loaded font, it just does not work.





 *private* *function* onEmbeddedFontComplete() : *void* {

 *trace*(Font.enumerateFonts().length); *// Output 0;*

 *var* textField : UITextField = *new* UITextField();

 textField.htmlText =

 *font face='SegoeScript'Segoe Script/font*;

 textField.rotation = 30;

 box.addChild(textField);

 }

 ...

 mx:SWFLoader

 id=embeddedFont complete=onEmbeddedFontComplete() /

 I suppose this should be quite common problem when you are creating some
 text editing software that works with runtime loaded fonts which are not
 deployed along with the application, but created by users, and eventually
 you need to migrate to AIR.



 Any ideas how to avoid the problem without modification to the content (we
 already have a lot of font files in use and we can not enforce users to
 redevelop all)?



 Sergey.

  



RE: [flexcoders] Runtime fonts embedding in AIR

2009-11-11 Thread Alex Harui
The applicationDomain shouldn't matter because all of the related classes 
should be wrapping a DefineFont object.  LoadBytes() lets you choose an 
applicationDomain topology so you can always load directly into the main one if 
you want.

Alex Harui
Flex SDK Developer
Adobe Systems Inc.http://www.adobe.com/
Blog: http://blogs.adobe.com/aharui

From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf 
Of Sergey Kovalyov
Sent: Wednesday, November 11, 2009 8:49 AM
To: flexcoders@yahoogroups.com
Subject: Re: [flexcoders] Runtime fonts embedding in AIR



But it seems that in this case loaded SWF resides in the different applcation 
domain and thus its Font.registerFont() call does nothing for the parent 
application.
On Wed, Nov 11, 2009 at 1:25 AM, Alex Harui 
aha...@adobe.commailto:aha...@adobe.com wrote:

I think most folks load the SWF as a byteArray using URLLoader then use 
Loader.loadBytes() to load the SWF.

Alex Harui
Flex SDK Developer
Adobe Systems Inc.http://www.adobe.com/
Blog: http://blogs.adobe.com/aharui

From: flexcoders@yahoogroups.commailto:flexcoders@yahoogroups.com 
[mailto:flexcoders@yahoogroups.commailto:flexcoders@yahoogroups.com] On 
Behalf Of Sergey Kovalyov
Sent: Tuesday, November 10, 2009 5:54 AM
To: flexcoders@yahoogroups.commailto:flexcoders@yahoogroups.com
Subject: [flexcoders] Runtime fonts embedding in AIR


Hi All!

Probably the most popular approach to load fonts runtime is to generate SWF 
files either in Flash or in Flex where font is registered via 
Font.registerFont(fontClass).

In Flash you normally add it to the library.

In Flex you embed it via [Embed] metatag.

And we have used this approach for a while as a guideline for content 
developers.

In our Flex application this works perfect.

But now we need to show the same content in the AIR application.

And since all SWF fonts are in the local-with-file sandbox, their 
Font.registerFont() calls are just ignored.

In other words, when I create text fields upon the SWF font loading and use 
that loaded font, it just does not work.


private function onEmbeddedFontComplete() : void {
trace(Font.enumerateFonts().length); // Output 0;
var textField : UITextField = new UITextField();

textField.htmlText =
font face='SegoeScript'Segoe Script/font;

textField.rotation = 30;

box.addChild(textField);

}

...

mx:SWFLoader
id=embeddedFont complete=onEmbeddedFontComplete() /
I suppose this should be quite common problem when you are creating some text 
editing software that works with runtime loaded fonts which are not deployed 
along with the application, but created by users, and eventually you need to 
migrate to AIR.

Any ideas how to avoid the problem without modification to the content (we 
already have a lot of font files in use and we can not enforce users to 
redevelop all)?

Sergey.




[flexcoders] Runtime fonts embedding in AIR

2009-11-10 Thread Sergey Kovalyov
Hi All!

Probably the most popular approach to load fonts runtime is to generate SWF
files either in Flash or in Flex where font is registered via
Font.registerFont(fontClass).

In Flash you normally add it to the library.

In Flex you embed it via [Embed] metatag.

And we have used this approach for a while as a guideline for content
developers.

In our Flex application this works perfect.

But now we need to show the same content in the AIR application.

And since all SWF fonts are in the local-with-file sandbox, their
Font.registerFont() calls are just ignored.

In other words, when I create text fields upon the SWF font loading and use
that loaded font, it just does not work.



*private* *function* onEmbeddedFontComplete() : *void* {

*trace*(Font.enumerateFonts().length); *// Output 0;
*

*var* textField : UITextField = *new* UITextField();

textField.htmlText = *font face='SegoeScript'Segoe Script/font*;

textField.rotation = 30;

box.addChild(textField);

}

...

mx:SWFLoader id=embeddedFont complete=onEmbeddedFontComplete() /
I suppose this should be quite common problem when you are creating some
text editing software that works with runtime loaded fonts which are not
deployed along with the application, but created by users, and eventually
you need to migrate to AIR.

Any ideas how to avoid the problem without modification to the content (we
already have a lot of font files in use and we can not enforce users to
redevelop all)?

Sergey.


RE: [flexcoders] Runtime fonts embedding in AIR

2009-11-10 Thread Alex Harui
I think most folks load the SWF as a byteArray using URLLoader then use 
Loader.loadBytes() to load the SWF.

Alex Harui
Flex SDK Developer
Adobe Systems Inc.http://www.adobe.com/
Blog: http://blogs.adobe.com/aharui

From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf 
Of Sergey Kovalyov
Sent: Tuesday, November 10, 2009 5:54 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Runtime fonts embedding in AIR


Hi All!

Probably the most popular approach to load fonts runtime is to generate SWF 
files either in Flash or in Flex where font is registered via 
Font.registerFont(fontClass).

In Flash you normally add it to the library.

In Flex you embed it via [Embed] metatag.

And we have used this approach for a while as a guideline for content 
developers.

In our Flex application this works perfect.

But now we need to show the same content in the AIR application.

And since all SWF fonts are in the local-with-file sandbox, their 
Font.registerFont() calls are just ignored.

In other words, when I create text fields upon the SWF font loading and use 
that loaded font, it just does not work.


private function onEmbeddedFontComplete() : void {
trace(Font.enumerateFonts().length); // Output 0;
var textField : UITextField = new UITextField();

textField.htmlText =
font face='SegoeScript'Segoe Script/font;

textField.rotation = 30;

box.addChild(textField);

}

...

mx:SWFLoader
id=embeddedFont complete=onEmbeddedFontComplete() /
I suppose this should be quite common problem when you are creating some text 
editing software that works with runtime loaded fonts which are not deployed 
along with the application, but created by users, and eventually you need to 
migrate to AIR.

Any ideas how to avoid the problem without modification to the content (we 
already have a lot of font files in use and we can not enforce users to 
redevelop all)?

Sergey.