Pergunta

Atualmente, estou usando o iPhone SDK para criar um aplicativo que utiliza scripts de índicos. No entanto, o iPhone tem problemas com tornando certos glifos em muitos scripts índicos. Por exemplo:

प + ् + र = प्र

ou

ਕ + ੍ + ਰ = ਕ੍ਰ

Quando você digita isso em um Mac (ou Windows) do computador irá processar automaticamente os três personagens em um glifo (??? - Em Unicode ainda é representado como três personagens no entanto). Porque o iPhone não suporta AAT (Apple Avançada tipografia) ou OpenType recursos avançados torna os personagens como três separados que se torna ilegível em muitos casos. Eu estou pensando que deve haver uma maneira de codificar em Objective-C para garantir que cada vez que os três personagens aparecem em uma UILabel eles devem prestar um determinado glifo do Arial Unicode MS (built-in) de fonte em seu lugar. Eu não me importo usando APIs não documentadas para alcançar este objetivo.

Foi útil?

Solução

O problema não é o iPhone suporta apenas certo Indic ou não fazer fontes de AAT de apoio. A mesa de apoio AAT iPhone com certeza. O problema é a fonte AAT bom que você uso não está incluído !! U pode ter alguns glifo exibida porque aqueles são inlcude quer na ARIALUNI.TTF ou helvetica.ttf. Mas aqueles de fontes não tem nenhum tabelas OpenType ou AAT.

Eu posso confirmar com imagem que eu estado, eu tenho um jailbreak do iPhone e você pode conferir flickr.com/photos/41161441@N03/ para imagem para processamento Khmer adequada, que é um dos o script Indic mais complexa.

Eu expliquei o problema em modmyi.com fórum web site. http: //www.modmyi.com/forums/general-iphone-chat/680094-indic-font-rendering-iphone-yes-working.html#post4897261

Outras dicas

Comece por explorar o que a Apple está usando o seguinte:

  • Tente digitar os glifos separadas em ambos os Notes e Mail e ver se eles composto. Se não, então não é uma peça escondida improvável de código que faz isso.

  • Em seguida, criou um personagem composited em Mac e-mail para o seu iPhone. Veja se correio é ainda capaz de exibir vários personagens composta. Repita por hospedar uma página com caracteres compostas e observando o que MobileSafari faz. Eu fiz isso para você por ver esta página em MobileSafari; ele não composite os caracteres corretamente. Assim que nos diz que WebKit no iPhone não pode ajudá-lo (e torna muito menos provável que o iPhone pode fazer isso em todos).

  • Finalmente, por que você acredita que ??? está disponível em tudo no iPhone? Você já foi capaz de exibir este glifo em um iPhone em qualquer aplicativo? É muito possível não existe tal definição glifo, caso em que você pode ser preso a menos que você está pronto para escrever seu próprio gerenciador de layout (que provavelmente exigiria a criação de uma visão completamente nova de texto). Se você foi capaz de exibi-lo em algum lugar, então você pode seguir em frente de lá para descobrir como a Apple está exibi-lo.

Existe ainda um teclado Indic disponível no iPhone? Eu não tenho sido capaz de encontrar um, e se não houver, então é extremamente improvável que eles têm muito apoio Indic escondidos em métodos privados.

Certifique-se de abrir Radares (bugreport.apple.com) para quaisquer glifos que são desenhadas incorretamente no iPhone. É assim que eles sabem para corrigi-lo.

Eu trabalho em aplicações de aprendizagem de línguas.

Há pouco ou nenhum suporte para scripts índicos no iPhone. Você vai ter que escrever o seu próprio suporte de renderização de texto e elementos que usá-lo ou esperar para a Apple para implementá-lo.

O iPhone OS não poderia processar scripts de árabes até 3.0 e OS X apenas suporta determinado texto Indic com o terceiro suporte de renderização partido.

A minha solução para suportar scripts do iPhone OS não pode prestar é usar imagens pré-renderizadas. Provavelmente não muito ajuda para você, mas isso é o que fazemos.

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