Поделиться через


Метод IPrintCoreHelperPS::GetFontSubstitution (prcomoem.h)

Метод IPrintCoreHelperPS::GetFontSubstitution указывает, какой шрифт устройства, если он есть, используется в качестве шрифта подстановки для указанного шрифта TrueType.

Синтаксис

HRESULT GetFontSubstitution(
  [in]  IN PCWSTR  pszTrueTypeFontName,
  [out] OUT PCWSTR *ppszDevFontName
);

Параметры

[in] pszTrueTypeFontName

Указатель на строку Юникода, завершающуюся значением NULL, которая содержит имя шрифта TrueType.

[out] ppszDevFontName

Указатель на переменную, которая получает адрес строки Юникода, заканчивающейся null. Эта строка содержит имя шрифта устройства, который будет использоваться вместо шрифта TrueType, указанного в параметре pszFontName . Если нет шрифта устройства, который может служить заменой указанного шрифта TrueType, этому параметру будет присвоено значение NULL.

Возвращаемое значение

IPrintCoreHelperPS::GetFontSubstitution должен возвращать одно из следующих значений:

Код возврата Описание
S_OK Метод считывает параметр для указанного компонента.
E_FAIL Запрошенный шрифт не существует или не является шрифтом TrueType.
E_INVALIDARG Один или несколько аргументов являются недопустимыми.
E_OUTOFMEMORY Основной драйвер не смог обслужить запрос из-за нехватки памяти.
E_UNEXPECTED или другие коды возврата, не перечисленные здесь Основной драйвер, кажется, в недопустимом состоянии. Вызывающий объект должен вернуть код сбоя.

Комментарии

Если приложение пытается напечатать текст, использующий шрифт TrueType, указанный в параметре pszTrueTypeFontName , текст будет напечатан шрифтом устройства, указанным в параметре ppszDevFontName . Имя шрифта устройства должно быть допустимым, установленным шрифтом.

Шрифт идентифицируется по его названию шрифта, которое отображается в элементе lfFaceName структуры LOGFONT .

Чтобы получить список доступных шрифтов, создайте информационный контекст для текущего принтера и вызовите Метод SetGraphicsMode(hIC, GM_ADVANCED). Затем перечислите шрифты устройства с помощью вызова EnumFontFamilies. Параметр обратного вызова (см . EnumFontFamProc) enumFontFamilies должен фильтровать шрифты устройства путем приращения счетчика для каждого шрифта, для которого побитовый результат AND (FontType & TRUETYPE_FONTTYPE) является ненулевым.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть prcomoem.h (включая Prcomoem.h)

См. также раздел

IPrintCoreHelperPS

IPrintCoreHelperPS::SetFontSubstitution