<Return[G]><Top>

GetCharABCWidthsFloat

Declare Function Api_GetCharABCWidthsFloat& Lib "gdi32" Alias "GetCharABCWidthsFloatA" (ByVal hDC&, ByVal iFirstChar&, ByVal iLastChar&, lpABCF As ABCFLOAT)

Declare Function GetCharABCWidthsFloat Lib "gdi32" Alias "GetCharABCWidthsFloatA" (ByVal hdc As Long, ByVal iFirstChar As Long, ByVal iLastChar As Long, lpABCF As ABCFLOAT) As Long

現在のフォントから指定された範囲内にある、連続した文字の幅を論理単位で取得する。

パラメータ
hdc
    デバイスコンテキストのハンドルを指定する。
iFirstChar
    ABC 幅を求める、連続した文字群中の最初の文字のコード点を指定する。
iLastChar
    ABC 幅を求める、連続した文字群中の最後の文字のコード点を指定する。この範囲は包含的である。指定された最後の文字が指定され

    た最初の文字よりも前にある場合は、エラーが返る。
lpABCF
    関数が戻るときに文字幅を受け取る ABCFLOAT 構造体の配列を持つ、アプリケーション定義のバッファへのポインタを指定する。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。
    Windows NT/2000:拡張エラーコードを取得するには、GetLastError 関数を使う。

解説
    GetCharABCWidths 関数は TrueType フォントだけの文字幅を返すが、 GetCharABCWidthsFloat 関数はあらゆるフォントの文字幅を取

    得する。この関数では、幅は IEEE の浮動小数点形式で返される。
    現在のワールドからデバイスへの変換が識別されていない場合は、デバイス空間の値に整数が対応しても、その幅は整数以外の値で返さ

    れる場合がある。
    A 間隔はグリフを置く前にカレントポジションに追加する距離である。B 間隔はグリフの黒い部分の幅である。C 間隔はグリフの右側に空白部

    分を加えるためにカレントポジションに追加する距離である。 総送り幅は A+B+C で求められる。
    ABC の間隔は選択されたフォントの文字ベースラインに沿って測定される。
    既定文字の ABC 幅は現在選択されているフォントの範囲外の文字に対して使われる。