IFIMETRICS 構造体 (winddi.h)

IFIMETRICS 構造体は、GDI が使用できる特定の書体の情報を定義します。

構文

typedef struct _IFIMETRICS {
  ULONG   cjThis;
  ULONG   cjIfiExtra;
  PTRDIFF dpwszFamilyName;
  PTRDIFF dpwszStyleName;
  PTRDIFF dpwszFaceName;
  PTRDIFF dpwszUniqueName;
  PTRDIFF dpFontSim;
  LONG    lEmbedId;
  LONG    lItalicAngle;
  LONG    lCharBias;
  PTRDIFF dpCharSets;
  BYTE    jWinCharSet;
  BYTE    jWinPitchAndFamily;
  USHORT  usWinWeight;
  ULONG   flInfo;
  USHORT  fsSelection;
  USHORT  fsType;
  FWORD   fwdUnitsPerEm;
  FWORD   fwdLowestPPEm;
  FWORD   fwdWinAscender;
  FWORD   fwdWinDescender;
  FWORD   fwdMacAscender;
  FWORD   fwdMacDescender;
  FWORD   fwdMacLineGap;
  FWORD   fwdTypoAscender;
  FWORD   fwdTypoDescender;
  FWORD   fwdTypoLineGap;
  FWORD   fwdAveCharWidth;
  FWORD   fwdMaxCharInc;
  FWORD   fwdCapHeight;
  FWORD   fwdXHeight;
  FWORD   fwdSubscriptXSize;
  FWORD   fwdSubscriptYSize;
  FWORD   fwdSubscriptXOffset;
  FWORD   fwdSubscriptYOffset;
  FWORD   fwdSuperscriptXSize;
  FWORD   fwdSuperscriptYSize;
  FWORD   fwdSuperscriptXOffset;
  FWORD   fwdSuperscriptYOffset;
  FWORD   fwdUnderscoreSize;
  FWORD   fwdUnderscorePosition;
  FWORD   fwdStrikeoutSize;
  FWORD   fwdStrikeoutPosition;
  BYTE    chFirstChar;
  BYTE    chLastChar;
  BYTE    chDefaultChar;
  BYTE    chBreakChar;
  WCHAR   wcFirstChar;
  WCHAR   wcLastChar;
  WCHAR   wcDefaultChar;
  WCHAR   wcBreakChar;
  POINTL  ptlBaseline;
  POINTL  ptlAspect;
  POINTL  ptlCaret;
  RECTL   rclFontBox;
  BYTE    achVendId[4];
  ULONG   cKerningPairs;
  ULONG   ulPanoseCulture;
  PANOSE  panose;
  PVOID   Align;
} IFIMETRICS, *PIFIMETRICS;

メンバー

cjThis

この構造体のサイズをバイト単位で指定します。 指定したサイズには、この構造体の末尾に追加された Unicode 文字列と、オプションの IFIEXTRA 構造体のサイズ (バイト単位) が含まれます。

cjIfiExtra

この IFIMETRICS 構造体に続く IFIEXTRA 構造体のサイズをバイト単位で指定します。 値が 0 の場合、IFIEXTRA 構造体が存在しません。

dpwszFamilyName

フォントのファミリ名 ("Times Roman" など) を含む null で終わる Unicode 文字列へのオフセットをバイト単位で指定します。 通常、この文字列は IFIMETRICS 構造体の直後にあります。 この文字列は、Win32 LOGFONT 構造体の lfFaceName メンバーに記録されている名前と同じである必要があります。

dpwszStyleName

フォントのスタイルを記述する null で終わる Unicode 文字列へのオフセットをバイト単位で指定します (例: "Bold")。

dpwszFaceName

フォントの一意の完全な名前を表す null で終わる Unicode 文字列へのオフセットをバイト単位で指定します。 この名前には、フォントのファミリ名とサブファミリー名 ("Times New Roman Bold" など) が含まれます。

dpwszUniqueName

フォントの一意識別子 ("Monotype:Times New Roman:1990" など) を表す null で終わる Unicode 文字列へのオフセットをバイト単位で指定します。

dpFontSim

この IFIMETRICS 構造体の先頭から、フォントがサポートするシミュレーションを記述する FONTSIM 構造体までのオフセットをバイト単位で指定します。 ドライバーは、フォントが太字、斜体、または太字斜体シミュレーションをサポートしている場合にのみ、このメンバーを 0 以外の値に設定する必要があります。それ以外の場合、ドライバーはこれを 0 に設定する必要があります。

フォントが設計上斜体の場合、ドライバーは斜体シミュレーションのフォントサポートを示すべきではありませんが、太字の斜体シミュレーションのフォントサポートを示すことができます。 同様に、フォントがデザインで太字の場合、ドライバーは太字シミュレーションのフォントサポートを示すべきではありませんが、太字斜体シミュレーションのフォントサポートを示すことができます。 フォントが太字と斜体の両方のデザインの場合、シミュレーションはサポートされません。

FONTSIM 構造体のオフセットは、 FONTSIM 構造体のベースを基準とします。

lEmbedId

フォントの埋め込み ID を指定します。 この値は TrueType 固有であり、他のすべてのフォント プロバイダーで 0 に設定する必要があります。

lItalicAngle

フォントの斜体の角度を指定します。 この値は TrueType 固有であり、他のすべてのフォント プロバイダーで 0 に設定する必要があります。

lCharBias

文字バイアスを指定します。 この値は TrueType 固有であり、他のすべてのフォント プロバイダーで 0 に設定する必要があります。

dpCharSets

この IFIMETRICS 構造体の先頭から、このフォントでサポートされているすべての Windows 文字セットのリストを含む配列へのオフセットを指定します。 配列のサイズは 16 バイトで、常に DEFAULT_CHARSET で終了します。 配列の最初の値は、フォントで最も完全で完全なカバレッジを持つ Windows 文字セットを識別する必要があります。この値は jWinCharSet にも格納する必要があります。 たとえば、これが US ANSI とキリル文字セットもサポートする日本語フォントの場合、 jWinCharSet を SHIFTJIS_CHARSET に設定する必要があり、 dpCharSets で識別される配列には、SHIFTJIS_CHARSET、ANSI_CHARSET、RUSSIAN_CHARSET、DEFAULT_CHARSETが含まれます。

このフォントで複数の Windows 文字セットがサポートされていない場合は、 dpCharSets を 0 に設定する必要があります。

jWinCharSet

このフォントで最もサポートされている文字セットを識別します。 フォントで 1 つの Windows 文字セットのみがサポートされている場合、ドライバーは対応する値を jWinCharSet に格納する必要があります。 ドライバーは、このフィールドにDEFAULT_CHARSETを格納しないでください。 このメンバーには、次のいずれかの値を指定できます。

意味
ANSI_CHARSET このフォントは、Windows ANSI 文字セットをサポートしています。
ARABIC_CHARSET このフォントはアラビア文字セットをサポートしています。
BALTIC_CHARSET このフォントは、バルト文字セットをサポートしています。
CHINESEBIG5_CHARSET このフォントは、繁体字中国語 (Big 5) 文字セットをサポートしています。
EASTEUROPE_CHARSET このフォントは、東ヨーロッパ文字セットをサポートしています。
GB2312_CHARSET このフォントは、簡体字中国語 (PRC) 文字セットをサポートしています。
GREEK_CHARSET このフォントはギリシャ文字セットをサポートしています。
HANGEUL_CHARSET このフォントは、韓国語 (ハングル) 文字セットをサポートしています。
HEBREW_CHARSET このフォントはヘブライ語の文字セットをサポートしています。
JOHAB_CHARSET このフォントは、韓国語 (Johab) 文字セットをサポートしています。
OEM_CHARSET このフォントは、OEM 固有の文字セットをサポートしています。 OEM 文字セットはシステムに依存します。
SHIFTJIS_CHARSET このフォントは、Shift-JIS (日本語業界標準) 文字セットをサポートしています。
SYMBOL_CHARSET このフォントは、Windows シンボル文字セットをサポートしています。
RUSSIAN_CHARSET このフォントはキリル文字セットをサポートしています。
THAI_CHARSET このフォントは、タイ語の文字セットをサポートしています。
TURKISH_CHARSET このフォントは、トルコ語の文字セットをサポートしています。
VIETNAMESE_CHARSET このフォントは、ベトナム文字セットをサポートしています。

jWinPitchAndFamily

フォントのピッチを指定します。 2 つの下位ビットはフォントのピッチを指定し、次のいずれかの値を指定できます。

意味
FIXED_PITCH 固定ピッチ フォントの場合
VARIABLE_PITCH 可変ピッチ フォントの場合
 

このメンバーのビット 4 から 7 はフォント ファミリを指定し、次のいずれかの値を指定できます。

意味
FF_DECORATIVE 古い英語などのノベルティ フォント。
FF_DONTCARE 気にしたり、不明にしたりしないでください。
FF_MODERN 一定のストローク幅 (固定ピッチ)、セリフの有無にかかわらずフォント。 通常、固定ピッチフォントは、Pica、Elite、Courier などのモダンフォントです。
FF_ROMAN 可変ストローク幅 (比例間隔) とセリフ (タイムズ ローマン、パラティーノ、世紀の学校ブックなど) を含むフォント。
FF_SCRIPT スクリプトや筆記体など、手書きのようにデザインされたフォント。
FF_SWISS 可変ストローク幅 (比例間隔) を持ち、セリフを使用しないフォント (Helvetica や Swiss など)。

usWinWeight

フォントの太さを 0 ~ 1000 の範囲で指定します (たとえば、400 は標準、700 は太字)。 この値は、Win32 LOGFONT 構造体の lfWeight メンバーでアプリケーションに提供されます。

flInfo

フォントに関する追加情報を指定します。 このフィールドには、次のフラグ値の組み合わせを指定できます。

FM_INFO_1BPP

グリフ ビットマップの色深度がピクセルあたり 1 ビットであることを示します。 Windows NTの最初のバージョンである Windows NT 3.1 では、このフラグを設定する必要があります。

FM_INFO_4BPP

グリフ ビットマップの色深度がピクセルあたり 4 ビットであることを示します。 フォントで 16 レベルの灰色のアンチエイリアシングされたグリフ ビットマップがサポートされている場合、ドライバーはこれを設定する必要があります。

FM_INFO_8BPP

グリフ ビットマップの色深度がピクセルあたり 8 ビットであることを示します。 現在のバージョンの GDI では、カラー フォントがサポートされていないため、この設定は無視されます。

FM_INFO_16BPP

グリフ ビットマップの色深度がピクセルあたり 16 ビットであることを示します。 現在のバージョンの GDI では、カラー フォントがサポートされていないため、この設定は無視されます。

FM_INFO_24BPP

グリフ ビットマップの色深度がピクセルあたり 24 ビットであることを示します。 現在のバージョンの GDI では、カラー フォントがサポートされていないため、この設定は無視されます。

FM_INFO_32BPP

グリフ ビットマップの色深度がピクセルあたり 32 ビットであることを示します。 現在のバージョンの GDI では、カラー フォントがサポートされていないため、この設定は無視されます。

FM_INFO_90DEGREE_ROTATIONS

元の概念図形の 90 度回転でフォントを実現できることを示します。 GDI は、フォントの作成時にドライバーに渡されるデバイス変換に対する概念の回転を含めることで、フォントの回転を要求します。 このメンバーは、FM_INFO_ARB_XFORMS フラグが設定されていない場合にのみ意味を持ちます。

FM_INFO_ANISOTROPIC_SCALING_ONLY

フォントが任意の異方性スケーリングのみをサポートすることを示します。 つまり、変換は、正の実数を乗算した対角線行列に相当します。 このフラグが設定されている場合は、FM_INFO_ARB_XFORMSフラグとFM_INFO_ISOTROPIC_SCALING_ONLYフラグを設定できません。 FM_INFO_90DEGREE_ROTATIONS フラグも設定されている場合、フォントでは、単純な異方性スケーリングと 90 度の倍数による回転の組み合わせである変換がサポートされます。

FM_INFO_ARB_XFORMS

2 次元線形変換の連続範囲でフォントを実現できることを示します。

FM_INFO_CONSTANT_WIDTH

すべての実現におけるフォントのすべてのグリフの文字増分値が同じであることを示します。 このフラグが設定されている場合は、FM_INFO_OPTICALLY_FIXED_PITCH フラグも設定する必要があります。

FM_INFO_DBCS_FIXED_PITCH

このフォントの 2 バイト文字が固定ピッチであることを示します。 1 バイト文字については何も意味しません。 このフラグは、シフト JIS などの 2 バイト文字セット (DBCS) をサポートするフォントに対してのみ意味があります。 DBCS をサポートしていないフォントでは、このフラグを設定しないでください。

FM_INFO_DO_NOT_ENUMERATE

このフォントが Win32 EnumFontFamiliesExEnumFontFamilies 、または EnumFonts ルーチンによって列挙されないことを示します。 さらに、 GetTextFace の Win32 アプリケーション呼び出しに返される文字列は、文字列 dpwszUniqueName から取得されます。 このフラグを使用すると、フォント プロバイダーは複数の IFIMETRICS 構造体をいずれかのフォントに関連付けることができます。

FM_INFO_DSIG

フォントが Unicode 標準に準拠していることを示します。

FM_INFO_FAMILY_EQUIV

IFIMETRICS の dpwszFamilyName オフセットが、実際には同等のファミリ名または別名のリストへのオフセットであることを示します。 名はベースまたは実名です。後続の名前は同等または別名です。 リスト内の各名前は null で終わる。リストは 2 つのゼロで終了します。

<基本名><0<>エイリアス 1><0>...<alias n>
<0><0>

ベースの名前はマッピングにのみ使用されます。これらは列挙されません。

FM_INFO_IGNORE_TC_RA_ABLE

このフォントでは、TC_RA_ABLE フラグが無視されることを示します。

FM_INFO_INTEGER_WIDTH

すべてのグリフに、非違反の進み幅があることを示します。 ビットマップ フォントは通常、このフラグを設定します。

FM_INFO_INTEGRAL_SCALING

フォントを x 方向と y 方向の両方で整数でスケーリングできることを示します。 このフラグが設定されている場合、ドライバーは、デバイス変換に対する概念が x 方向と y 方向の整数の量でスケーリングされる場合にグリフをレンダリングできる必要があります。 GDI は、フォントの作成時にドライバーに渡されるデバイス変換に対する概念的な軸スケーリングを含めることで、フォントの整数スケーリングを要求します。 このフラグは、FM_INFO_ARB_XFORMS フラグが設定されていない場合にのみ意味があります。

FM_INFO_ISOTROPIC_SCALING_ONLY

フォントが任意の等方スケーリングのみをサポートすることを示します。 つまり、変換は、正の実数を乗算した ID 行列に相当します。 このフラグが設定されている場合、FM_INFO_ARB_XFORMSフラグもFM_INFO_ANISOTROPIC_SCALING_ONLYフラグも設定できません。 FM_INFO_90DEGREE_ROTATIONS フラグが設定されている場合、フォントは等方スケーリングに相当する変換をサポートし、その後に 90 度の倍数で回転します。

FM_INFO_OPTICALLY_FIXED_PITCH

このフォントが固定ピッチと見なされることを示します。 これはフォントの光学式品質であり、フォントのすべてのグリフが同じ文字増分を持っていることを必ずしも示すわけではありません。

FM_INFO_NONNEGATIVE_AC

このフォントのすべてのグリフに負でない ac の間隔があることを示します。 つまり、グリフのブラック ボックスは、文字の原点と文字連結ポイントで囲まれた領域の外側に拡張されることはありません。

FM_INFO_NOT_CONTIGUOUS

サポートされている文字セットが連続しないことを示します。

FM_INFO_RETURNS_BITMAPS

フォントに有効なデジタル署名が含まれていることを示します。

FM_INFO_RETURNS_OUTLINES

ドライバーでサポートされているグリフについて、GDI がそのグリフのアウトラインを記述する PATHOBJ 構造体を要求できることを示します。 可能な場合は、GDI のパスの塗りつぶし規則を使用してアウトラインを塗りつぶすとき、結果のビットマップは、ドライバーによって返されるビットマップと同じである必要があります。 FM_INFO_RETURNS_OUTLINESフラグとFM_INFO_RETURNS_STOKES フラグを同時に設定することはできません。

FM_INFO_RETURNS_STROKES

ドライバーでサポートされているグリフについて、GDI がグリフのスプラインを記述する PATHOBJ 構造体を要求できることを示します。 このパスは塗りつぶすことはできませんが、グリフの表現を与えるためにストロークすることができます。 FM_INFO_RETURNS_OUTLINESフラグとFM_INFO_RETURNS_STOKES フラグを同時に設定することはできません。

FM_INFO_RIGHT_HANDED

フォントの上向き方向がベースラインの方向から反時計回りに 90 度であることを示します。 上昇方向は、高さが測定される方向であり、常にベースラインの方向に垂直です。

FM_INFO_TECH_BITMAP

フォントがビットマップ フォントであることを示します。

FM_INFO_TECH_CFF

フォントが、コンパクト フォント形式 (CFF) テーブルを含む Pscript OpenType フォントであることを示します。

FM_INFO_TECH_MM

これがマルチ マスター (MM) フォントであることを示します。

FM_INFO_TECH_OUTLINE_NOT_TRUETYPE

フォントが、アウトライン パスを使用するスケーラブルなフォント テクノロジに基づいているが、TrueType に基づいていないことを示します。 このフラグは、このフォントに対して返されるパスを塗りつぶすかストロークするかを指定しません。コンシューマーは、この情報のFM_INFO_RETURNS_STROKESフラグとFM_INFO_RETURNS_OUTLINES フラグを調べる必要があります。

FM_INFO_TECH_STROKE

フォントがストロークされたフォント テクノロジに基づいていることを示します。 このフラグは、このフォントに対して返されるパスを塗りつぶすかストロークするかを指定しません。コンシューマーは、この情報のFM_INFO_RETURNS_STROKESとFM_INFO_RETURNS_OUTLINESフラグを調べる必要があります。

FM_INFO_TECH_TRUETYPE

フォントが TrueType フォントであることを示します。

FM_INFO_TECH_TYPE1

このフォントが PostScript 画面フォント (Type1 または OpenType PostScript) であることを示します。

fsSelection

次のフラグの組み合わせを指定します。

意味
FM_SEL_BOLD フォントの文字が太字の場合に設定します。
FM_SEL_ITALIC フォントの文字が斜体の場合に設定します。
FM_SEL_NEGATIVE フォントの文字の前景と背景が逆の場合に設定します。
FM_SEL_OUTLINED フォントの文字が白抜きになっている場合に設定します。
FM_SEL_REGULAR フォントの文字が通常の太さである場合に設定します。
FM_SEL_STRIKEOUT フォントの文字が既定で取り消される場合に設定します。それ以外の場合は、取り消し線をシミュレートする必要があります。
FM_SEL_UNDERSCORE フォントのすべての文字が既定でアンダースコアになっている場合に設定します。それ以外の場合は、アンダースコアリングをシミュレートする必要があります。

fsType

これは、フォントの埋め込みやフォントのライセンス権など、フォントの特定のプロパティを示す TrueType 固有のビットフィールドです。 埋め込み可能なフォントは、ドキュメントに格納できます。 フォントがインストールされていないシステム (リモート システム) で埋め込みフォントを含むドキュメントを開くと、埋め込み対応アプリケーションによって、埋め込みフォントを一時的に (場合によっては永続的に) そのシステムで使用するために読み込むことができます。 埋め込みライセンス権限は、フォント ベンダーによって付与されます。 次のフラグを設定できます。

意味
FM_EDITABLE_EMBED フォントを埋め込み、他のシステムに一時的に読み込むことができるかどうかを設定します。 編集可能なフォントを含むドキュメントは、読み書き用に開くことができます。
FM_READONLY_EMBED 読み取り/書き込み埋め込みが許可されていない場合に設定します。"プレビューと印刷" カプセル化のみが許可されます。 このビットを設定すると、フォントを埋め込み、リモート システムに一時的に読み込むことができます。 "プレビューと印刷" フォントを含むドキュメントは、"読み取り専用"で開く必要があります。ドキュメントに編集を適用することはできません。
FM_TYPE_LICENSED
FM_NO_EMBEDDING
フォントが制限付きライセンス フォントの場合に設定します。 このビットのみが設定されている場合は、最初に法的所有者の許可を得ることなく、このフォントを 変更、埋め込み、または交換することはできません 。 制限付きライセンス埋め込みを有効にするには、選択した埋め込みの唯一のレベルである必要があります。
 

FM_READONLY_EMBED ビット セットを持つフォントは、ドキュメント内に埋め込むことができるが、リモート システム に一時的にのみ インストールする必要があることを示します。 FM_READONLY_EMBEDフォントを含むドキュメントは、"読み取り専用" で開く必要があります。つまり、アプリケーションはユーザーにドキュメントの表示や印刷を許可できますが、編集することはできません。

FM_EDITABLE_EMBED ビット セットを持つフォントは、ドキュメントに埋め込むことができるが、リモート システム に一時的にのみ インストールする必要があることを示します。 FM_READONLY_EMBEDフォントとは異なり、編集可能なフォントを含むドキュメントは"読み取り/書き込み;" 編集が許可され、変更を保存できます。

fsType ビットが設定されていないフォントは、アプリケーションによってリモート システムに埋め込んで永続的にインストールできることを示します。 リモート システムのユーザーは、フォントの元の購入者と同じ権利、義務、ライセンスを取得し、元の購入者と同じエンドユーザー使用許諾契約書、著作権、デザイン特許、および/または商標の対象となります。

フォント埋め込み DLL を使用するか、他の方法を使用して、フォント埋め込みのサポートを実装するアプリケーションは、埋め込みを許可するライセンスのないフォントを埋め込む必要があります。 また、埋め込みフォントを一時的に使用するために読み込むアプリケーションでは、埋め込みフォントを含むドキュメントを閉じるときにフォントを削除する 必要があります

複数の埋め込みビットが設定されている場合は、付与された 最も制限の厳しい ライセンスが優先されます。 たとえば、ビット 1 と 3 が設定されている場合、ビット 3 はビット 1 よりも優先され、フォントは編集可能な権限で埋め込むことができます。 互換性のために、編集可能な埋め込み権限を付与するほとんどのベンダーは、プレビュー & 印刷ビット (0x000C) も設定します。 これにより、Preview & Print Embedding のみをサポートするアプリケーションで、フォントの埋め込みが許可されていることを検出できます。

fwdUnitsPerEm

フォントの高さを指定します。

fwdLowestPPEm

フォントの読み取り可能な最小サイズをピクセル単位で指定します。 ビットマップ フォントの場合、この値は無視されます。

fwdWinAscender

フォントの Windows アセンダー値を指定します。

fwdWinDescender

フォントの Windows の降順の値を指定します。

fwdMacAscender

フォントの Macintosh アセンダー値を指定します。

fwdMacDescender

フォントの Macintosh ディセンダー値を指定します。 通常、この数値は 0 未満です。 Macintosh 文字セット内の最下位の降順の基準線からの符号付き変位を測定します。

fwdMacLineGap

フォントの Macintosh 行間を指定します。 推奨される Macintosh の行間の間隔は 、fwdMacLineGap + fwdMacAscender - fwdMacDescender と同じです。

fwdTypoAscender

フォントの文字体裁アセンダー値を指定します。

fwdTypoDescender

フォントの文字体裁の降順の値を指定します。 この値は、ベースラインから最も低いディセンダーの符号付き変位を指定します。

fwdTypoLineGap

フォントの文字体裁の線の間隔を指定します。

fwdAveCharWidth

ラテン文字とスペース文字の 26 文字の小文字 'a' から 'z' の幅の算術平均を指定します。 26 文字の小文字のいずれかが存在しない場合、このメンバーはフォント内のすべてのグリフの加重平均に等しく設定する必要があります。

fwdMaxCharInc

フォント内のすべてのグリフの最大文字数を指定します。

fwdCapHeight

大文字の 'H' の先頭を表す光回線の高さをフォント単位 (FUnits) で指定します。 これは、大文字の 'H' の測定された高さと同じではない可能性があります。 この情報が存在しない場合は、 fwdCapHeight を 0 に設定する必要があります。これは、未定義であることを示します。

fwdXHeight

小文字の 'x' の高さをフォント単位で表す光回線の高さを指定します。 これは、小文字の 'x' の測定された高さと同じではない可能性があります。 値 0 は、このメンバーが未定義であることを示します。

fwdSubscriptXSize

下付き文字フォントの推奨文字幅 (ベースライン方向に沿ったサイズ) を指定します。

fwdSubscriptYSize

下付き文字フォントの推奨文字の高さ (アセンダーの方向に沿ったサイズ) を指定します。

fwdSubscriptXOffset

下付き文字のベースライン方向に推奨されるオフセットを指定します。 オフセットは、基本文字の文字の原点に対してです。

fwdSubscriptYOffset

下付き文字のベースライン方向に推奨されるオフセットを指定します。 オフセットは、基本文字の文字の原点から取得されます。

fwdSuperscriptXSize

上付き文字フォントの推奨される文字幅 (ベースライン方向に沿ったサイズ) を指定します。

fwdSuperscriptYSize

上付き文字フォントの推奨文字の高さ (アセンダーの方向に沿ったサイズ) を指定します。

fwdSuperscriptXOffset

上付き文字のベースライン方向に推奨されるオフセットを指定します。 オフセットは、基本文字の文字の原点から取得されます。

fwdSuperscriptYOffset

上付き文字のベースライン方向に推奨されるオフセットを指定します。 オフセットは、基本文字の文字の原点から取得されます。

fwdUnderscoreSize

アンダースコア バーの推奨幅をフォント単位で指定します。

fwdUnderscorePosition

ベース ラインからアンダースコア バーの中央までの推奨されるディスプレイスメントをフォント単位で指定します。

fwdStrikeoutSize

取り消し線の幅をフォント座標で指定します。

fwdStrikeoutPosition

ベースラインからの取り消し線バーの中央の推奨される変位を指定します。

chFirstChar

jWinCharSet で指定されたコード ページでサポートされる最も低い文字を指定します。 このフィールドは、Windows 3.1 の互換性のために提供されています。

chLastChar

jWinCharSet で指定されたコード ページでサポートされる最大文字を指定します。 このフィールドは、Windows 3.1 の互換性のために提供されています。

chDefaultChar

jWinCharSet で指定されたコード ページの既定の文字を指定します。 このフィールドは、Windows 3.1 の互換性のために提供されています。

chBreakChar

jWinCharSet で指定されたコード ページの区切り文字を指定します。 このフィールドは、Windows 3.1 の互換性のために提供されています。

wcFirstChar

サポートされている文字を、最小の Unicode 文字コードで指定します。

wcLastChar

サポートされている文字を最大の Unicode 文字コードで指定します。

wcDefaultChar

アプリケーションがフォントでサポートされていない文字を要求するときに置き換える文字を指定します。

wcBreakChar

スペース文字またはその同等のコード ポイントを指定します。

ptlBaseline

このフォントの書き込み方向を含む POINTL 構造体を指定します。 たとえば、一般的なラテンフォントでは、値 (1,0) を指定します。

ptlAspect

ビットマップ フォントが設計されたピクセル中心の縦横比を含む POINTL 構造体を指定します。 この値は、ビットマップ フォントでのみ使用されます。

ptlCaret

フォントのアセンダー方向の方向を含む POINTL 構造体を指定します。 たとえば、非イタリア語のラテンフォントの値は (0,1) で、斜体のラテンフォントでは値 (2,5) を指定できます。

rclFontBox

デザイン空間内のフォント内のすべてのグリフの境界ボックスを記述する RECTL 構造体を指定します。

achVendId[4]

フォント ベンダーの 4 文字識別子を指定します。 識別子は、Microsoft TrueType 仕様に記載されています。

cKerningPairs

このフォントに関連付けられているカーニング ペアの数を指定します。

ulPanoseCulture

パノース番号を解釈する方法を指定します。 この数値は、ラテン語ベースのフォントのFM_PANOSE_CULTURE_LATINに設定する必要があります。 PANOSE 構造の詳細については、Microsoft Window SDK のドキュメントを参照してください。

panose

指定された書体の視覚的特性を記述するために使用される 10 バイトの配列です。 次に、これらの特性を使用して、異なる名前を持つ類似した外観の他のフォントにフォントを関連付けます。 PANOSE 構造の詳細については、Window SDK のドキュメントを参照してください。

Align

このメンバーは、_WIN64定数が定義されている場合にのみ定義されます。 その唯一の目的は、この構造が Itanium アーキテクチャの下で正しく配置されるようにすることです。

注釈

書体の追加情報は、必要に応じて IFIEXTRA 構造体で指定できます。

ドライバーの DrvQueryFont ルーチンが入力し、GDI に IFIMETRICS 構造体を返します。

IFIMETRICS 構造体は、GDI が認識する書体のすべての情報を定義します。 ほとんどのメンバーは FWORD 値であり、デザイン空間では 16 ビットの数量に署名されています。 フォントがラスター フォントの場合、デザイン空間とデバイス領域は同じであり、フォント単位はピクセル間の距離と同じです。

フォント/概念空間の座標系は、y 座標が上方向に増加し、x 座標が右側に増加するように設定されます。

IFIMETRICS 構造体の Align メンバーを使用すると、x32 マシンの場合よりも x64 マシンの方が大きくなり、この構造に従って書式設定されたバイナリ フォント形式ファイルの影響を受けます。 Windows Server 2003 SP1 以降、Prntfont.h: PRINTIFI32に固定サイズの構造体が追加されました。 PRINTIFI32構造体は、 Align メンバーが含まれていない点を除き、IFIMETRICS 構造体と同じです。

要件

要件
Header winddi.h (Winddi.h を含む)

こちらもご覧ください

DrvQueryFont

IFIEXTRA

PATHOBJ