次の方法で共有


スプライン レコード

スプライン レコードは、TrueType で使用される 2 次曲線 (つまり、2 次 b スプライン) を表します。 スプライン レコードは、前のレコードの最後のポイント (またはコンター内の最初のレコードの場合は開始点) で始まります。 最初のスプライン レコードの場合、レコードの始点と最後の点はグリフ アウトライン上にあります。 他のすべてのスプライン レコードの場合、最後の点のみがグリフアウトライン上にあります。 スプライン レコード内の他のすべての点はグリフ アウトラインから外れ、b スプラインのコントロール ポイントとしてレンダリングする必要があります。

コンター内の最後のスプラインまたはポリライン レコードは、常にコンターの始点で終了します。 この配置により、すべての輪郭が閉じられます。

b スプラインには 3 つのポイント (アウトライン上にある 2 つの点の間のグリフ アウトラインから 1 ポイント離れた位置) が必要であるため、スプライン レコードに複数のオフカーブ ポイントが含まれている場合は、いくつかの計算を実行する必要があります。

たとえば、スプライン レコードに 3 つのポイント (A、B、C) が含まれており、それが最初のレコードではない場合、ポイント A と B はグリフ アウトラインから外れます。 ポイント A を解釈するには、現在の位置 (常にグリフ アウトライン上にある) と、点 A と B の間のグリフ アウトライン上のポイントを使用します。A と B の中間点 (M) を検索するには、次の計算を実行します。

M = A + (B A)/2

スプライン レコード内の連続するアウトライン外点間の中間点は、TrueType フォントで使用されるスプライン形式の定義に従って、グリフアウトライン上の点です。

現在位置が P で指定されている場合、このスプライン レコードによって定義される 2 つの 2 次スプラインは (P、A、M) と (M、B、C) です。