2

私は現在、iPhone SDKを使用して、インド語のスクリプトを利用するアプリを作成しています。ただし、iPhoneには、多くのインド語スクリプトで特定のグリフをレンダリングする際の問題があります。例えば:

प + ् + र = प्र

また

ਕ + ੍ + ਰ = ਕ੍ਰ

Mac(またはWindows)でこれを入力すると、コンピューターは自動的に3文字を1つのグリフにレンダリングします(प्र-Unicodeでは3文字として表されます)。iPhoneはAAT(Apple Advanced Typography)または高度なOpenType機能をサポートしていないため、文字を3つに分けてレンダリングし、多くの場合、判読できなくなります。3つの文字がUILabelに表示されるたびに、代わりにArial Unicode MS(組み込み)フォントから特定のグリフをレンダリングするように、Objective-Cでハードコーディングする方法があるはずだと思います。これを実現するために、文書化されていないAPIを使用してもかまいません。

4

3 に答える 3

2

問題は、iPhoneが特定のインド語のみをサポートしているか、AATフォントをサポートしていないことではありません。iPhoneは確かにAATテーブルをサポートしています。問題は、使用する適切なAATフォントが含まれていないことです!! Uは、arialuni.ttfまたはhelvetica.ttfのいずれかに含まれているため、表示されるグリフがほとんどない場合があります。ただし、これらのフォントにはOpenTypeまたはAATテーブルがありません。

私が述べていることを写真で確認できます。私は脱獄iPhoneを持っており、最も複雑なインド語スクリプトの1つである適切なクメール語レンダリングの写真をflickr.com/photos/41161441@N03/で確認できます。

modmyi.comのWebサイトフォーラムで問題を説明しました。 http://www.modmyi.com/forums/general-iphone-chat/680094-indic-font-rendering-iphone-yes-working.html#post4897261

于 2009-08-06T04:43:37.327 に答える
1

次のようにAppleが使用しているものを調べることから始めます。

  • メモとメールの両方に別々のグリフを入力して、それらが合成されるかどうかを確認してください。そうでない場合は、これを行う隠されたコードはほとんどありません。

  • 次に、Macで合成キャラクターを作成し、iPhoneにメールで送信します。Mailがさまざまな合成文字を表示できるかどうかを確認してください。合成文字を使用してWebページをホストし、MobileSafariの機能を観察して繰り返します。MobileSafariでこのページを表示して、これを実行しました。文字を正しく合成しません。つまり、iPhone上のWebKitは役に立たない(そしてiPhoneがこれを実行できる可能性ははるかに低くなる)ことを示しています。

  • 最後に、なぜप्रがiPhoneで利用できると思いますか?このグリフをiPhoneのどのアプリでも表示できたことがありますか?そのようなグリフ定義がない可能性が非常に高く、その場合、独自のレイアウトマネージャーを作成する準備ができていない限り(完全に新しいテキストビューを作成する必要があります)、行き詰まる可能性があります。どこかに表示できた場合は、そこから先に進んで、Appleがどのように表示しているかを把握できます。

iPhoneで利用できるIndicキーボードもありますか?私はそれを見つけることができませんでした、そしてもしなければ、彼らがプライベートメソッドに隠された非常に多くのインド語サポートを持っている可能性は非常に低いです。

iPhoneで誤って描画されたグリフについては、必ずレーダー(bugreport.apple.com)を開いてください。それが彼らがそれを修正することを知っている方法です。

于 2009-08-04T14:25:45.193 に答える
1

私は言語学習アプリケーションに取り組んでいます。

iPhoneでのインド語スクリプトのサポートはほとんどまたはまったくありません。独自のテキストレンダリングサポートとそれを使用する要素を作成するか、Appleがそれを実装するのを待つ必要があります。

iPhone OSは3.0までアラビア文字をレンダリングできず、OSXはサードパーティのレンダリングをサポートする特定のインド語テキストのみをサポートします。

iPhone OSがレンダリングできないスクリプトをサポートするための私の解決策は、事前にレンダリングされた画像を使用することです。おそらくあなたにはあまり役に立たないでしょうが、それが私たちがしていることです。

于 2009-08-04T14:46:29.247 に答える