1

アプリケーションで Unicode 文字をレンダリングしたいのですが、freetype を使用して標準のラテン文字をレンダリングする方法について大まかな考えがあります。ただし、レイアウトとシェーピングが異なる他の言語の場合、UTF-8 でエンコードされた文字列で取得した一連の文字から次のようにする方法がわかりません。

  1. 文字の表示に適したフォントの選択

  2. 文字の適切なレイアウトの選択 (LTR、RTL、TTB)

このデータは Unicode 文字自体に含まれていますか?

特定の Unicode 文字について、ポイント 1 とポイント 2 を決定するにはどうすればよいですか? Freetype には優れたドキュメントがいくつかあり、さまざまなレイアウトの使用についてかなり詳しく説明されていますが、文字自体からその情報を抽出する方法がわかりませんでした。

また、Halfbuzz もざっと見ましたが、ドキュメントはまったく見つかりませんでした。Harfbuzz をセットアップして使用し、グリフをレンダリングする Freetype を使用して一部の言語をレイアウトする方法を示す例が浮かんでいますが、この例では、レイアウト、フォント、および言語情報を明示的に Harfbuzz に渡しています。

それらのことを前もって知らないとき、あなたはどうしますか?

これはモバイル アプリケーション用であり、理想的には、使用されるライブラリ/ソリューションには寛容なライセンスが必要です。

4

1 に答える 1

2

Unicode 文字コード ポイントは、文字自体のみをエンコードします。使用するフォント、レイアウト、その他の情報は何も提供しません。レイアウトなどに関する情報を取得するために、Unicode では、UnicodeData.txtダウンロードして使用できる などの多数のファイルを提供しています。フォントに関しては、各フォントは、各文字の幅、高さ、深さなどを含む、ある種の記述子ファイルを提供する必要があります。これらのファイルは、フォントがサポートする文字を決定するためにも使用できます。

于 2014-04-10T17:43:18.160 に答える