次の方法で共有


WIDTHRUN 構造体 (prntfont.h)

WIDTHRUN 構造体は、 Unidrv フォント メトリック ファイル (.ufm ファイル) の内容を定義するために使用されます。

構文

typedef struct _WIDTHRUN {
  WORD  wStartGlyph;
  WORD  wGlyphCount;
  DWORD loCharWidthOffset;
} WIDTHRUN, *PWIDTHRUN;

メンバーズ

wStartGlyph

幅実行の最初のグリフを示すインデックス値です。

wGlyphCount

幅実行で表されるグリフの数を指定します。

loCharWidthOffset

WIDTHTABLE 構造体の先頭から、幅実行に含まれるグリフのセットの幅を含む位置までのオフセットを指定します。

備考

幅実行は、隣接する一連のグリフの幅を表します。 幅実行のセットは、WIDTHRUN 要素の配列によって記述されます。 配列は、WIDTHTABLE 構造体に含まれています。

dwStartGlyph に含まれるインデックス値は整数で、1 から始まり、フォント内の各グリフにインデックスが付けられます。 つまり、フォントの最初のグリフにはインデックス値 1 が割り当てられ、次のグリフのインデックスは 2 になります。

たとえば、WIDTHRUN 配列の最初の 3 つの要素に次の値が含まれているとします。

wStartGlyphwGlyphCountIoCharWidthOffset=xxx

wStartGlyphwGlyphCountIoCharWidthOffset=yyy

wStartGlyphwGlyphCountIoCharWidthOffsetzzz オフセット xxx: 56, 50, 60 (WORD サイズ)

オフセット yyy: 54,60

オフセット zzz: 54、60、43、40

この例では、フォントの最初の 3 つのグリフの幅は、WIDTHTABLE+xxx位置の配列に含まれています。次の 2 つのグリフの幅は、WIDTHTABLE+yyy位置の配列に格納され、次の 4 つのグリフの幅は、WIDTHTABLE+zzzの位置にある配列に含まれています。

デバイス フォントが比例していて、可変ピッチ文字がある場合、WIDTHTABLE 構造体の WidthRun 配列には WIDTHRUN 要素が 1 つだけ含まれており、WIDTHTABLE+loCharWidthOffset はフォント内のすべての文字の文字幅配列を指します。

Western デバイス フォントの場合、文字幅が WIDTHTABLE 構造体を使用して指定されていない場合、IFIMETRICS 構造体の fwdAveCharWidth メンバーが 1 バイト文字の幅を決定するために使用されます。

東アジアのデバイス フォントの場合、fwdAveCharWidthfwdMaxCharInc メンバーは、1 バイト文字と 2 バイト文字の幅を決定するために使用されます。 フォントがプロポーショナルの場合、フォントの .ufm ファイルには、比例グリフの WIDTHTABLE 構造体が含まれている必要があります。

必要条件

要件 価値
ヘッダー prntfont.h (Prntfont.h を含む)

関連項目

IFIMETRICS する

WIDTHTABLE する