SCRIPT_CACHE
Определяет кэш метрик шрифта Uniscribe.
typedef void* SCRIPT_CACHE;
Комментарии
Это непрозрачная структура. Приложение должно выделить и сохранить одну SCRIPT_CACHE переменную для каждого используемого стиля символов. Переменная должна быть инициализирована значением NULL.
Многие функции скриптов принимают сочетание аппаратного дескриптора контекста устройства и переменной SCRIPT_CACHE. Сначала uniscribe пытается получить доступ к данным шрифта с помощью переменной SCRIPT_CACHE. Он проверяет контекст аппаратного устройства, только если необходимые данные еще не кэшированы.
Дескриптор контекста аппаратного устройства можно передать в Uniscribe как NULL. Если данные, необходимые для Uniscribe, уже кэшированы, контекст устройства недоступен и операция продолжается в обычном режиме.
Если контекст устройства передается как NULL и Uniscribe должен получить к нему доступ по какой-либо причине, Uniscribe возвращает код ошибки E_PENDING. Этот код возвращается быстро, что позволяет приложению избежать длительных вызовов SelectObject .
Примеры
Следующий пример применяется ко всем функциям, которые принимают переменную SCRIPT_CACHE и необязательный дескриптор в контекст аппаратного устройства.
hr = ScriptShape(NULL, &sc,
pwcChars, cChars, cMaxGlyphs, psa, pwOutGlyphs, pwLogClust, psva, pcGlyphs);
if (hr == E_PENDING)
{
// ... select font into hdc ...
hr = ScriptShape(hdc, &sc,
pwcChars, cChars, cMaxGlyphs, psa, pwOutGlyphs, pwLogClust, psva, pcGlyphs);
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
См. также раздел