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


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 [только классические приложения]
Заголовок
Usp10.h

См. также раздел

Одноимесяца

Структуры без символов

Кэширование