Pergunta

Saudações,

Eu estou no meio de escrever um aplicativo Flash que tem suporte a diversos idiomas. Minha escolha inicial de fonte para isso foi Tahoma, por seu apoio Unicode. O cliente prefere uma fonte não-padrão, como Lucida escrita. não Lucida caligrafia não têm o mesmo, digamos, apoio cirílico como Tahoma, o que coloca um problema que há algumas maneiras de resolver, e eu gostaria de pedir seu conselho sobre o que é preferível:

Pelo que eu entendo, eu poderia:

  • Dar ao cliente uma lista de totalmente Unicode compatível (cirílico, hebraico, árabe, chinês tradicional, East Asian, etc) fontes para escolher. (Eu não tenho nenhuma idéia de onde para obter uma lista desse tipo;. Minha busca da web resultou apenas em listas de fontes parcialmente compatível com Unicode Tente http://look.fo/list-of-unicode-compliant-fonts como um bom ponto de partida para ver onde eu olhei).
  • Dependendo da localização do cliente (que já temos), rende em Lucida Handwriting para usuários de língua inglesa e em Tahoma para usuários internacionais. Isto pode ser um pouco de uma dor de cabeça; Alguém já teve alguma experiência com esta abordagem?
  • Criar uma nova fonte (IE, AlexeyMK negrito) que utiliza Lucida manuscrito para Inglês e Tahoma para tudo o resto. Este anúncios algo como 500 mil ao peso do arquivo Flash, mas devem (se eu entendi corretamente) só pode ser carregado pela primeira vez.

O que você aconselha? Quais destes são soluções razoáveis, e que são completamente lá fora? Existe uma maneira que eu não estou pensando?

Muito obrigado! Alexey

EDIT: Um bom artigo sobre o assunto: http://www.itworld.com/print/ 58.558

Foi útil?

Solução

Bem, em última análise, você tem apenas duas opções reais: ou você incorporar uma fonte em seu SWF, garantindo que suas fontes será semelhante, ou não fazer, e fontes de dispositivo uso. (Ou uma mistura dos dois, usando incorporado ou fontes de dispositivo de acordo com a região.)

Se você não incorporar todas as fontes, então qualquer fonte que você definir para o seu texto é em última análise, apenas uma sugestão - o que o usuário vai ver é fontes de dispositivo, sendo prestados por sua própria máquina (usando as fontes em que a máquina). Assim, você pode "sugerir" Tahoma, mas o que o usuário vê vai depender se eles têm essa fonte (e isso pode variar para, digamos, versões para Mac da fonte vs. versões para PC). Naturalmente, isso também depende do apoio; Se eles não têm fontes asiáticas, em seguida, em seguida, eles não verá nenhum chinês, por exemplo. (Nota:. Você também pode escolher uma fonte como "_sans", que apenas diz ao cliente para usar a sua fonte padrão sans-serif Meu palpite é que, na prática isso vai acabar sendo a mesma fonte que teria sido escolhido se você' d definido "Tahoma", mas YMMV.)

Se você incorporar suas fontes, então o usuário vai ver exatamente o que você espera que eles, porque a fonte é processado pelo Flash e não o sistema operacional. Mas se você incorporar totalmente para todas as regiões, incluindo os glifos necessários para chinês, então eu acho que você vai encontrá-lo acrescenta consideravelmente mais do que 500K .. mais como 2-5MB na minha experiência. Mas talvez há alguns detalhes que me faltam. De qualquer forma, para o conteúdo a ser entregues através da web eu geralmente assumem que, no mínimo, fontes asiáticas devem ser fontes de dispositivo.

Para adicionar uma palavra sobre uma solução mista, eu fiz isso e é factível. Ou seja, supondo que você pode adicionar a lógica para o seu SWF, você pode (por exemplo) fazer dois de cada campo de texto, um usando embedded "Lucida qualquer" eo outro usando não embutido "_sans", e, em seguida, em tempo de execução de um make deles texto invisível e colocar em outro, dependendo de qual região você está mostrando. (Eu fiz isso através de um único componente LocalizedTextfield, e tê-lo lido o local a partir de uma propriedade estática quando inicializado.) Então você simplesmente tem que decidir, para cada localidade, se o tamanho do arquivo é pena a exibição para que determinado conjunto de glifos.

A palavra final é, você pode não necessariamente assumir que o tamanho do arquivo incorridos por suas fontes só será carregado uma vez. Se você fazer o seu conteúdo da maneira simples e incorporar fontes em seus campos de texto, em seguida, a informação da fonte será parte de seu SWF, e, portanto, carregado cada vez que não importa o que. Externalizar que você poderia fazer o componente Label um arquivo separado e, em seguida, a decisão de carregá-lo ou não é até configurações de cache do navegador. Você também pode exteriorizar o recurso de fonte própria e usá-lo como um recurso compartilhado, mas em AS2 isso é um pouco peludo para começar a trabalhar. Eu ouvi dizer que é mais fácil em AS3, mas não fiz isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top