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


Метод 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 в документации по пакету SDK Для Microsoft Windows) EnumFontFamilies должен фильтровать шрифты устройств, добавив счетчик для каждого шрифта, для которого побитовый результат AND (FontType & TRUETYPE_FONTTYPE) не является ненулевой. SetGraphicsMode, EnumFontFamiliesи функции enumFontFamProc описаны в документации по пакету SDK для Windows.

Требования

Требование Ценность
целевая платформа Настольный
заголовка prcomoem.h (include Prcomoem.h)

См. также

IPrintCoreHelperUni

IPrintCoreHelperUni::GetFontSubstitution