PRINTIFI32 構造体 (prntfont.h)

PRINTIFI32構造体は 、IFIMETRICS 構造体の固定サイズ バージョンであり、GDI が使用できる特定の書体の情報を定義します。

構文

typedef struct _PRINTIFI32 {
  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;
} PRINTIFI32, *PPRINTIFI32;

メンバー

cjThis

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

cjIfiExtra

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

dpwszFamilyName

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

dpwszStyleName

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

dpwszFaceName

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

dpwszUniqueName

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

dpFontSim

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

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

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

lEmbedId

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

lItalicAngle

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

lCharBias

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

dpCharSets

このフォントでサポートされているすべての 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 3.1 の場合、Windows NTの最初のバージョンでは、このフラグを設定する必要があります。

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 から取得されます。 このフラグを使用すると、フォント プロバイダーは複数のPRINTIFI32構造をいずれかのフォントに関連付けることができます。

FM_INFO_DSIG

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

FM_INFO_FAMILY_EQUIV

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

<base name> <alias 0> <alias 1> ... <alias n>

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

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) も設定します。 これにより、プレビュー & 印刷埋め込みのみをサポートするアプリケーションで、フォントの埋め込みが許可されていることを検出できます。

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 のドキュメントを参照してください。

注釈

PRINTIFI32構造は、Windows Server 2003 SP1 以降で使用できます。 この構造は固定サイズであり、アーキテクチャまたはオペレーティング システムのバージョン間で変更されないことが保証されているため、バイナリ ファイル レイアウトに使用できます。 Unidrv UFM ファイルは、すべてのプラットフォームに対して、この構造で説明されている形式でレイアウトされています。 Pscript5 NTF ファイルでは、この構造のプラットフォーム固有のバージョンが使用されます。

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

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

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

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

要件

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

こちらもご覧ください

IFIMETRICS