次の方法で共有


文字幅

アプリケーションは、テキストの文字列をページ幅や列幅に合わせるなどのタスクを実行するときに、文字幅データを取得する必要があります。 アプリケーションで文字幅データを取得するために使用できる関数は 4 つあります。 これらの関数のうち 2 つでは文字の前の幅が取得され、そのうちの 2 つの関数は実際の文字幅データを取得します。

アプリケーションは、GetCharWidth32 を使用し、GetCharWidthFloat 関数を して、テキスト文字列内の個々の文字または記号の事前幅を取得できます。 前方向の幅は、次の文字を文字列で印刷する前に、ビデオディスプレイ上のカーソルまたはプリンターの印刷ヘッドが進む必要がある距離です。 GetCharWidth32 関数は、前の幅を整数値として返します。 より大きな精度が必要な場合、アプリケーションは、GetCharWidthFloat 関数を使用して、小数部の事前幅の値を取得できます。

アプリケーションは、GetCharABCWidths を使用して実際の文字幅データを取得し、GetCharABCWidthsFloat関数をできます。 GetCharABCWidthsFloat 関数は、すべてのフォントで動作します。 GetCharABCWidths 関数は、TrueType フォントと OpenType フォントでのみ機能します。 TrueType フォントと OpenType フォントの詳細については、「ラスター、ベクター、TrueType、および OpenType フォントのを参照してください。

次の図は、文字幅の 3 つのコンポーネントを示しています。

2 つの隣接する文字の間隔、b の間隔、および c の間隔を示す図

A の間隔は、文字を配置する前に現在の位置に追加する幅です。 B の間隔は、文字自体の幅です。 C の間隔は、文字の右側の空白です。 前方向の幅の合計は、A + B + C の合計を計算することによって決定されます。 文字セルは、フォント内の各文字または記号を囲む架空の四角形です。 文字は文字セルにオーバーハングまたはアンダーハングする可能性があるため、A と C の増分の一方または両方に負の数を指定できます。