次の方法で共有


WIDTHRUN 構造体 (prntfont.h)

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

構文

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

メンバー

wStartGlyph

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

wGlyphCount

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

loCharWidthOffset

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

注釈

width run は、隣接するグリフのセットの幅を表します。 幅の実行のセットは、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 構造体を使用して指定されていない場合、1 バイト文字幅を決定するために、IFIMETRICS 構造体の fwdAveCharWidth メンバーが使用されます。

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

要件

要件
Header prntfont.h (Prntfont.h を含む)

こちらもご覧ください

IFIMETRICS

WIDTHTABLE