IDWriteTextAnalyzer1::GetJustifiedGlyphs-Methode (dwrite_1.h)
Füllt neue Glyphen für komplexe Skripts aus, in denen die Rechtfertigung die Fortschritte von Glyphen, wie Arabisch mit Kashida, erhöhte.
Syntax
HRESULT GetJustifiedGlyphs(
IDWriteFontFace *fontFace,
FLOAT fontEmSize,
DWRITE_SCRIPT_ANALYSIS scriptAnalysis,
UINT32 textLength,
UINT32 glyphCount,
UINT32 maxGlyphCount,
[in, optional] UINT16 const *clusterMap,
[in] UINT16 const *glyphIndices,
[in] FLOAT const *glyphAdvances,
[in] FLOAT const *justifiedGlyphAdvances,
[in] DWRITE_GLYPH_OFFSET const *justifiedGlyphOffsets,
[in] DWRITE_SHAPING_GLYPH_PROPERTIES const *glyphProperties,
[out] UINT32 *actualGlyphCount,
[out, optional] UINT16 *modifiedClusterMap,
[out] UINT16 *modifiedGlyphIndices,
[out] FLOAT *modifiedGlyphAdvances,
[out] DWRITE_GLYPH_OFFSET *modifiedGlyphOffsets
);
Parameter
fontFace
Typ: IDWriteFontFace*
Schriftart, die für die Gestaltung verwendet wird.
Kann NULL sein.
fontEmSize
Typ: FLOAT
Schriftgrad, der für die Ausführung der Glyphen verwendet wird.
scriptAnalysis
Skript des Texts aus dem Elementisierer.
textLength
Typ: UINT32
Länge des Texts.
glyphCount
Typ: UINT32
Anzahl der Glyphen.
maxGlyphCount
Typ: UINT32
Maximale Anzahl von Ausgabeglyphen, die vom Aufrufer zugewiesen werden.
[in, optional] clusterMap
Typ: const UINT16*
Clustermap, die aus der Gestaltung erstellt wurde.
[in] glyphIndices
Typ: const UINT16*
Original-Glyphen aus Formgebung.
[in] glyphAdvances
Typ: const FLOAT*
Ursprüngliche Glyphenvorstöße, die aus der Formgebung hergestellt wurden.
[in] justifiedGlyphAdvances
Typ: const FLOAT*
Berechtigte Glyphenvorstöße von IDWriteTextAnalyzer1::JustifyGlyphAdvances.
[in] justifiedGlyphOffsets
Typ: const DWRITE_GLYPH_OFFSET*
Gerechtfertigte Glyphenoffsets aus IDWriteTextAnalyzer1::JustifyGlyphAdvances.
[in] glyphProperties
Typ: const DWRITE_SHAPING_GLYPH_PROPERTIES*
Eigenschaften jeder Glyphe aus IDWriteTextAnalyzer::GetGlyphen.
[out] actualGlyphCount
Typ: UINT32*
Die neue Glyphenanzahl, die in die geänderten Arrays geschrieben wird, oder die erforderliche Glyphenanzahl, wenn die Größe nicht groß genug ist.
[out, optional] modifiedClusterMap
Typ: UINT16*
Clustermap wurde aktualisiert.
[out] modifiedGlyphIndices
Typ: UINT16*
Bei Bedarf wurden Glyphen mit neuen Glyphen aktualisiert.
[out] modifiedGlyphAdvances
Typ: FLOAT*
Glyphenvorschüsse wurden aktualisiert.
[out] modifiedGlyphOffsets
Typ: DWRITE_GLYPH_OFFSET*
Glyphenoffsets wurden aktualisiert.
Rückgabewert
Typ: HRESULT
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Sie rufen GetJustifiedGlyphen auf, nachdem die Zeile gerechtfertigt wurde und pro Ausführung erfolgt.
Sie sollten GetJustifiedGlyphen aufrufen, wenn IDWriteTextAnalyzer1::GetScriptProperties einen ungleich null DWRITE_SCRIPT_PROPERTIES.justificationCharacter für dieses Skript zurückgibt.
Verwenden Sie GetJustifiedGlyphen hauptsächlich für kursive Skripts wie Arabisch. Wenn maxGlyphCount nicht groß genug ist, gibt GetJustifiedGlyphs den Fehler E_NOT_SUFFICIENT_BUFFER zurück und füllt die Variable, auf die actualGlyphCount mit der erforderlichen Glyphenanzahl verweist.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | dwrite_1.h |
Bibliothek | Dwrite.lib |
DLL | Dwrite.dll |
Weitere Informationen
IDWriteTextAnalyzer1::GetScriptProperties