I got it working. It turns out that my issue was with the "Symbol" font in particular. For whatever reason that font breaks when embedded in certain manners. I filed a bug on the wishlist about it. Switching it to another font worked ... I need to play around with a few different scenarios, but it appears runtime font loading is possible in Flex. I am psyched!
Daniel Freiman wrote: > > I've been working with a font I don't have installed on my computer, > so I could be sure it was working, although I also tried it with > system fonts and it has worked. The only thing I can think of is that > I set the fontName to the same value as the actual font name. If that > doesn't work I can send you my code. > > On 8/31/06, *Daniel Wabyick* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > Hi Daniel, > > I am a little confused what you mean exactly. I have tried to set a > Label mxml component's style directly using the fontFamily name, and > when I do the text in the label diappears. Did you get it to actually > display the symbol font? > > Here is the pertinent part of my current code: > > <mx:Label id="myLabel" text="test" /> > <mx:Script> > <![CDATA[ > > private var ldr:Loader; > private function onInit() : void > { > showFonts(); > > var context:LoaderContext = new LoaderContext(); > context.applicationDomain = > ApplicationDomain.currentDomain; > var req:URLRequest = new URLRequest( > "SymbolInclude.swf" ); > > ldr = new Loader(); > ldr.contentLoaderInfo.addEventListener ( > Event.COMPLETE, > onLoaderComplete ); > ldr.load( new URLRequest( "SymbolInclude.swf"), > context ); > } > > private function onLoaderComplete(e:Event) : void > { > trace("onLoaderComplete: "); > > var content:DisplayObject = ldr.content; > var c:Class = content["myFont"]; > Font.registerFont (c); > > myLabel.setStyle( "fontFamily", "mySymbol" ); > showFonts(); > } > > > public function showFonts():void > { > trace("showFonts()"); > var fontList : Array = Font.enumerateFonts(); > for ( var i:String in fontList ) > { > trace("font: " + Font( fontList[i] > ).fontName); > } > } > ]]> > </mx:Script> > > > > > Daniel Freiman wrote: > > > > I figured out how to use the textformat object. The textformat > object > > does actually work, but a TextField will only retrieve the embeded > > font if it's parent has previously been sent set the font as a > style. > > So for any component that uses a UITextField, set the fontFamily > style > > of the parent UIComponent to the newly loaded font and then the > > UITextField should be able to use the font even if fontFamily is > > subsequently reset. I have no idea why this works, so there may be > > some improvements to this method. > > > > On 8/30/06, *Brian Deitte* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >> wrote: > > > > One addition to this, which is that we always include the space > > character when you specify the unicode range. I'm not sure the > > original reasoning for this, but I just noticed it in the code. > > Also, you can specify multiple ranges, separated by > commas. -Brian > > > > > ------------------------------------------------------------------------ > > *From:* flexcoders@yahoogroups.com > <mailto:flexcoders@yahoogroups.com> > > <mailto:flexcoders@yahoogroups.com > <mailto:flexcoders@yahoogroups.com>> > > [mailto:flexcoders@yahoogroups.com > <mailto:flexcoders@yahoogroups.com> > > <mailto:flexcoders@yahoogroups.com > <mailto:flexcoders@yahoogroups.com>>] *On Behalf Of *Dirk Eismann > > *Sent:* Wednesday, August 30, 2006 2:07 PM > > *To:* flexcoders@yahoogroups.com > <mailto:flexcoders@yahoogroups.com> > > <mailto:flexcoders@yahoogroups.com > <mailto:flexcoders@yahoogroups.com>> > > *Subject:* RE: [flexcoders] Embedding fonts at runtime > > > > Yes, this is possible: > > > > [Embed(source="Arial.ttf", fontName="myArial", > > unicodeRange="U+0041-U+005A" )] > > public var myClass:Class; > > > > Dirk. > > > > > ------------------------------------------------------------------------ > > *Von:* flexcoders@yahoogroups.com > <mailto:flexcoders@yahoogroups.com> > > <mailto: flexcoders@yahoogroups.com > <mailto:flexcoders@yahoogroups.com>> im Auftrag von Daniel Wabyick > > *Gesendet:* Mi 30.08.2006 18:58 > > *An:* flexcoders@yahoogroups.com > <mailto:flexcoders@yahoogroups.com> > <mailto:flexcoders@yahoogroups.com > <mailto:flexcoders@yahoogroups.com>> > > *Betreff:* Re: [flexcoders] Embedding fonts at runtime > > > > Awesome! I'll definitely have to check this out. > > > > On a related note, I wonder if its possible to embed fonts > with a > > specific unicode range via this syntax. It doesn't appear > to be. > > > > [Embed(systemFont='Symbol', fontName='mySymbol', > > mimeType='application/x-font')] > > var myFont:Class; > > > > I know you can use @font-face, which appears to automatically > > generate a > > variable in the class, but its not a consistently named > variable. I am > > sure a utility function in the class could be used to ferret > out that > > variable name. > > > > > > Daniel Freiman wrote: > > > > > > I altered the code a little and got it half working. It > works if > > > you're setting the imported font using setStyle, but not > if you're > > > setting the font through the TextFormat object. Simply > add the > > lines: > > > > > > var content:DisplayObject = ldr.content; > > > var c:Class = content["myFont"]; > > > Font.registerFont(c); > > > > > > to the begining of onloadercomplete. > > > > > > I'm going to continue working on how to get the font to > show up > > > through TextFormat. > > > > > > > > > On 8/29/06, * Daniel Wabyick* < [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> > > > < mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>> wrote: > > > > > > I just tried to dynamically load a font at runtime, > and the > > > results are > > > not too promising. > > > > > > For other's benefits, here is what I did: > > > > > > - Created an AS3 project and generated a SWF > (SymbolEmbed.swf) > > > with the > > > Symbol font embedded. > > > > > > - Verified the font is available in the SWF via > > Font.enumerateFonts(); > > > > > > - Loaded SymbolEmbed.swf into a Flex app using the > Loader class, > > > following instructions to keep the SWF's on the same > > > applicationDomain. > > > > > > - Checked if the font is available to the Flex app, it > is not. > > > > > > Please let me know if anyone has any ideas, > > > > > > -Daniel > > > > > > > > > > > > > > > Code: AS3 project with embedded font. > > > ------------------- > > > public class SymbolInclude extends Sprite > > > { > > > public function SymbolInclude() > > > { > > > [Embed(systemFont='Symbol', > fontName='mySymbol', > > > mimeType='application/x-font')] > > > var myFont:Class; > > > > > > trace("here in SymbolInclude"); > > > var fontList : Array = Font.enumerateFonts(); > > > for ( var i:String in fontList ) > > > { > > > trace("font: " + Font( fontList[i] > ).fontName); > > > } > > > } > > > } > > > > > > > > > Code: Loader code in Flex app. > > > ------------------------------------------- > > > > > > <mx:Script> > > > <![CDATA[ > > > > > > private var ldr:Loader; > > > private function onInit() : void > > > { > > > showFonts(); > > > > > > var context:LoaderContext = new > LoaderContext(); > > > //context.securityDomain = > > > SecurityDomain.currentDomain; > > > context.applicationDomain = > > > ApplicationDomain.currentDomain; > > > > > > ldr = new Loader(); > > > ldr.contentLoaderInfo.addEventListener( > > > Event.COMPLETE, > > > onLoaderComplete ); > > > ldr.load( new URLRequest( " > SymbolInclude.swf"), > > > context ); > > > } > > > > > > private function > onLoaderComplete(e:Event) : void > > > { > > > trace("onLoaderComplete: "); > > > showFonts(); > > > } > > > > > > public function showFonts():void { > > > trace("showFonts()"); > > > var fontList : Array = > Font.enumerateFonts (); > > > for ( var i:String in fontList ) > > > { > > > trace("font: " + Font( fontList[i] > > > ).fontName); > > > } > > > } > > > ]]> > > > </mx:Script> > > > > > > > > > > > > > > > > > > > > > Daniel Freiman wrote: > > > > > > > > I have this question too but it hasn't reached the > top of > > my to-do > > > > list yet. What I'm hoping is that is that you can > embed a font > > > in a > > > > swf and then load that swf at runtime using a swfloader. > > > > > > > > On 8/28/06, *Daniel Wabyick* < [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> > > > < mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> <mailto: [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>>> > > > > <mailto: [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED]: [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>>>>> wrote: > > > > > > > > Hey guys, > > > > > > > > Is there any way to include a font at runtime > using Flex > > > 2? There > > > > was a > > > > weird hack that works in Flash 8 where you load > a movie > > that > > > loads an > > > > RSL. Does anything like this work in Flex 2 ? > > > > > > > > Thanks, > > > > -Daniel > > > > > > > > > > > > -- > > > > Flexcoders Mailing List > > > > FAQ: > > > > > > > > > > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> > > > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>> > > > > > < > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> > > > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>> > > > > > < > > > > > > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> > > > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>> > > > > > < > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> > > > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>> >> > > > > Search Archives: > > > > > > http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com> > > <http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com>> > > > < > http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com> > > <http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com>>> > > > > < > > http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com> > > < http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com>> > > > > <http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com> > > <http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com>>>> > > > > Yahoo! Groups Links > > > > > > > > < http://groups.yahoo.com/group/flexcoders/ > <http://groups.yahoo.com/group/flexcoders/> > > <http://groups.yahoo.com/group/flexcoders/ > <http://groups.yahoo.com/group/flexcoders/>> > > > <http://groups.yahoo.com/group/flexcoders/ > <http://groups.yahoo.com/group/flexcoders/> > > <http://groups.yahoo.com/group/flexcoders/ > <http://groups.yahoo.com/group/flexcoders/>>>> > > > > > > > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto: [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> > > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto: [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>>>> > > > > > > > > < http://docs.yahoo.com/info/terms/ > <http://docs.yahoo.com/info/terms/> > > < http://docs.yahoo.com/info/terms/ > <http://docs.yahoo.com/info/terms/>> > > > <http://docs.yahoo.com/info/terms/ > <http://docs.yahoo.com/info/terms/> > > <http://docs.yahoo.com/info/terms/ > <http://docs.yahoo.com/info/terms/>>>> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Flexcoders Mailing List > > > FAQ: > > > > > > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> > > > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>> > > > > > < > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> > > > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>> > > > > Search Archives: > > > > http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com> > > < http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com>> > > > > <http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com> > > <http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com>>> > > > Yahoo! Groups Links > > > > > > < http://groups.yahoo.com/group/flexcoders/ > <http://groups.yahoo.com/group/flexcoders/> > > <http://groups.yahoo.com/group/flexcoders/ > <http://groups.yahoo.com/group/flexcoders/>>> > > > > > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto: [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>>> > > > > > > <http://docs.yahoo.com/info/terms/ > <http://docs.yahoo.com/info/terms/> > > < http://docs.yahoo.com/info/terms/ > <http://docs.yahoo.com/info/terms/>>> > > > > > > > > > > > > > > > > > > > > > > > -- > > Flexcoders Mailing List > > FAQ: > > > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> > > < > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>> > > Search Archives: > > http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com> > > <http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com>> > > Yahoo! Groups Links > > > > < http://groups.yahoo.com/group/flexcoders/ > <http://groups.yahoo.com/group/flexcoders/>> > > > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> > > > > < http://docs.yahoo.com/info/terms/ > <http://docs.yahoo.com/info/terms/>> > > > > > > > > > > > > > > > > -- > Flexcoders Mailing List > FAQ: > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> > Search Archives: > http://www.mail-archive.com/flexcoders%40yahoogroups.com > <http://www.mail-archive.com/flexcoders%40yahoogroups.com> > Yahoo! Groups Links > > <http://groups.yahoo.com/group/flexcoders/> > > <mailto:[EMAIL PROTECTED]> > > <http://docs.yahoo.com/info/terms/> > > > > > > -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/