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


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

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

Синтаксис

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

Параметры

[in] pszTrueTypeFontName

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

[out] ppszDevFontName

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

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

IPrintCoreHelper::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 (include Prcomoem.h)

См. также

IPrintCoreHelper

IPrintCoreHelper::SetFontSubstitution