2

Uniscribeのグリフカーニングについて以前の質問をしましたが、まだ回答がありません。さらにgoogleなどで読んだ後、Uniscribeはフォントからのグリフカーニング情報の抽出をサポートしていないようです。

したがって、簡単なフォローアップの質問があります-フォントから指定された文字列のグリフカーニング情報を抽出する良い例(できればC ++コードを使用)はありますか?

Pango、QT、ICUのいずれかがこれを実行できるとさまざまな場所で言及されていますが、ドキュメントは地上では少し薄いため、どこから始めればよいかわからないのです。

私を正しい方向に向ける助けはありがたいことに受けました。グリフを希望の方法でレンダリングするためのコードがすでに用意されています。拡張されたカーニング情報を取得しているだけなので、グリフをもう少し適切に配置できます。

ありがとう、

4

1 に答える 1

2

OpenTypeフォントには、カーニング情報を指定する2つの異なる方法があり、どちらもオプションです。

  1. TrueTypeから継承されたkernテーブル。このテーブルは、カーニングペア情報(つまり、特定の文字ペアを水平方向にどれだけオフセットする必要があるか)を提供します。Microsoftは、このテーブルの仕様を提供し、値の抽出に役立つGetKerningPair()、などのWindowsAPI関数も提供しています。GetFontData()

  2. GPOSテーブルは、考えられるすべての形式のグリフの配置を処理するOpenTypeテーブルです。Microsoftにもこのテーブルの仕様がいくつかありますが、正直なところ、どこから始めればよいのかさえわかりません...ICUがこの種のものをどのように処理するかを調べたいと思うでしょう。

kernテーブルからカーニング値を取得する方がGPOSテーブルよりもはるかに簡単だと思いますが、これらのコードサンプルの方法はあまり見つかりませんでした。

于 2009-08-14T05:28:31.323 に答える