ScriptGetCMap-Funktion (usp10.h)

Ruft die Glyphenindizes der Unicode-Zeichen in einer Zeichenfolge entweder gemäß der TrueType-cmap-Tabelle oder der cmap-Standardtabelle ab, die für Schriftarten im alten Stil implementiert ist.

Syntax

HRESULT ScriptGetCMap(
  [in]      HDC          hdc,
  [in, out] SCRIPT_CACHE *psc,
  [in]      const WCHAR  *pwcInChars,
  [in]      int          cChars,
  [in]      DWORD        dwFlags,
  [out]     WORD         *pwOutGlyphs
);

Parameter

[in] hdc

Optional. Handle für den Gerätekontext. Weitere Informationen finden Sie unter Zwischenspeichern.

[in, out] psc

Zeiger auf eine SCRIPT_CACHE Struktur, die den Skriptcache identifiziert.

[in] pwcInChars

Zeiger auf eine Zeichenfolge von Unicode-Zeichen.

[in] cChars

Anzahl der Unicode-Zeichen in der durch pwcInChars angegebenen Zeichenfolge.

[in] dwFlags

Flags, die eine spezielle Behandlung der Glyphen angeben. Standardmäßig werden die Glyphen in logischer Reihenfolge ohne spezielle Behandlung bereitgestellt. Dieser Parameter kann den folgenden Wert haben.

Wert Bedeutung
SGCM_RTL
Das von pwOutGlyphen angegebene Glyphenarray sollte gespiegelte Glyphen für die Glyphen enthalten, die über eine gespiegelte Entsprechung verfügen.

[out] pwOutGlyphs

Zeiger auf einen Puffer, in dem die Funktion ein Array von Glyphenindizes abruft. Dieser Puffer sollte die gleiche Länge wie der durch pwcInChars angegebene Eingabepuffer aufweisen. Jeder Codepunkt wird einer einzelnen Glyphe zugeordnet.

Rückgabewert

Gibt S_OK zurück, wenn alle Unicode-Codepunkte in der Schriftart vorhanden sind. Die Funktion gibt einen der unten aufgeführten HRESULT-Werte ungleich Null zurück, wenn sie nicht erfolgreich ist.

Rückgabewert Bedeutung
E_HANDLE Die Schriftart oder das Betriebssystem unterstützt keine Glyphenindizes.
S_FALSE Einige der Unicode-Codepunkte wurden der Standard-Glyphe zugeordnet.

Hinweise

Eine Erläuterung des Kontexts, in dem diese Funktion normalerweise aufgerufen wird, finden Sie unter Anzeigen von Text mit Uniscribe .

Diese Funktion kann verwendet werden, um die Zeichen in einer Ausführung zu bestimmen, die von der ausgewählten Schriftart unterstützt werden. Die Anwendung kann den abgerufenen Glyphenpuffer überprüfen und nach der Standard-Glyphe suchen, um zeichen zu ermitteln, die nicht verfügbar sind. Die Anwendung sollte den Standard-Glyphenindex für die ausgewählte Schriftart durch Aufrufen von ScriptGetFontProperties ermitteln.

Der Rückgabewert für diese Funktion gibt das Vorhandensein fehlender Glyphen an.

Hinweis Die Funktion geht von einer 1:1-Beziehung zwischen den Elementen in den Eingabe- und Ausgabearrays aus. Diese Beziehung für UTF-16-Ersatzzeichenpaare wird von der Funktion jedoch nicht unterstützt. Bei einem Ersatzzeichenpaar ruft die Funktion den Glyphenindex für das Zusatzebenenzeichen nicht ab. Ebenso unterstützt die Funktion keine Unicode Variation-Selector(VS)-Sequenzen, von denen jede aus einem Unicode-Grafikzeichen gefolgt von einem satz von VARIATION SELECTOR-Zeichen besteht, um eine bestimmte Glyphendarstellung für dieses Grafikzeichen auszuwählen. Bei einer VS-Sequenz ruft die Funktion den Glyphenindex für die Standard-Glyphe ab, die von der cmap für die beiden Zeichen zugeordnet ist, anstelle des Glyphenindex für die bestimmte Glyphe für die VS-Sequenz.
 
Einige Codepunkte können durch eine Kombination von Glyphen sowie durch eine einzelne Glyphe gerendert werden, z. B. 00C9; LATEINISCHER GROßBUCHSTABE E MIT AKUT. Wenn die Schriftart in diesem Fall die Groß-E-Glyphe und die akute Glyphe, aber keine einzelne Glyphe für 00C9 unterstützt, zeigt ScriptGetCMap an, dass 00C9 nicht unterstützt wird. Um die Schriftartunterstützung für eine Zeichenfolge zu bestimmen, die diese Arten von Codepunkten enthält, kann die Anwendung ScriptShape aufrufen. Wenn die Funktion S_OK zurückgibt, sollte die Anwendung die Ausgabe auf fehlende Glyphen überprüfen.
Wichtig Ab Windows 8: Um die Ausführung unter Windows 7 zu gewährleisten, muss ein Modul, das Uniscribe verwendet, Usp10.lib vor gdi32.lib in der Bibliotheksliste angeben.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile usp10.h
Bibliothek Usp10.lib
DLL Usp10.dll
Verteilbare Komponente Internet Explorer 5 oder höher unter Windows Me/98/95

Weitere Informationen

Anzeigen von Text mit Uniscribe

SCRIPT_CACHE

ScriptGetFontProperties

ScriptShape

Uniscribe

Uniscribe-Funktionen