bool CreateFont ( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, byte bItalic, byte bUnderline, byte cStrikeOut, byte nCharSet, byte nOutPrecision, byte nClipPrecision, byte nQuality, byte nPitchAndFamily, lpctstr lpszFacename );
Dönüş değeri
Sıfır başarılı olursa; Aksi halde 0.
Parametreleri
nHeight
İstenilen Yükseklik (mantıksal birimler) yazı tipi belirler. Yazı tipi yüksekliği aşağıdaki şekillerde belirtilebilir:
O dönüştürüldükten sonra 16,384 cihaz birimleri nHeight mutlak değerini aşmamalıdır. Tüm yazı tiplerini istenen boyutunu aşarsa, tüm yükseklik karşılaştırmalar için istenen boyutunu aşmadığı en büyük yazı tipini veya en küçük yazı tipi yazı tipi Eşleştiricisi görünüyor.
nWidth
Ortalama genişliği (mantıksal birimler) karakter yazı tipini belirtir. NWidth 0 ise, aygıt boyut oranını dijitalleştirme en boy oranı farkı mutlak değeriyle belirlenir en yakın eşleşmeyi bulmak için kullanılabilir yazı tiplerine karşı eşlenmesi.
nEscapement
(0,1 Derece biriminde) maşası vektör ve x ekseni ekran yüzeyi arasındaki açıyı belirtir. Maşası vektör üzerinden bir satırdaki ilk ve son karakterler kökeni çizgidir. Açı Saat yönünün tersine x ekseni ölçülür.
nOrientation
Temel karakter ve x ekseni arasındaki açı (0,1 derece biriminde) belirtir. Açı Saat yönünün tersine dan koordinat sistemleri y-yönü aşağı ve koordinat y-yönü kadar olan sistemler için x ekseni Saat yönünde olduğu için x ekseni ölçülür.
nWeight
(Mürekkeplenmiş piksel cinsinden başına 1000) yazı tipi kalınlığını belirler. Herhangi bir tamsayı değeri 0-1000 nWeight karşın yaygın sabitleri ve değerleri gibidir.:
| Sürekli | Değer |
| 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 |
Bu değerler yaklaşık değerlerdir; gerçek görünümü üzerinde yazı bağlıdır. Bazı yazı tipleri yalnızca fw_normal, fw_regularve fw_bold ağırlıkları var. fw_dontcare belirtilirse, varsayılan ağırlık kullanılır.
bItalic
Yazı tipini italik olup olmadığını belirtir.
bUnderline
Yazı tipi altı çizili olup olmadığını belirtir.
cStrikeOut
Yazı karakterleri vurdu olup olmadığını belirtir. Üstü çizili yazı tipi belirler sıfır olmayan bir değere ayarlayın.
nCharSet
Yazı tipinin karakter kümesini belirtir. Aşağıdaki sabitler ve değerleri önceden:
| Sürekli | Değer |
| ANSI_CHARSET | 0 |
| DEFAULT_CHARSET | 1 |
| SYMBOL_CHARSET | 2 |
| SHIFTJIS_CHARSET | 128 |
| OEM_CHARSET | 255 |
Oem karakter kümesi sistem bağlıdır.
Diğer karakter kümeleriyle fontlar sistemde bulunabilir. Bir bilinmeyen karakter kümesiyle bir yazı tipini kullanan bir uygulama çevirmek ya da bu yazı tipiyle işlenecek olan dizeleri yorumlamak girişiminde gerekir. Bunun yerine, dizeleri doğrudan çıkış aygıtı sürücüsü aktarılmalıdır.
Yazı tipi Eşleştiricisi default_charset değerini kullanın. Bir uygulama bu değeri tamamen mantıklı yazı tipini tanımlamak için bir yazı tipi boyutunu ve adı sağlamak için kullanabilirsiniz. Belirtilen ada sahip bir yazı tipi yoksa, herhangi bir karakter kümesinden bir yazı belirtilen yazı tipi için yedek olabilir. Beklenmedik sonuçları önlemek için uygulamalar default_charset değeri idareli kullanmalıdır.
nOutPrecision
İstenen çıkış duyarlılığı belirtir. Çıkış duyarlık çıktı istenen yazı tipinin yükseklik, genişlik, karakter yönlendirmesini, maşası ve sahada ne kadar yakından eşleşmelidir tanımlar. Aşağıdaki değerlerden biri olabilir:
| OUT_CHARACTER_PRECIS | OUT_STRING_PRECIS |
| OUT_DEFAULT_PRECIS | OUT_STROKE_PRECIS |
| OUT_DEVICE_PRECIS | OUT_TT_PRECIS |
| OUT_RASTER_PRECIS |
Uygulamalar OUT_DEVICE_PRECIS, OUT_RASTER_PRECISve OUT_TT_PRECIS değerleri sisteme verilen adla birden fazla yazı tipi içeren bir yazı yazı Eşleştiricisi nasıl seçtiği denetlemek için kullanabilirsiniz. Örneğin, OUT_TT_PRECIS belirterek, bir sistemin sembol raster ve TrueType formunda adlı bir yazı tipi varsa, TrueType sürümü seçmek için yazı tipi Eşleştiricisi zorlar. ( OUT_TT_PRECIS belirterek, hatta hiç TrueType yazı tipi aynı adı ise her bir aygıtı belirtilen yazı tipi adıyla TrueType yazı tipi veya raster yazı, seçmek için yazı tipi Eşleştiricisi zorlar.)
nClipPrecision
İstenilen kırpma duyarlılığı belirtir. Kırpma hassas kısmen kırpma bölgesi karakterler küçük nasıl tanımlar. Aşağıdaki değerlerden biri olabilir:
| CLIP_CHARACTER_PRECIS | YALITIM_MASKESİ |
| CLIP_DEFAULT_PRECIS | CLIP_STROKE_PRECIS |
| CLIP_ENCAPSULATE | CLIP_TT_ALWAYS |
| CLIP_LH_ANGLES |
Katıştırılmış bir salt yazı tipini kullanmak için bir uygulama CLIP_ENCAPSULATE belirtmelisiniz.
Aygıt, TrueType ve vektör yazı tipleri tutarlı dönüşünü sağlamak için uygulama CLIP_LH_ANGLES değeri diğer nClipPrecision değerler ile birleştirmeye veya işlecini kullanabilirsiniz. CLIP_LH_ANGLES biti ayarlanmışsa, tüm yazı tipleri için rotasyon koordinat sistemi yönünü solak olmasına bağlıdır ya da sağ elini kullanan. (Koordinat Sistemleri yönlendirmesi hakkında daha fazla bilgi için bkz: nOrientation parametre açıklaması.) CLIP_LH_ANGLES ayarlanmışsa, aygıt fontlarını her zaman Saat yönünün tersine döndür, ancak diğer yazı rotasyonu koordinat sistemi yönünü bağlıdır.
nQuality
O gerçek bir fiziksel yazı tipinin yazı tipi mantıksal öznitelikleriyle eşleşmesi GDI ne kadar dikkatle teşebbüs tanımlar fontun çıktı kalitesini belirler. Aşağıdaki değerlerden biri olabilir:
nPitchAndFamily
Yazı tipi ailesi ve aralığı belirtir. İki alt sıra biti yazı tipi aralığı belirtin ve aşağıdaki değerlerden herhangi biri olabilir:
| DEFAULT_PITCH | VARIABLE_PITCH | FIXED_PITCH |
Uygulamalar, bir TrueType yazı tipi seçmek için nPitchAndFamily parametresi tmpf_truetype ekleyebilirsiniz. Dört yüksek sıralı bit parametre yazy tipi grubu belirlemek ve aşağıdaki değerlerden herhangi biri olabilir:
Bir uygulama ile ailesi sürekli sahada sürekli katılmaya veya Boolean işleci kullanılarak nPitchAndFamily için değer belirtebilirsiniz.
Font aileleri, genel bir şekilde bir yazı tipi görünümünü tanımlayın. Onlar istenen tam yazı kullanılabilir olmadığında, yazı tiplerini belirtmek için tasarlanmıştır.
lpszFacename
Bir CString veya biten yazı tipini yazı tipi adını belirten bir dize işaretçisi. Bu dize uzunluğu 30 karakteri aşmamalıdır. Windows EnumFontFamilies işlevi, şu anda kullanılabilir tüm yazı tipleri numaralandırmak için kullanılabilir. LpszFacename nullise, bir aygıttan bağımsız yazı GDI kullanır.
Açıklamalar
Belirtilen özelliklere sahip bir CFont nesnesi başlatır. Yazı daha sonra herhangi bir aygıt içeriğini yazı olarak seçilebilir.
CreateFont işlevi, yeni bir Windows GDI yazı tipi oluşturmaz. O sadece GDI'ın havuzunda fiziksel yazı fontları en yakın eşleşmeyi seçer.
Uygulamaları, mantıksal bir yazı oluştururken, bu parametrelerin çoğu için varsayılan ayarları kullanabilirsiniz. Her zaman belirli değerleri verilmelidir parametreleri nHeight ve lpszFacenamevardır. NHeight ve lpszFacename uygulama tarafından ayarlanmamışsa, aygıta bağımlı oluşturulan mantıksal yazı.
CreateFont işlevi tarafından oluşturulan CFont nesnesi ile bitirdikten sonra ilk aygıt içeriğini yazı tipini seçin, sonra CFont nesnesini silme.
CFont genel bakış |nbsp; Sınıf üyeleri | Hiyerarşi çizelgesi
Ayrıca bkz:nbsp;CFont::CreateFontIndirect, CFont::CreatePointFont, :: CreateFont, :: EnumFontFamilies, :: EnumFonts