Quando se trabalha no Flash/Flex com idiomas que tenham caracteres diferentes daqueles que existem no inglês é preciso ter um trabalho a mais. Tanto faz se for um idioma tão diferente como o japonês, com seus três alfabetos distintos, ou apenas incluir a acentuação das línguas latinas.
Quando se cria um swf, o Flash ou o Flex automaticamente incorpora os caracteres do seu texto estático com a fonte que você escolheu, aumentando o peso do seu arquivo final. Contudo, quando você usa texto dinâmico (vindo do banco de dados, do XML ou do input do usuário, ou então que são rotacionados e deformados) o problema de alfabetos diferentes aparece.
Se o flash player não acha a fonte requerida para renderizar o texto e não consegue substituí-la por uma fonte do sistema, aqueles caracteres não encontrados simplesmente desaparecem. Em conseqüência, se eles não forem incorporados corretamente simplesmente não serão exibidos na sua aplicação e podem até causar duplo sentido ao seu texto pela remoção de algumas letras. Portanto, preste atenção e não deixe de adicionar todos os caracteres necessários para serem exportados com sua aplicação em SWF.
O arquivo da fonte
Seria fácil se as fontes possuíssem todos os caracteres do mundo, mas não existe ainda um arquivo de fonte universal que englobe todos os alfabetos existentes e é fácil entender o motivo. As línguas de origem latina ou anglo-saxônica têm um conjunto de caracteres em comum girando em torno de 40 caracteres distintos, mas alfabetos baseados em ideogramas, como o chinês, podem chegar facilmente a conter 40 mil caracteres, um para cada kanji diferente.
Uma fonte universal requereria um trabalho altamente qualificado de uma equipe bem entrosada e com familiaridade em diferentes alfabetos, capaz de solucionar a empreitada de manter o mesmo estilo visual em caracteres de idiomas tão distintos. Desenhar uma letra é um exercício de síntese que seu criador precisa executar para que seja possível ao mesmo tempo obter uma boa e fácil leitura como também deixar uma marca e um estilo inconfundível. Isto sem dúvida é uma dificuldade a mais, mas não é o problema ainda.
Fonte peso-pesado
Na era dos computadores, além de criar uma boa tipografia, ainda é preciso atentar-se para o tamanho do arquivo, que precisa ser pequeno o suficiente para não sobrecarregar os sistemas.
O tamanho em kb de um arquivo de fonte depende muito da complexidade de pontos que o designer (ou tipógrafo) traçou ao fazer o vetor de cada letra. Contudo, é dedutível que quanto mais caracteres, maior o tamanho final da fonte. Isso sem falar nas famílias de fontes que podem englobar todos esses caracteres em versões que mantenham o mesmo estilo, mas que apresentem variações como negrito, itálico, light, semi-light, condensed...
Uma fonte com caracteres chineses pode chegar facilmente a trinta megas, mas se for adicionar mais uns quinze para o japonês, uns vinte para o coreano, outros cincos para o tailandês, e tantos megas a mais para cada alfabeto existente no mundo... Simplesmente não seria suportada nos nossos sistemas de hoje em dia. E olha que nem foi considerado o contexto de uma família de fontes com vários estilos e variações. Resumindo, não existe ainda uma fonte universal porque o tamanho dela seria imenso.
As opções
Existe a alternativa de deixar o próprio sistema lidar com as fontes, porém perde-se o controle da qualidade da fonte, elas podem aparecer distorcidas, com legibilidade reduzida e o pior, se o usuário não tiver essa fonte em seu computador o texto será substituído por alguma outra ou simplesmente não será exibido. Então, não conte com essa alternativa, principalmente se estiver trabalhando com alfabetos diferentes.
A melhor alternativa é escolher uma boa fonte que contenha os caracteres que você irá utilizar e incorporá-las na sua aplicação. Se você souber de antemão o texto que será exibido, você deve incorporar apenas aqueles caracteres. Já no caso de texto dinâmico, não há como ter certeza do conteúdo que virá, mas é possível prever quais conjuntos de caracteres serão utilizados, definindo um unicode range. Explicitando o grupo de caracteres que você quer adicionar e não a fonte por completo, você não irá aumentar tanto o tamanho do seu SWF, pois vai precisar usar apenas uma parte da fonte.
Use boas fontes
É importante que você verifique se no arquivo de fonte que você está incorporando aquele conjunto de caracteres de fato existe, pois pode acontecer que sua fonte escolhida não os contenha e eles sejam substituídos automaticamente por uma fonte de sistema.
No exemplo acima, a fonte Arcade tem poucos caracteres próprios e ela acaba utilizando caracteres de sistema e deixando bem visível a diferença entre os dois estilos. Para verificar se sua fonte contém todos os caracteres, utilize um gerenciador de fontes. Se precisar escolher um, uma boa dica é o review do site Smashing Magazine.
Achar uma família de fonte que possua os caracteres que precisa e ainda tenha o impacto visual que deseja é uma tarefa que pode se tornar árdua dependo do idioma. Felizmente, alguns criadores de fonte possuem um trabalho mais elaborado e criam fontes que são "bilíngües" capazes de representar um alfabeto especifico e mais os caracteres comuns do alfabeto romano sem acento (a influência do inglês).
Dicas e Truques
Você pode definir uma fonte diferente para cada alfabeto ou pode tentar achar uma fonte que contenha todos os caracteres dos alfabetos que precisa. Por exemplo, com relação aos caracteres do japonês, você pode definir uma fonte, como a MS Gothic, para as páginas em japonês e outra mais simples – e mais leve – como a Futura para as páginas em idioma ocidental.
No meu caso optei pela solução de usar uma fonte com mais de um alfabeto e a melhor que encontrei é a Meryo, que combina os três alfabetos do japonês e os caracteres ocidentais com direito a versão em negrito. Ela é uma das fontes do pacote de clean fonts do vista, criado para resolver esse problema.
Um bom repositório de fontes onde é possível encontrar uma relação de fontes feitas para vários alfabetos específicos é o site Vista Wide. Já para idiomas com escrita da direita para esquerda, como Árabe, Urdu e Persa, existe o componente FlarabyAS3Flex, com suporte a fontes incorporadas.
Se você sente falta de informações mais técnicas de como solucionar seu problema com fontes em swf, não deixe de ler também meus outros dois posts, um tutorial mais específico sobre como incorporar fontes no Flash (Incorporando fontes no Flash) e outro no Flex (Incorporando fontes no Flex).