BOOL CreateFont ( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, БАЙТ bItalic, БАЙТ bUnderline, БАЙТ cStrikeOut, БАЙТ nCharSet, БАЙТ nOutPrecision, БАЙТ nClipPrecision, БАЙТ nQuality, БАЙТ nPitchAndFamily, LPCTSTR lpszFacename );
Возвращаемое значение
Ненулевое значение, если успешно; в противном случае 0.
Параметры
nHeight
Определяет необходимую высоту (в логических единицах) шрифта. Высота шрифта может быть указан следующими способами:
Абсолютное значение nHeight не должно превышать 16 384 единицы устройства после того, как ее преобразования. Для всех сравнений высоты средство сопоставления шрифтов ищет большой шрифт, который не превышает требуемый размер или маленьким шрифтом если запрошенный размер превышает все шрифты.
nWidth
Указывает среднюю ширину (в логических единицах) символов в шрифте. Если nWidth равен 0, пропорции устройства, будет совпадает с оцифровкой пропорции доступных шрифтов, чтобы найти ближайший матч, который определяется абсолютное значение разницы.
nEscapement
Определяет угол (по 0,1 степени) между вектор спусковой механизм и оси x отображаемой поверхности. Спусковой механизм вектор — это линия через истоки первый и последний знаки на линии. Угол измеряется против часовой стрелки от оси x.
nOrientation
Определяет угол (по 0,1 степени) между базовой линии символа и осью х. Угол измеряется против часовой стрелки от оси x для систем координат, в которой оси y по часовой стрелке от оси x для систем координат, в которой по оси y — вверх и вниз.
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
Определяет ли символов шрифта будут исключены. Определяет зачеркнутый шрифт, если задать ненулевое значение.
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 для контроля как средство сопоставления шрифтов выбирает шрифт, когда система содержит более одного шрифта с заданным именем. Например если система содержит шрифт с именем символа в растровые и 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 и векторные шрифты, приложение может использовать оператор OR для объединения CLIP_LH_ANGLES значение с любым из других значений nClipPrecision . Если установлен бит CLIP_LH_ANGLES , вращение для всех шрифтов зависит ли ориентация системы координат левой рукой или правой рукой. (Дополнительные сведения об ориентации систем координат, см. в описании параметра nOrientation .) Если CLIP_LH_ANGLES не задано, шрифты устройства всегда поворот против часовой стрелки, но вращение других шрифтов зависит от ориентации системы координат.
nQuality
Указывает качество шрифта вывода, который определяет, как тщательно GDI должен добиваться соответствия параметров логического шрифта параметрам физического шрифта. Это может быть одним из следующих значений:
nPitchAndFamily
Определяет высоту и семейство шрифта. Две младшие биты укажите поле шрифта и может принимать любое из следующих значений:
| DEFAULT_PITCH | VARIABLE_PITCH | FIXED_PITCH |
Приложения можно добавить TMPF_TRUETYPE в nPitchAndFamily параметр выбрать шрифт TrueType. Четыре старшие биты параметра укажите семейство шрифтов и может принимать любое из следующих значений:
Приложение можно указать значение для nPitchAndFamily с помощью логического оператора OR присоединиться шаг константу с константой семьи.
Семейства шрифтов в общем виде описывают внешний вид шрифта. Они предназначены для определения шрифтов, когда необходимая точная гарнитура недоступна.
lpszFacename
CString или указатель на строку нулем, которая указывает название гарнитуры шрифта. Длина этой строки не должна превышать 30 символов. Функция Windows EnumFontFamilies может использоваться для перечисления всех имеющихся в настоящее время шрифтов. Если lpszFacename имеет значение NULL, GDI использует аппаратно независимые шрифт.
Примечания
Инициализирует объект CFont с заданным характеристикам. Качестве шрифта для любого контекста устройства впоследствии может быть выбран шрифт.
Функция CreateFont не создает новый шрифт Windows GDI. Он лишь выбирает ближайший матч из шрифтов в GDI пула физических шрифтов.
Приложения могут использовать параметры по умолчанию для большинства из этих параметров при создании логического шрифта. Параметры, которые должны всегда быть конкретные значения являются nHeight и lpszFacename. Если приложением не установлены nHeight и lpszFacename , логический шрифт, который будет создан аппаратно зависимые.
Когда вы закончите с CFont объект, созданный с помощью функции CreateFont , сначала выберите шрифт из контекста устройства, а затем удалить объект CFont.
Обзор CFont |nbsp; Члены класса | Иерархическая схема
См. такжеnbsp;CFont::CreateFontIndirect, CFont::CreatePointFont, :: CreateFont, :: EnumFontFamilies, :: EnumFonts