BOOL CreateFont ( int パラメーター nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, バイト bItalic, バイト bUnderline, バイト cStrikeOut, バイト nCharSet, バイト nOutPrecision, バイト nClipPrecision, バイト nQuality, バイト nPitchAndFamily, LPCTSTR lpszFacename );
戻り値
成功した場合は 0 だ。そうでなければ 0。
パラメーター
パラメーター nHeight
フォントの高さ (論理単位) を指定します。フォントの高さは、次の方法で指定することができます。:
パラメーター nHeightの絶対値は変換後 16,384 のデバイス単位にしなければなりません。すべてのフォントが要求されたサイズを超える場合はすべての高さの比較の場合は、フォント マッパーが要求されたサイズを超えない最大のフォントまたは小さいフォントを検索します。
nWidth
文字の平均の幅 (論理単位) でフォントを指定します。NWidthが 0 の場合は、デバイスの縦横比、差の絶対値によって決まります、最も近い一致を検索するには、使用可能なフォントのデジタル化の縦横比と一致します。
nEscapement
(0.1 度単位)、文字送りベクターとディスプレイ表示面の x 軸の間の角度を指定します。文字送りベクターは、行の最初と最後の文字の起源を行です。角度は x 軸から反時計回りに測定されます。
nOrientation
(0.1 度単位) 文字の基線と x 軸の間の角度を指定します。角度で y 方向と座標系の y 方向は上ですの x 軸から時計回りには座標系の x 軸から反時計回りに測定します。
nWeight
フォントの太さ (ピクセル単位 1000年単位) で指定します。NWeightは、0 から整数値 1000年にすることができますが、共通の定数と値のとおりです。:
| 定数 | 値 |
| FW_DONTCARE | 0 |
| FW_THIN | 100 |
| FW_EXTRALIGHT | 200 |
| FW_ULTRALIGHT | 200 |
| FW_LIGHT | 300 |
| FW_NORMAL | 400 |
| FW_REGULAR | 400 |
| FW_MEDIUM | 500 |
| FW_SEMIBOLD | 600 |
| FW_DEMIBOLD | 600 |
| FW_BOLD | 700 |
| FW_EXTRABOLD | 800 |
| FW_ULTRABOLD | 800 |
| FW_BLACK | 900 |
| FW_HEAVY | 900 |
これらの値は近似値である;実際の外観は、タイプフェイスによって異なります。一部のフォントはFW_NORMAL、 FW_REGULAR、およびFW_BOLD重みがあります。FW_DONTCAREが指定されている場合は、既定のウエイトが使用されます。
bItalic
フォントが斜体かどうかを指定します。
bUnderline
フォントが下線付きかどうかを指定します。
cStrikeOut
フォントの文字が三振だかどうかを指定します。場合は、取り消し線フォントを指定しますが 0 以外の値に設定。
nCharSet
フォントの文字セットを指定します。次の定数と値があらかじめ定義されています:
| 定数 | 値 |
| ANSI_CHARSET | 0 |
| DEFAULT_CHARSET | 1 |
| SYMBOL_CHARSET | 2 |
| SHIFTJIS_CHARSET | 128 |
| OEM_CHARSET | 255 |
OEM 文字セットをシステムに依存します。
その他の文字セットのフォントがシステムに存在可能性があります。不明な文字セットのフォントを使用するアプリケーションは、翻訳またはそのフォントを使用して文字列を解釈できません。代わりに、文字列出力デバイス ドライバーに直接渡される必要があります。
フォント マッパーは、 DEFAULT_CHARSET値を使用しません。アプリケーションは、論理フォントを完全に記述するのにフォントのサイズと名前を許可するのにこの値を使用できます。指定された名前のフォントが存在しない場合は、任意の文字セットからのフォント指定のフォントを代用できます。予期しない結果を回避するには、アプリケーション、 DEFAULT_CHARSET値を控えめに使用する必要があります。
nOutPrecision
必要な出力精度を指定します。出力精度は、実際の出力が、要求されたフォントの高さ、幅、文字の方向、文字送り、およびピッチにどの程度一致する必要がありますを定義します。それは、次の値のいずれかをすることができます。:
| OUT_CHARACTER_PRECIS | OUT_STRING_PRECIS |
| OUT_DEFAULT_PRECIS | OUT_STROKE_PRECIS |
| OUT_DEVICE_PRECIS | OUT_TT_PRECIS |
| OUT_RASTER_PRECIS |
アプリケーションでは、 OUT_DEVICE_PRECIS、 OUT_RASTER_PRECIS、およびOUT_TT_PRECISの値を使用して、システムに 1 つ以上のフォントを指定された名前が含まれる場合に、フォント マッパー、フォントを選択する方法を制御することができます。たとえば、システム フォントのラスターおよび TrueType 形式でのシンボルの名前を含む場合は、 OUT_TT_PRECISを指定する TrueType バージョンを選択するには、フォント マッパーを強制的します。( OUT_TT_PRECISの指定がない場合でも、同じ名前の TrueType フォントは、指定されたフォント名デバイスと一致するときに TrueType フォントまたはラスター フォントを選択するには、フォント マッパー強制的)。
nClipPrecision
目的のクリッピング精度を指定します。クリッピング精度は、一部がクリッピング領域の外にある文字をクリップする方法を定義します。それは、次の値のいずれかをすることができます。:
| CLIP_CHARACTER_PRECIS | CLIP_MASK |
| CLIP_DEFAULT_PRECIS | CLIP_STROKE_PRECIS |
| CLIP_ENCAPSULATE | CLIP_TT_ALWAYS |
| CLIP_LH_ANGLES |
埋め込み読み取り専用フォントを使用するには、アプリケーションCLIP_ENCAPSULATEを指定する必要があります。
一貫性のある回転デバイス、TrueType とベクター フォントを達成するには、アプリケーションCLIP_LH_ANGLES値、その他のnClipPrecision値のいずれかの結合に OR 演算子を使用することができます。CLIP_LH_ANGLESビットが設定されている場合は、すべてのフォントの回転は座標系の向きが左ききであるかどうかによって異なりますまたは右利き。(座標系の方向については、 nOrientationパラメーターの説明を参照してください)。CLIP_LH_ANGLESが設定されていない場合は、デバイス フォントは常に反時計回りに回転しますが、他のフォントの回転は座標系の向きに依存。
nQuality
どのように慎重に、GDI は実際の物理フォントの論理フォント属性と一致しようとする必要がありますを定義、フォントの出力品質を指定します。次の値の 1 つがそれをすることができます。:
nPitchAndFamily
ピッチとファミリのフォントを指定します。2 つの下位ビット フォントのピッチを指定し、次の値のいずれかをすることができます。:
| DEFAULT_PITCH | VARIABLE_PITCH | FIXED_PITCH |
アプリケーションは、TrueType フォントを選択するには、 nPitchAndFamilyパラメーターにTMPF_TRUETYPEを追加できます。4 つの上位ビットは、パラメーターのフォント ファミリを指定して、次の値のいずれかをすることができます。:
アプリケーションのピッチ定数を家族の定数に参加する、ブール型の OR 演算子を使用して、 nPitchAndFamilyの値を指定できます。
フォント ファミリ、フォントの外観に一般的な方法について説明します。彼らは、必要なタイプフェイスが使用できない場合、フォントを指定することを目的としています。
lpszFacename
フォントのタイプフェイス名を指定する null で終わる文字列へのポインターまたはcstring オブジェクト。この文字列の長さは 30 文字をを超えてはなりません。Windows EnumFontFamilies関数は、すべての現在利用可能なフォントを列挙を使用できます。LpszFacenameがNULLの場合は、デバイスに依存しないフォント、GDI を使用します。
解説
指定した特性でCFontオブジェクトを初期化します。フォントをその後、任意のデバイス コンテキストのフォントとして選択できます。
CreateFont関数では、新しい Windows GDI フォントは作成されません。それだけ近いで gdi の物理フォントの使用可能なフォントから選択します。
アプリケーションは、論理フォントを作成するときにこれらのパラメーターのほとんどは、既定の設定をできます。常に特定の値を与えられるべきパラメーター nHeightとlpszFacenameです。パラメーター nHeightとlpszFacenameによってアプリケーションが設定されていない場合は、作成した論理フォントをデバイス依存です。
CreateFont関数によって作成された、 CFontオブジェクトを終了すると、まず、デバイス コンテキストのフォントを選択し、 CFontオブジェクトを削除。
CFont の概要|nbsp;クラス メンバー |階層図(&N)
参照特価;CFont::CreateFontIndirect、 CFont::CreatePointFont、 :: CreateFont、 :: EnumFontFamilies、 :: EnumFonts(&N)