2

簡単に言うと、(さまざまな理由で) FreeType または HarfBuzz を使用せずにフォントをレンダリングしています。TrueType および派生形式を手動で解析してメタデータとグリフ情報を抽出し、後でビットマップを構築し、実行時にアウトラインからフィールドを距離を置きます。私が懸念しているのは、重要な場合、つまり、言語規則に従って特定のシーケンスを別のシーケンスに置き換える必要がある場合の信頼できるグリフ置換です。

私がはっきりしていないのは、GSUB テーブルが一般的にどの程度信頼できると想定できるかということです。言い換えれば、たとえば、アラビア語のフォントが、アラビア語のスクリプトに必要な置換を含む、入力された GSUB テーブルを提供する必要があると期待するのは合理的ですか? それとも、これがスクリプトごとであるとすると、一般的に、フォントは特別なフォントごとの置換のみを提供し、シェーピング エンジンはスクリプトごとの置換をグローバル ルールとして処理すると想定されているのでしょうか? システムはその場合にフォールバックを検索し、それ以外の場合は元のシーケンスに戻るため、置換されたグリフが使用できない可能性があることは心配していません。

明らかに、スクリプトごとにグローバル ルールセットを配置することは、フォールバックとして完全に信頼できますが、これを可能な限り最小限に抑えたいと考えています。これは経験的な質問ではないことをお詫びしますが、実際にさまざまなフォントのサンプルを大量に調べなければならないことを除けば、これに関する多くの情報を見つけるのに苦労しています. この概要は、スクリプトごとの置換が定義されることを示唆しているように見えますが、テーブルがモジュール式であることを考えると、必要な定義は言うまでもなく、テーブルが存在するという保証はもちろんありません。これに失敗した場合、さまざまなスクリプトの代替の既知のデータベースはありますか?

4

2 に答える 2