IDWriteTextAnalyzer1::GetJustifiedGlyphs, méthode (dwrite_1.h)
Remplit de nouveaux glyphes pour les scripts complexes où la justification a augmenté les avancées des glyphes, comme l’arabe avec kashida.
Syntaxe
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
);
Paramètres
fontFace
Type : IDWriteFontFace*
Visage de police utilisé pour la mise en forme.
Peut être NULL.
fontEmSize
Type : FLOAT
Taille de police utilisée pour l’exécution du glyphe.
scriptAnalysis
Type : DWRITE_SCRIPT_ANALYSIS
Script du texte à partir de l’itemizer.
textLength
Type : UINT32
Longueur du texte.
glyphCount
Type : UINT32
Nombre de glyphes.
maxGlyphCount
Type : UINT32
Nombre maximal de glyphes de sortie alloués par l’appelant.
[in, optional] clusterMap
Type : const UINT16*
Clustermap produit à partir de la mise en forme.
[in] glyphIndices
Type : const UINT16*
Glyphes originaux produits à partir de la mise en forme.
[in] glyphAdvances
Type : const FLOAT*
Glyphes d’origine avancées produites à partir de la mise en forme.
[in] justifiedGlyphAdvances
Type : const FLOAT*
Avancées de glyphe justifiées de IDWriteTextAnalyzer1::JustifyGlyphAdvances.
[in] justifiedGlyphOffsets
Type : const DWRITE_GLYPH_OFFSET*
Décalages de glyphe justifiés d’IDWriteTextAnalyzer1::JustifyGlyphAdvances.
[in] glyphProperties
Type : const DWRITE_SHAPING_GLYPH_PROPERTIES*
Propriétés de chaque glyphe, à partir de IDWriteTextAnalyzer::GetGlyphes.
[out] actualGlyphCount
Type : UINT32*
Nouveau nombre de glyphes écrit dans les tableaux modifiés, ou nombre de glyphes nécessaires si la taille n’est pas suffisamment grande.
[out, optional] modifiedClusterMap
Type : UINT16*
Clustermap mis à jour.
[out] modifiedGlyphIndices
Type : UINT16*
Glyphes mis à jour avec de nouveaux glyphes insérés si nécessaire.
[out] modifiedGlyphAdvances
Type : FLOAT*
Mise à jour des avances de glyphes.
[out] modifiedGlyphOffsets
Type : DWRITE_GLYPH_OFFSET*
Décalages de glyphes mis à jour.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Notes
Vous appelez GetJustifiedGlyphs une fois que la ligne a été justifiée et qu’elle est exécutée par exécution.
Vous devez appeler GetJustifiedGlyphs si IDWriteTextAnalyzer1::GetScriptProperties retourne une valeur non null DWRITE_SCRIPT_PROPERTIES.justificationCharacter pour ce script.
Utilisez GetJustifiedGlyphes principalement pour les scripts cursifs comme l’arabe. Si maxGlyphCount n’est pas assez grand, GetJustifiedGlyphes retourne l’erreur E_NOT_SUFFICIENT_BUFFER et remplit la variable vers laquelle pointe actualGlyphCount avec le nombre de glyphes nécessaires.
Spécifications
Client minimal pris en charge | Windows 8 et mise à jour de plateforme pour Windows 7 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 et Platform Update pour Windows Server 2008 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | dwrite_1.h |
Bibliothèque | Dwrite.lib |
DLL | Dwrite.dll |
Voir aussi
IDWriteTextAnalyzer1::GetScriptProperties