SCRIPT_CACHE
Definiert einen Uniscribe-Metrikcache für Schriftarten.
typedef void* SCRIPT_CACHE;
Bemerkungen
Dies ist eine undurchsichtige Struktur. Die Anwendung muss eine SCRIPT_CACHE Variable für jede verwendete Zeichenart zuordnen und beibehalten. Die Variable muss mit NULL initialisiert werden.
Viele Skriptfunktionen verwenden eine Kombination aus einem Hardwaregerätekontexthandle und einer SCRIPT_CACHE Variablen. Uniscribe versucht zunächst, mithilfe der Variablen SCRIPT_CACHE auf Schriftartdaten zuzugreifen. Der Hardwaregerätekontext wird nur überprüft, wenn die erforderlichen Daten noch nicht zwischengespeichert sind.
Das Kontexthandle für Hardwaregeräte kann als NULL an Uniscribe übergeben werden. Wenn für Uniscribe erforderliche Daten bereits zwischengespeichert sind, wird nicht auf den Gerätekontext zugegriffen, und der Vorgang wird normal fortgesetzt.
Wenn der Gerätekontext als NULL übergeben wird und Uniscribe aus irgendeinem Grund darauf zugreifen muss, gibt Uniscribe den Fehlercode E_PENDING zurück. Dieser Code wird schnell zurückgegeben, sodass die Anwendung zeitaufwendige SelectObject-Aufrufe vermeiden kann.
Beispiele
Das folgende Beispiel gilt für alle Funktionen, die eine SCRIPT_CACHE Variable und ein optionales Handle für einen Hardwaregerätekontext verwenden.
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);
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|
Siehe auch