IDWriteTextAnalyzer::GetGlyphs-Methode (dwrite.h)
Analysiert die Eingabetextzeichenfolge und ordnet sie dem Satz von Glyphen und zugeordneten Glyphendaten gemäß der Schriftart und den Renderingregeln des Schreibsystems zu.
Syntax
HRESULT GetGlyphs(
[in] WCHAR const *textString,
UINT32 textLength,
IDWriteFontFace *fontFace,
BOOL isSideways,
BOOL isRightToLeft,
[in] DWRITE_SCRIPT_ANALYSIS const *scriptAnalysis,
[in, optional] WCHAR const *localeName,
[optional] IDWriteNumberSubstitution *numberSubstitution,
[in, optional] DWRITE_TYPOGRAPHIC_FEATURES const **features,
[in, optional] UINT32 const *featureRangeLengths,
UINT32 featureRanges,
UINT32 maxGlyphCount,
[out] UINT16 *clusterMap,
[out] DWRITE_SHAPING_TEXT_PROPERTIES *textProps,
[out] UINT16 *glyphIndices,
[out] DWRITE_SHAPING_GLYPH_PROPERTIES *glyphProps,
[out] UINT32 *actualGlyphCount
);
Parameter
[in] textString
Typ: const WCHAR*
Ein Array von Zeichen, die in Glyphen konvertiert werden sollen.
textLength
Typ: UINT32
Die Länge von textString.
fontFace
Typ: IDWriteFontFace*
Die Schriftart, die die Quelle der Ausgabeglyphen ist.
isSideways
Typ: BOOL
Ein boolesches Flag, das auf TRUE festgelegt ist, wenn der Text vertikal gezeichnet werden soll.
isRightToLeft
Typ: BOOL
Ein boolesches Flag, das für Text von rechts nach links auf TRUE festgelegt ist.
[in] scriptAnalysis
Typ: const DWRITE_SCRIPT_ANALYSIS*
Ein Zeiger auf eine Skriptanalyse resultiert aus einem AnalyzeScript-Aufruf .
[in, optional] localeName
Typ: const WCHAR*
Das Gebietsschema, das bei der Auswahl von Glyphen verwendet werden soll. Beispielsweise kann dasselbe Zeichen verschiedenen Glyphen für ja-jp im Vergleich zu zh-chs zugeordnet werden. Wenn dies NULL ist, wird die Standardzuordnung basierend auf dem Skript verwendet.
[optional] numberSubstitution
Typ: IDWriteNumberSubstitution*
Ein Zeiger auf eine optionale Zahlenersetzung, die abhängig von den Ergebnissen aus AnalyzeNumberSubstitution die entsprechenden Glyphen für Ziffern und zugehörige numerische Zeichen auswählt. Das Übergeben von NULL gibt an, dass keine Ersetzung erforderlich ist und dass die Ziffern nominale Glyphen erhalten sollen.
[in, optional] features
Typ: const DWRITE_TYPOGRAPHIC_FEATURES**
Ein Array von Zeigern auf die Sätze typografischer Features, die in jedem Featurebereich verwendet werden sollen.
[in, optional] featureRangeLengths
Typ: const UINT32*
Die Länge jedes Featurebereichs in Zeichen.
Die Summe aller Längen sollte gleich textLength sein.
featureRanges
Typ: UINT32
Die Anzahl der Featurebereiche.
maxGlyphCount
Typ: UINT32
Die maximale Anzahl von Glyphen, die zurückgegeben werden können.
[out] clusterMap
Typ: UINT16*
Wenn diese Methode zurückgibt, enthält die Zuordnung von Zeichenbereichen zu Glyphenbereichen.
[out] textProps
Typ: DWRITE_SHAPING_TEXT_PROPERTIES*
Wenn diese Methode zurückgibt, enthält einen Zeiger auf ein Array von Strukturen, das Formeigenschaften für jedes Zeichen enthält.
[out] glyphIndices
Typ: UINT16*
Die Ausgabeglyphenindizes.
[out] glyphProps
Typ: DWRITE_SHAPING_GLYPH_PROPERTIES*
Wenn diese Methode zurückgibt, enthält einen Zeiger auf ein Array von Strukturen, die Gestaltungseigenschaften für jede Ausgabe-Glyphe enthalten.
[out] actualGlyphCount
Typ: UINT32*
Wenn diese Methode zurückgibt, enthält die tatsächliche Anzahl von Glyphen, die zurückgegeben werden, wenn der Aufruf erfolgreich ist.
Rückgabewert
Typ: HRESULT
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Beachten Sie, dass die Zuordnung von Zeichen zu Glyphen im Allgemeinen viele zu viele ist. Die empfohlene Schätzung für die Ausgabepuffer pro Glyphen ist (3 * textLength / 2 + 16). Dies ist nicht garantiert ausreichend.
Der Wert des parameters actualGlyphCount ist nur gültig, wenn der Aufruf erfolgreich ist. Falls maxGlyphCount nicht groß genug ist, wird HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) zurückgegeben. Die Anwendung sollte einen größeren Puffer zuweisen und es erneut versuchen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | dwrite.h |
Bibliothek | Dwrite.lib |
DLL | Dwrite.dll |