Функция TTLoadEmbeddedFont (t2embapi.h)
Считывает внедренный шрифт из потока документа и устанавливает его. Кроме того, позволяет клиенту дополнительно ограничить привилегии внедрения шрифта.
Синтаксис
LONG TTLoadEmbeddedFont(
[out] HANDLE *phFontReference,
[in] ULONG ulFlags,
[out] ULONG *pulPrivStatus,
[in] ULONG ulPrivs,
[out] ULONG *pulStatus,
[in] READEMBEDPROC lpfnReadFromStream,
[in] LPVOID lpvReadStream,
[in, optional] LPWSTR szWinFamilyName,
[in, optional] LPSTR szMacFamilyName,
[in, optional] TTLOADINFO *pTTLoadInfo
);
Параметры
[out] phFontReference
Указатель на дескриптор, который идентифицирует установленный внедренный шрифт. Этот дескриптор ссылается на внутреннюю структуру, а не на Hfont.
[in] ulFlags
Флаг, указывающий параметры загрузки и установки. В настоящее время для этого флага можно задать ноль или следующее значение:
Значение | Значение |
---|---|
|
Загрузите шрифт, чтобы он не перечислялся пользователю. Если шрифт не устанавливается, он останется частным. |
[out] pulPrivStatus
Указатель на флаг, указывающий привилегии внедрения шрифта. Этот флаг записывается после завершения этой функции и может иметь одно из следующих значений. Эта функция возвращает наименее ограниченную предоставленную лицензию.
[in] ulPrivs
Флаг, указывающий на дополнительное ограничение привилегий внедрения, накладываемое клиентом, загружающим шрифт. Этот флаг должен иметь одно из следующих значений.
[out] pulStatus
Указатель на битовое поле, содержащее сведения о состоянии запроса TTLoadEmbeddedFont . Это поле заполняется после завершения этой функции и может иметь ноль или более следующих значений.
[in] lpfnReadFromStream
Указатель на определяемую клиентом функцию обратного вызова, которая считывает структуру шрифта из потока документа.
[in] lpvReadStream
Указатель на поток (структура шрифта).
[in, optional] szWinFamilyName
Указатель на новое 16-разрядное имя семейства Шрифта в Юникоде Microsoft Windows. Задайте значение NULL , чтобы использовать существующее имя. При изменении имени шрифта при загрузке необходимо указать как этот параметр, так и параметр szMacFamilyName .
[in, optional] szMacFamilyName
Указатель на новое 8-разрядное имя семейства Macintosh шрифта. Задайте значение NULL , чтобы использовать существующее имя. При изменении имени шрифта при загрузке необходимо указать как этот параметр, так и параметр szWinFamilyName .
[in, optional] pTTLoadInfo
Указатель на структуру TTLOADINFO , содержащую URL-адрес, по которому был получен внедренный объект шрифта. Если это значение не соответствует одному из значений, содержащихся в структуре TTEMBEDINFO , шрифт не будет успешно загружен.
Возвращаемое значение
В случае успешного выполнения возвращает E_NONE.
Если загрузка шрифта выполнена успешно, шрифт, указанный phFontReference , создается из структуры шрифта с именами, указанными в szWinFamilyName и szMacFamilyName. Задано значение pulPrivStatus , указывающее привилегии внедрения шрифта; и pulStatus можно задать, указывая сведения о состоянии операции загрузки шрифтов.
В противном случае возвращает код ошибки, описанный в разделе Внедрение сообщений об ошибках функции.
Комментарии
Чтобы помочь клиенту определить, установлен ли внедренный шрифт в системе, функция загрузки шрифтов вернет сообщение об ошибке, указывающее, что шрифт с тем же именем существует в системе (E_FONTNAMEALREADYEXISTS), и если этот шрифт имеет ту же контрольную сумму, что и внедренный шрифт (E_FONTALREADYEXISTS). Клиент имеет два варианта:
- Предположим, что установленный шрифт действительно совпадает с внедренным шрифтом и охватывает те же подмножества.
- Принудительная установка внедренного шрифта с другим именем, чтобы избежать несовместимости со шрифтом, уже имеющимся в системе.
Чтобы использовать существующее имя внедренного шрифта, для параметров строки имени необходимо задать значение NULL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | t2embapi.h |
Библиотека | T2embed.lib |
DLL | T2embed.dll |