IDWriteFontFace ::TryGetFontTable, méthode (dwrite.h)

Recherche la table de polices OpenType spécifiée si elle existe et retourne un pointeur vers celle-ci. La fonction accède aux données de police sous-jacentes via l’interface IDWriteFontFileStream implémentée par le chargeur de fichiers de police.

Syntaxe

HRESULT TryGetFontTable(
  [in]  UINT32     openTypeTableTag,
  [out] const void **tableData,
  [out] UINT32     *tableSize,
  [out] void       **tableContext,
  [out] BOOL       *exists
);

Paramètres

[in] openTypeTableTag

Type : UINT32

Balise de quatre caractères d’une table de police OpenType à rechercher. Utilisez la macro DWRITE_MAKE_OPENTYPE_TAG pour la créer en tant qu’UINT32. Contrairement à GDI, il ne prend pas en charge les balises TTCF et null spéciales pour accéder à la police entière.

[out] tableData

Type : const void**

Lorsque cette méthode retourne, contient l’adresse d’un pointeur vers la base de la table en mémoire. Le pointeur est valide uniquement tant que la face de police utilisée pour obtenir la table de polices existe toujours ; (pas d’autre visage de police, même s’il fait référence à la même police physique). Ce paramètre est passé sans être initialisé.

[out] tableSize

Type : UINT32*

Lorsque cette méthode retourne, contient un pointeur vers la taille, en octets, de la table de polices.

[out] tableContext

Type : void**

Lorsque cette méthode retourne, l’adresse d’un pointeur vers le contexte opaque, qui doit être libéré en appelant ReleaseFontTable. Le contexte provient en fait du niveau inférieur IDWriteFontFileStream, qui peut être implémenté par l’application ou DWrite lui-même. Il est possible qu’une table NULLContext soit retournée, en particulier si l’implémentation effectue un mappage direct de la mémoire sur l’ensemble du fichier. Néanmoins, toujours le publier ultérieurement et ne l’utilisez pas comme test de réussite de la fonction. La même table peut être interrogée plusieurs fois, mais comme chaque contexte retourné peut être différent, vous devez libérer chaque contexte séparément.

[out] exists

Type : BOOL*

Lorsque cette méthode retourne, TRUE si la table de polices existe ; sinon, FALSE.

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 contexte de la même balise peut être différent pour chaque appel. Chacun d’eux doit donc être conservé et libéré séparément.

Configuration requise

Condition requise Valeur
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

IDWriteFontFace