IDWriteTextAnalyzer1 ::GetTextComplexity, méthode (dwrite_1.h)
Détermine la complexité du texte et détermine si vous devez appeler IDWriteTextAnalyzer ::GetGlyphs pour la mise en forme complète du script.
Syntaxe
HRESULT GetTextComplexity(
[in] WCHAR const *textString,
UINT32 textLength,
IDWriteFontFace *fontFace,
[out] BOOL *isTextSimple,
[out] UINT32 *textLengthRead,
[out, optional] UINT16 *glyphIndices
);
Paramètres
[in] textString
Type : const WCHAR*
Texte à case activée de complexité. Cette chaîne peut être UTF-16, mais tous les caractères supplémentaires seront considérés comme complexes.
textLength
Type : UINT32
Longueur du texte à case activée.
fontFace
Type : IDWriteFontFace*
Visage de police à lire.
[out] isTextSimple
Type : BOOL*
Si la valeur est true, le texte est simple et le tableau glyphIndices aura déjà les glyphes nominaux pour vous. Sinon, vous devez appeler IDWriteTextAnalyzer ::GetGlyphs pour mettre en forme correctement des scripts complexes et des fonctionnalités OpenType.
[out] textLengthRead
Type : UINT32*
Longueur de lecture de l’exécution de texte avec la même complexité, simple ou complexe. Vous pouvez appeler à nouveau à partir de ce point.
[out, optional] glyphIndices
Type : UINT16*
Index de glyphe facultatifs pour le texte. Si la fonction a retourné que le texte était simple, vous disposez déjà des glyphes dont vous avez besoin. Sinon, les index de glyphes ne sont pas significatifs et vous devez appeler IDWriteTextAnalyzer ::GetGlyphs pour la mise en forme à la place.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Le texte n’est pas simple si les caractères font partie d’un script qui a des exigences de mise en forme complexes, nécessitent une analyse des bidi, se combinent avec d’autres caractères, résident dans les plans supplémentaires ou ont des glyphes qui participent aux fonctionnalités OpenType standard. La longueur retournée ne fractionne pas les marques combinées de leurs caractères de base.
Configuration requise
Condition requise | Valeur |
---|---|
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 mise à jour de plateforme 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 |