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

Weitere Informationen

IDWriteTextAnalyzer