BOOL CreateFont ( int nHeight, int nWidth właściwości, int nEscapement, int nOrientation, int nWeight, BAJT bItalic, BAJT bUnderline, BAJT cStrikeOut, BAJT nCharSet, BAJT nOutPrecision, BAJT nClipPrecision, BAJT nQuality, BAJT nPitchAndFamily, LPCTSTR lpszFacename );
Wartość zwracany
Niezerowa, jeśli kończy się pomyślnie; inny sposób 0.
Parametry
nHeight
Określa odpowiednią wysokość (w jednostkach logicznych) czcionki. Wysokość czcionki można określić w następujący sposób:
Wartość bezwzględna nHeight nie może przekroczyć 16,384 jednostek urządzenia po jego przekonwertowaniu. Wszystkie wysokość porównań mapowania czcionek wygląda największa czcionka, która nie przekracza żądanym rozmiarze lub najmniejszą czcionki, jeśli wszystkie czcionki przekracza żądanym rozmiarze.
nWidth właściwości
Określa średnią szerokości (w jednostkach logicznych) znaków czcionki. Jeśli nWidth właściwości jest równa 0, proporcje urządzenia będą dopasowywane digitalizację proporcje dostępne czcionki, aby znaleźć najlepsze dopasowanie, który jest określony przez wartość bezwzględna różnicy.
nEscapement
Określa kąt (w jednostkach 0,1 stopnia) między wektor system powracania i osi powierzchni ekranu. Wektor system powracania jest linią pochodzenie pierwszych i ostatnich znaków na wiersz. Kąt jest mierzony przeciwnie od osi x.
nOrientation
Określa kąt (w jednostkach 0,1 stopnia) między do linii bazowej znaków i osi. Kąt jest mierzony przeciwnie z osi współrzędnych systemów w których kierunku y jest dół i w prawo od osi x systemy współrzędnych, w których kierunku y jest.
nWeight
Określa grubość czcionki (w inked pikseli na 1000). Chociaż nWeight może być dowolną liczbą całkowitą z przedziału od 0 do 1000, wspólne wartości i stałe są następujące:
| Stała | Wartość |
| 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 |
Te wartości są przybliżone; rzeczywisty wygląd zależy od kroju pisma. Niektóre czcionki mają tylko wagi FW_NORMAL, FW_REGULARi FW_BOLD . Jeśli FW_DONTCARE jest określona, używana jest domyślna grubość.
bItalic
Określa, czy czcionka jest kursywa.
bUnderline
Określa, czy czcionka jest podkreślona.
cStrikeOut
Określa, czy przekreślić są znaki w czcionce. Określa czcionkę przekreślenie, jeśli ustawiona na wartość różną od zera.
nCharSet
Określa zestaw znaków czcionki. Następujące stałe i wartości są wstępnie zdefiniowane:
| Stała | Wartość |
| ANSI_CHARSET | 0 |
| DEFAULT_CHARSET | 1 |
| SYMBOL_CHARSET | 2 |
| SHIFTJIS_CHARSET | 128 |
| OEM_CHARSET | 45s |
Zestaw znaków OEM jest zależny od systemu.
Czcionek z innymi zestawami znaków mogą istnieć w systemie. Aplikacja, która używa czcionki z zestawu nieznany znak musi nie próbować tłumaczenia lub interpretować ciągów znaków, które mają być świadczone z danej czcionki. Zamiast tego ciągi powinny być przekazywane bezpośrednio do sterownika urządzenia wyjściowe.
Mapowania czcionek nie używać wartości DEFAULT_CHARSET . Aplikację można użyć tę wartość, aby umożliwić nazwę i rozmiar czcionki w pełni logiczne czcionki. Jeśli czcionka o podanej nazwie nie istnieje, czcionkę z każdego zestawu znaków mogą zastąpić czcionki. Aby uniknąć nieoczekiwanych wyników, aplikacje powinny używać wartości DEFAULT_CHARSET oszczędnie.
nOutPrecision
Określa dokładność żądane dane wyjściowe. Dokładność danych wyjściowych określa, jak blisko dane wyjściowe muszą odpowiadać wysokość, szerokość, znak orientację, system powracania i skoku żądanej czcionki. Może mieć jedną z następujących wartości:
| OUT_CHARACTER_PRECIS | OUT_STRING_PRECIS |
| OUT_DEFAULT_PRECIS | OUT_STROKE_PRECIS |
| OUT_DEVICE_PRECIS | OUT_TT_PRECIS |
| OUT_RASTER_PRECIS |
Aplikacje można użyć wartości OUT_DEVICE_PRECIS, OUT_RASTER_PRECISi OUT_TT_PRECIS do kontrolowania, jak mapowania czcionek wybiera czcionkę, jeśli system zawiera więcej niż jedną czcionkę o danej nazwie. Na przykład jeśli system zawiera czcionki o nazwie Symbol w rastrowych i TrueType formularza, określając OUT_TT_PRECIS sił mapowania czcionek, aby wybrać wersję TrueType. (Określenie OUT_TT_PRECIS sił mapowania czcionek wybrać czcionki TrueType w każdym przypadku, gdy nazwa czcionki odpowiada urządzeniu lub czcionka rastrowa, nawet wtedy, gdy żadne czcionki TrueType o tej samej nazwie.)
nClipPrecision
Określa dokładność pożądanych przycinania. Dokładność odcinania definiuje sposób klipu znaków, które są częściowo poza jest wycinany obszar. Może mieć jedną z następujących wartości:
| CLIP_CHARACTER_PRECIS | CLIP_MASK |
| CLIP_DEFAULT_PRECIS | CLIP_STROKE_PRECIS |
| CLIP_ENCAPSULATE | CLIP_TT_ALWAYS |
| CLIP_LH_ANGLES |
Aby użyć czcionki osadzonej tylko do odczytu, aplikacja musi określić CLIP_ENCAPSULATE.
Aby osiągnąć spójne obrotu urządzenia, TrueType i czcionki wektorowe, aplikacji można użyć operatora OR połączyć wartości CLIP_LH_ANGLES z innych wartości nClipPrecision . Jeśli jest ustawiony CLIP_LH_ANGLES bit, obrót wszystkich czcionek zależy czy orientacja układ współrzędnych jest osobą leworęczną prawo- i leworęcznych. (Aby uzyskać więcej informacji o orientacji współrzędnych, zobacz opis parametru nOrientation .) Jeśli CLIP_LH_ANGLES nie jest ustawiona, czcionki urządzenia zawsze obrócić przeciwnie, ale rotacji inne czcionki zależy od orientacji układ współrzędnych.
nQuality
Określa jakość czcionki, która określa, jak dokładnie interfejs GDI musi próbują dopasować atrybuty logiczne czcionki z rzeczywistą czcionką fizyczne. Może być jedna z następujących wartości:
nPitchAndFamily
Określa wysokość tonu i rodziny czcionki. Dwa niskie bity określenia wysokości czcionki i może mieć jedną z następujących wartości:
| DEFAULT_PITCH | VARIABLE_PITCH | FIXED_PITCH |
Aplikacje można dodać TMPF_TRUETYPE z parametrem nPitchAndFamily aby wybrać czcionkę TrueType. Określ rodzinę czcionek i może mieć jedną z następujących wartości cztery bity wysokich numerach parametr:
Aplikację można określić wartość dla nPitchAndFamily za pomocą operatorów logicznych lub do przyłączenia stałej szerokooci ze stałą rodziny.
Rodziny czcionek opisują wygląd czcionki w sposób ogólny. Są one przeznaczone do określania czcionek, kiedy dokładnie kroju czcionki, pożądane jest niedostępny.
lpszFacename
CString lub wskaźnik na ciąg zakończony zerem, określający nazwę krój czcionki. Długość ten ciąg nie może przekraczać 30 znaków. Funkcja systemu Windows EnumFontFamilies może służyć do wyliczenia wszystkich aktualnie dostępnych czcionek. Jeśli lpszFacename ma wartość NULL, interfejs GDI używa kroju niezależny od urządzenia.
Uwagi
Inicjuje obiekt CFont z określonymi cechami. Czcionki można następnie wybrać czcionkę dla każdego kontekstu urządzenia.
Funkcja CreateFont nie tworzy nowych czcionek GDI systemu Windows. Jedynie wybiera najbliższa z czcionkami dostępnymi w puli GDI fizyczne czcionek.
Aplikacje mogą używać ustawień domyślnych dla większości tych parametrów, tworząc logiczne czcionki. Parametry, które powinny zawsze mieć określonych wartości są nHeight i lpszFacename. Jeśli nHeight i lpszFacename nie są ustawiane przez aplikację, logiczne czcionkę, która jest tworzona jest zależny od urządzenia.
Po zakończeniu z obiektem CFont utworzone przez funkcję CreateFont , najpierw zaznacz czcionkę tego kontekstu urządzenia następnie usunąć obiekt CFont.
Omówienie CFont |nbsp; Klasa członków | Wykres hierarchii
Zobacz teżnbsp;CFont::CreateFontIndirect, CFont::CreatePointFont, :: CreateFont, :: EnumFontFamilies, :: EnumFonts