Метод 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 (include Prcomoem.h) |