When working in Flash/Flex with idioms that have characters others than those that exist in english you'll need to work a little more. Whatever it is, a so different idiom as japanese, with its three distinct alphabets, or only to include accentuation in latin languages.
When you create a swf, Flash or Flex automatically embed the characters of your static text with the font you choose, increasing the size of your final file. However, when you use dynamic text (coming from database, XML, user's input or rotated and deformed text) the problem with alphabets appears.
If flash player doesn't find the required font to render the text and it cannot replace your font by a system font, those not found characters simply disappears. Consequently, if they aren't correctly embedded, simply they won't be shown in your application and they may even cause double meaning to your text by removing some letters. So pay attention and be sure to add all characters needed to be exported with your application in SWF.
The font file
It would be easy if the fonts had all chacracters of the world, but there isn't an universal font file that includes all existing alphabets and is easy to understand why. The languagens from latin or anglo-Saxon orign have a common set of characters around 40 distinct characters, but alfabets based on ideogran, like chinese, can easily contain more than 40 thousands chacracters, one for each different kanji.
An universal font would require a highly skilled work of a team with familiarity in different alphabets, capable of maintaing the same visual style in all characters from so many different languages. Draw a letter is an exercise of synthesis that its creator needs to be able to solve for, at the same time, to be possible to have a good and easy legibility but also to leave a personnal and unmistakable style. This is certainly one more difficult, but it isn't the problem yet.
Heavy-weight font
At the era of computers, besides creating a good typography, it's also need to look for the file size, which must be small enough to not overload the systems.
The size of a font file in kb depends largely on the complexity of points that the designer (or typographer) made when traced the vector outlines of each letter. However, it’s deductible that as many characters the font may have, the larger will be the final size of the file. And i didn’t mention the font families that can include all these characters in versions that retain the same style, but showing variations such as bold, italic, light, semi-light, condensed ...
A font with Chinese characters can get easily to thirty megabytes, but if you add more fifteen megas for Japanese characters, twenty for Korean, five others for Thai, and many others megabytes more for each alphabet in the world ... Simply would not be supported in our systems today. And look that I didn’t considered the context of a family fonts with different styles and variations. In short, there isn’t yet a universal font because its size would be immense.
The options
There is an alternative of letting the system itself dealing with fonts, but you lose control of the font’s quality, they may appear distorted, with reduced readability and worse, if the user does not have the font in his computer the text will be replaced by another font or simply will not show. So, do not count with this alternative, especially if you are working with different alphabets.
The best alternative is to choose a good font that contains the characters that you will use and incorporate them in your application. If you know beforehand the text that will be displayed, you should include only those characters. But in the case of dynamic text, we can’t be sure about the content that will come, but it’s possible to predict which character sets will be used, defining an unicode range. If you explicit a group of needed characters and not the entire font, you will not increase so much your SWF size, because you’ll need to use only a part of the font.
Use good fonts
It’s important to check if that range of characters actually exists in the font file you are embedding, because it may be that your chosen font does not contain them and they are automatically replaced by a source font.
In the example above, the font Arcade has few own characters and it finishes using the system characters, making very visible the difference between the two styles. To check if your font contains all the characters, utilize a font manager. If you need to choose one, a good tip is the review from Smashing Magazine.
Find font families which have all the characters that you need and still have the visual impact you want is a task that can become tricky depending on the language. Fortunately, some font creators have a more elaborate work and produce "bilingual" fonts able to represent a specific alphabet and yet the common characters from roman alphabet without accents (the influence of English).
Tips and Tricks
You can set a different font for each alphabet or you can try to find a font that contains all the characters from the alphabets you need. For example, relating to japanese characters, you can define a font, such as MS Gothic, for japanese pages and other simplier- and lighter - as Futura for pages in western languages.
In my case I chose the solution of use a font with more than one alphabet and the best I found is Meryo, which combines the three japanese alphabets and the western characters and still has a bold version. It’s one of the fonts from the clean font’s package from Windows Vista, created to solve this problem.
A good font repository where you can find a list of fonts made specifically for various alphabets is the site Vista Wide. For languages written from right to left, like Arabic, Urdu and Persian, there is the component FlarabyAS3Flex, with support for embedded fonts.
If you miss more technical information about how to solve your problem with fonts in swf, be sure to also read my other two posts, a more specific tutorial on how to embed fonts in Flash (Embedding fonts in Flash) and the other in Flex (Embedding fonts in Flex).