Partager via


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

IDWriteTextAnalyzer1::GetScriptProperties

IDWriteTextAnalyzer1::JustifyGlyphAdvances

IDWriteTextAnalyzer::GetGlyphes