Skip to main content
sinious
Legend
October 18, 2007
Answered

External Embedded Fonts, Dynamic Text Fields, Latest?

  • October 18, 2007
  • 24 replies
  • 2968 views
Hi all,

I'm stuck in Flash8 land. Mostly because I use mProjector and MDM Zinc to extend flash projectors and neither support AS3 correctly to date. That said..

Is a Flash8 SWF capable of using fonts embedded in "other" SWFs? I realize this is an ongoing difficulty and a well known area of confusion and well, I'm confused. All the attempts I've made so far in linking have succeeded or failed in various ways, but never fully work.

What I'd love to do is use dynamic text fields populated by data from a database (or XML file), with CSS styling, using fonts that are embedded in a 'master font SWF'. (and I'd like ice cream with that too!)

I import fonts into, say, 'shared.fla'. I set them all up for exporting via linkage (to shared.swf). I open up my other FLAs (say, main.fla) and I drag the fonts from the shared.fla library into main.fla's library. In looking at the linkage, I see it properly set it to Import for Runtime Sharing (shared.swf). I can see the font available in the main.fla font list and can select it and use it just fine. I have to set the dynamic text field to embed fonts to actually see them (and also myTextField.setStyle("embedFonts",true)).

Now all that works well and fine, but the kicker is when I want CSS to style my text. If I specify a embedded font linkage identifyer in CSS, the text disappears. i.e. I load 'style.css' and I have h1 { font-family: someEmbeddedFont; }, the <h1> text will now disappear.

Any clues in how I can specify a font to use in CSS that's embedded so it'll work, WITHOUT This font needed to be embedded in the actual library (as in, not a linked asset)? Because it works fine if I embed the font into every single SWF. But when I try to use it as a shared asset, this doesn't work.

Any ideas on how someone can achieve this?

This is so I can changed my shared.swf and supply all new fonts with the same linkage identifiers and change the font in a whole project without re-exporting any other SWFs.

Thanks for any info!
This topic has been closed for replies.
Correct answer sinious
I was more or less asking if you could create 2 new documents and just slap in the font and settings as an example file for all of us looking to share some font assets properly.

I'd be happy to host a ZIP containing the example files on my server and you can put a .txt file in with credits to you and/or your company.

re-edit:

I mostly want your solution because sharedfonts.com's solution (which by the way, does work) is actually being exported as Flash 6, AS1. Also your method only requires 1 file instead of 1 font asset and a loader (2 files each font). When I change the documents to Flash 8 AS2 I get nothing but errors. I think sharedfonts.com is relying on the hack being available in older versions of flash and this is just why when I reproduce it in functional flash8, it simply doesn't work.

re-re-edit:

Nevermind.. found a working example finally, and this one isn't easy to find (unless you know his name or w/e): Shared Fonts in Flash

His method works for me on the web, and offline. It ended up being if I ever save my documents as Flash CS3 and export to Flash 8, it won't work. But if I save-as down to Flash8 and then publish as flash8 also, it works. Very weird, but, works..

24 replies

sinious
siniousAuthor
Legend
November 1, 2007
It only makes perfect sense to give step by step instructions when you're talking about a process or when technical detail is involved. If you're going to tell me how to peel an apple then you can say something simple like grab a peeler or a knife and just skim the outside and it'll work. But a problem where a couple dozen settings across a multi-document concept need to be correct, obviously it requires outlining all the settings.

Happy to help you understand how to help. Consult the URL I just posted and you'll see in-depth instructions with source files provided.
kglad
Community Expert
Community Expert
November 1, 2007
i didn't respond to your first few posts because i wasn't going to be spoon-feeding you. and that's what i felt you needed based on your first posts.

but with your fourth post you asked only if something could be done. not how to do it. and to that i responded telling you yes, it could be done and i further informed you that i wasn't going to be explaining the process to you and i stated why i wasn't going to explaining the process to you and i suggested you look elsewhere for a tutorial.

and you did find a tutorial and that solved your problem. so, it seems to me you should be saying thanks and leave it at that. even though my suggestion to look elsewhere was not a big help, you sure weren't getting anywhere in this forum before that suggestion and it's doubtful you would get anywhere in any other forum.

now, it may make perfect sense to you that you needed a step-by-step tutorial to figure this out, but it's not my job to supply that step-by-step tutorial. and it's not my job to help you in this forum. i'm not being paid to help you and i'm not being paid to help anyone else in this forum.

therefore, your attitude that i owe you something is inappropriate. i owe you nothing but courtesy which you failed to return to me. so, you can be sure i'll never knowingly respond to any of your posts in the future.

happy to help you understand how to avoid acting like an ass.
kglad
Community Expert
Community Expert
October 31, 2007
i know not everyone can be helped without step-by-step instructions. and sometimes even step-by-step instructions aren't enough.
sinious
siniousAuthor
Legend
October 31, 2007
You didn't help haha. The method I'm using is from a post linked on another forum that wasn't even showin up in common sense google searches. Thanks for trying though.
kglad
Community Expert
Community Expert
October 31, 2007
you're welcome.
sinious
siniousAuthor
Legend
October 31, 2007
And there are quirks to note.. If you use the method above and then try to use a normal built-in font for something, it's actually defaulting to using one of the embedded fonts. e.g. if I set my_fmt.font = "Arial" it will never change it to arial. Nor in CSS does it work. It just uses a embedded shared font instead.

Very, very weird..

edit:

Didn't see your reply.. I understand, not everyone has time to help other people out. No worries, that other tutorial did the job and should be more than easy to understand for everyone else. Thanks anyhow.
kglad
Community Expert
Community Expert
October 31, 2007
no, it's too time-consuming. it was a lot of trial-and-error work in as2 and it was a lot of trial-and-error work in as3.

i undercharged for the as2 project when i failed to recognize how much time this would take. and i'm not enthusiastic about doing it again for free.

the as3 project was for kglad.com and i knew that was going to be time-consuming but that was ok. parts of that code i can share but i wouldn't want to re-write it, either.
sinious
siniousAuthorCorrect answer
Legend
October 31, 2007
I was more or less asking if you could create 2 new documents and just slap in the font and settings as an example file for all of us looking to share some font assets properly.

I'd be happy to host a ZIP containing the example files on my server and you can put a .txt file in with credits to you and/or your company.

re-edit:

I mostly want your solution because sharedfonts.com's solution (which by the way, does work) is actually being exported as Flash 6, AS1. Also your method only requires 1 file instead of 1 font asset and a loader (2 files each font). When I change the documents to Flash 8 AS2 I get nothing but errors. I think sharedfonts.com is relying on the hack being available in older versions of flash and this is just why when I reproduce it in functional flash8, it simply doesn't work.

re-re-edit:

Nevermind.. found a working example finally, and this one isn't easy to find (unless you know his name or w/e): Shared Fonts in Flash

His method works for me on the web, and offline. It ended up being if I ever save my documents as Flash CS3 and export to Flash 8, it won't work. But if I save-as down to Flash8 and then publish as flash8 also, it works. Very weird, but, works..
kglad
Community Expert
Community Expert
October 31, 2007
i can't send you the as2 files. that was a client project.
sinious
siniousAuthor
Legend
October 31, 2007
I guess it's amazing but I honestly, wholly cannot get this to work.

I made a new AS2 Flash 8 FLA (Forte.fla) with only the Forte font with a size of 22 in the library. The name of the library element was Forte. The linkage was set to "Export for Actionscript" and "Export in first frame".

I made another FLA (main.fla) Flash8 AS2. In actionscript I created an empty movie clip named "Asset_Forte" at the next highest depth and Asset_Forte.loadMovie("Forte.swf"). I also made a dynamic text field on the stage of this main.fla document and set it to Arial 22pt (no bold or italics, etc). I did not embed anything into it.

I made a TextTormat object (my_fmt) and set my_fmt.font = "Forte";. I put some text in the dynamic text field to start so I just applied the formatting (status_text.setTextFormat(my_fmt);).

This did not work. I started adjusting random things like naming the font in the Forte.swf library to Forte22 and tried my_fmt.font = "Forte22";. That didn't work.

I adjusted the linkage to "Export for runtime sharing" and specified Forte.swf as the SWF to share from. This did not work.

I then dragged the font from the Forte.fla's library (while "Export for runtime sharing" was enabled) into the library of main.fla. I checked the link and it was proper, "Import for runtime sharing, Forte.swf". I used both linkage attempts again (Forte and Forte22) with my_fmt.font and neither worked.

Would it be possible at all to get a couple FLAs from you that examplifies how you do this particular trick? I can't seem to get the settings right. I would be indebted to you!
kglad
Community Expert
Community Expert
October 31, 2007
correct.