Метод IPrintCoreHelperPS::SetFontSubstitution (prcomoem.h)
Метод IPrintCoreHelperPS::SetFontSubstitution задает шрифт устройства для печати вместо заданного шрифта TrueType.
Синтаксис
HRESULT SetFontSubstitution(
[in] IN PCWSTR pszTrueTypeFontName,
[in] IN PCWSTR pszDevFontName
);
Параметры
[in] pszTrueTypeFontName
Указатель на строку Юникода, завершающуюся null, которая содержит допустимое имя шрифта TrueType. Этот параметр не должен иметь значение NULL.
[in] pszDevFontName
Указатель на строку Юникода, завершающуюся значением NULL, которая содержит имя шрифта устройства.
Возвращаемое значение
IPrintCoreHelperPS::GetFontSubstitution должен возвращать одно из следующих значений.
Код возврата | Описание |
---|---|
|
Метод считывает параметр для указанного компонента. |
|
Запрошенный шрифт не существует или не является шрифтом TrueType. |
|
Один или несколько аргументов являются недопустимыми. |
|
Основной драйвер не смог обслужить запрос из-за нехватки памяти. |
|
Основной драйвер, кажется, в недопустимом состоянии. Вызывающий объект должен вернуть код сбоя. |
Комментарии
Настройка шрифта устройства для использования вместо указанного шрифта 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) |