Метод IPrintCoreHelperUni::SetFontSubstitution (prcomoem.h)

Метод IPrintCoreHelperUni::SetFontSubstitution задает шрифт устройства для печати вместо заданного шрифта TrueType.

Синтаксис

HRESULT SetFontSubstitution(
  [in] IN PCWSTR pszTrueTypeFontName,
  [in] IN PCWSTR pszDevFontName
);

Параметры

[in] pszTrueTypeFontName

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

[in] pszDevFontName

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

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

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

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

Комментарии

Установка шрифта устройства для использования вместо указанного шрифта TrueType может выполняться только во время сеанса страниц свойств устройства и только в том случае, если включена полная замена пользовательского интерфейса. Шрифт, представленный параметром pszTrueTypeFontName , должен быть допустимым шрифтом TrueType и должен быть установлен на принтере. Шрифт устройства, представленный параметром pszDevFontName , должен быть допустимым шрифтом для этого принтера.

Если сопоставление подстановки для указанного шрифта TrueType уже существует в этой очереди, SetFontSubstitution метод автоматически заменяет сопоставление. Чтобы удалить сопоставление подстановки, вызовите этот метод с именем шрифта TrueType, указанным в параметре pszTrueTypeFontName , и значением NULL , указанным в параметре pszDevFontName.

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

Требования

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

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

IPrintCoreHelperUni

IPrintCoreHelperUni::GetFontSubstitution