Partager via


IDWriteTextAnalyzer::GetGlyphs, méthode (dwrite.h)

Analyse la chaîne de texte d’entrée et la mappe à l’ensemble de glyphes et aux données de glyphe associées en fonction de la police et des règles de rendu du système d’écriture.

Syntaxe

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
);

Paramètres

[in] textString

Type : const WCHAR*

Tableau de caractères à convertir en glyphes.

textLength

Type : UINT32

Longueur de textString.

fontFace

Type : IDWriteFontFace*

Visage de police qui est la source des glyphes de sortie.

isSideways

Type : BOOL

Indicateur booléen défini sur TRUE si le texte est destiné à être dessiné verticalement.

isRightToLeft

Type : BOOL

Indicateur booléen défini sur TRUE pour le texte de droite à gauche.

[in] scriptAnalysis

Type : const DWRITE_SCRIPT_ANALYSIS*

Pointeur vers un résultat d’analyse de script à partir d’un appel AnalyzeScript .

[in, optional] localeName

Type : const WCHAR*

Paramètres régionaux à utiliser lors de la sélection de glyphes. Par exemple, le même caractère peut être mappé à différents glyphes pour ja-jp et zh-chs. Si cette valeur est NULL, le mappage par défaut basé sur le script est utilisé.

[optional] numberSubstitution

Type : IDWriteNumberSubstitution*

Pointeur vers une substitution de nombre facultative qui sélectionne les glyphes appropriés pour les chiffres et les caractères numériques associés, en fonction des résultats obtenus à partir de AnalyzeNumberSubstitution. La transmission de la valeur NULL indique qu’aucune substitution n’est nécessaire et que les chiffres doivent recevoir des glyphes nominaux.

[in, optional] features

Type : const DWRITE_TYPOGRAPHIC_FEATURES**

Tableau de pointeurs vers les ensembles de caractéristiques typographiques à utiliser dans chaque plage de caractéristiques.

[in, optional] featureRangeLengths

Type : const UINT32*

Longueur de chaque plage de caractéristiques, en caractères.
La somme de toutes les longueurs doit être égale à textLength.

featureRanges

Type : UINT32

Nombre de plages de fonctionnalités.

maxGlyphCount

Type : UINT32

Nombre maximal de glyphes pouvant être retournés.

[out] clusterMap

Type : UINT16*

Lorsque cette méthode retourne, contient le mappage des plages de caractères aux plages de glyphes.

[out] textProps

Type : DWRITE_SHAPING_TEXT_PROPERTIES*

Lorsque cette méthode retourne, contient un pointeur vers un tableau de structures qui contient des propriétés de mise en forme pour chaque caractère.

[out] glyphIndices

Type : UINT16*

Index de glyphe de sortie.

[out] glyphProps

Type : DWRITE_SHAPING_GLYPH_PROPERTIES*

Lorsque cette méthode retourne, contient un pointeur vers un tableau de structures qui contiennent des propriétés de mise en forme pour chaque glyphe de sortie.

[out] actualGlyphCount

Type : UINT32*

Lorsque cette méthode retourne, contient le nombre réel de glyphes retournés si l’appel réussit.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Notes

Notez que le mappage des caractères aux glyphes est, en général, plusieurs-à-plusieurs. L’estimation recommandée pour les mémoires tampons de sortie par glyphe est (3 * textLength / 2 + 16). Cela n’est pas garanti pour être suffisant.

La valeur du paramètre actualGlyphCount n’est valide que si l’appel réussit. Dans le cas où maxGlyphCount n’est pas assez grand, HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) est retourné. L’application doit allouer une mémoire tampon plus importante et réessayer.

Spécifications

   
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Mise à jour de plateforme pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête dwrite.h
Bibliothèque Dwrite.lib
DLL Dwrite.dll

Voir aussi

IDWriteTextAnalyzer