well, i figured it out. buried in a comment to a comment someone mentioned that if you load a swf with embedded fonts into another swf, you do not need to registerFont(). I took out that line and i no longer get the runtime error.
i would like to understand the problem better. based on my initial question, does it appear that FP10 made a fix where the registerFont() would be ignored? again, it worked in FP10 but FP9. thanks On Fri, Dec 16, 2011 at 8:30 PM, Ktu <[email protected]>wrote: > Hey list, > > i have been having a shit storm of a time with Fonts. I am not sure how to > move forward. > > *Setup:* > > For close to a year, i have been embedding fonts into swc files. Simple, > use embed syntax, give it a class to be, then Font.registerFont() that > class. (The static of it is the brilliance of never having to instantiate > an object or call a function. As soon as the class is referenced at > runtime, all the fonts get registered) > > Their setup is like this: > > class FontManifest { > > [Embed(source='helvetica.otf', fontName='helvetica', embedAsCFF= > 'false')] > static private var HELVETICA_FONT:Class; > > > > static public var HELVETICA:String = "Helvetica"; > > Font.registerFont(HELVETICA_FONT); > > } > > > > This works fantastic. Then, my application references the swc, and can use > the fonts! > > > > Then next crucial aspect of my problem, is that this compiled swf that > uses the font swc, is embedded into another swf. We use again [Embed] > syntax to embed this 'module' into our parent application. > We then use loader.loadBytes() to create the swf and use it in the main > application. > > The setup is like this: > > [Embed(source='module.swf', mimeType='application/octet-stream')] > public class EmbeddedModule extends ByteArray { } > > // separate class > var context:LoaderContext = new LoaderContext(false, new ApplicationDomain() > ); > var _loader:Loader = new Loader(); > _loader.loadBytes(new EmbeddedModule(), context); > > This is not exact code (we have a fairly large async framework we use, but > these are the important parts). This works! > Everything loads fine and works fine. > > > > *The Problem:* > > recently, i have needed to run my applications in FP9 (whereas before i > was in FP10). > > Since i have started running in FP9 i get this error: > [Fault] exception, information=ArgumentError: Error #1508: The value > specified for argument font is invalid. > > I have read many things on the internet about it being localhost related, > and applicationDomain problems. These have offered very little insight for > me. > > The swf that is attempting to embed fonts lives in a sibling app domain. > (by virtue of specifying a new ApplicationDomain in the loader context); > That swf is embedded into the main swf at compile time. > i am not loading it twice (which i hear registering the same font twice > can cause this problem) > > The only thing that has changed is I am now running it in FP9.0.280. > > I tried putting my compiled swf on a server, and running it in the > browser. (it did not work using 9.0.280, but works using 10.2) > no matter what i try to do differently, it never works in 9.0.280, but > works in 10.0 or higher. > > *Any Ideas?* > > > -- > Ktu; > > The information contained in this message may or may not be privileged > and/or confidential. If you are NOT the intended recipient, > congratulations, you got mail! > -- Ktu; The information contained in this message may or may not be privileged and/or confidential. If you are NOT the intended recipient, congratulations, you got mail! _______________________________________________ Flashcoders mailing list [email protected] http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

