Partager via


TTLoadEmbeddedFont, fonction (t2embapi.h)

Lit une police incorporée à partir du flux de document et l’installe. Permet également à un client de restreindre davantage les privilèges d’incorporation de la police.

Syntaxe

LONG TTLoadEmbeddedFont(
  [out]          HANDLE        *phFontReference,
  [in]           ULONG         ulFlags,
  [out]          ULONG         *pulPrivStatus,
  [in]           ULONG         ulPrivs,
  [out]          ULONG         *pulStatus,
  [in]           READEMBEDPROC lpfnReadFromStream,
  [in]           LPVOID        lpvReadStream,
  [in, optional] LPWSTR        szWinFamilyName,
  [in, optional] LPSTR         szMacFamilyName,
  [in, optional] TTLOADINFO    *pTTLoadInfo
);

Paramètres

[out] phFontReference

Pointeur vers un handle qui identifie la police incorporée installée. Ce handle fait référence à une structure interne, et non à une structure Hfont.

[in] ulFlags

Indicateur spécifiant les options de chargement et d’installation. Actuellement, cet indicateur peut être défini sur zéro ou la valeur suivante :

Valeur Signification
TTLOAD_PRIVATE
Chargez la police afin qu’elle ne soit pas énumérée à l’utilisateur. Si la police n’est pas installable, elle reste privée.

[out] pulPrivStatus

Pointeur vers l’indicateur indiquant les privilèges d’incorporation de la police. Cet indicateur est écrit à l’achèvement de cette fonction et peut avoir l’une des valeurs suivantes. Cette fonction retourne la licence la moins restrictive accordée.

Valeur Signification
EMBED_PREVIEWPRINT
Aperçu et incorporation d’impression. La police peut être incorporée dans des documents, mais ne doit être installée que temporairement sur le système distant. Un document contenant ce type de police ne peut être ouvert qu’en lecture seule. L’application ne doit pas autoriser l’utilisateur à modifier le document. Le document peut uniquement être affiché et/ou imprimé.
EMBED_EDITABLE
Incorporation modifiable. La police peut être incorporée dans des documents, mais ne doit être installée que temporairement sur le système distant. Un document contenant ce type de police peut être ouvert en lecture/écriture, avec modification autorisée.
EMBED_INSTALLABLE
Incorporation installable. La police peut être incorporée et installée de manière permanente sur le système distant. L’utilisateur du système distant acquiert les mêmes droits, obligations et licences pour cette police que l’acheteur d’origine de la police, et est soumis au même contrat de licence de l’utilisateur final, au droit d’auteur, au brevet de conception et/ou à la même marque que l’acheteur d’origine.
EMBED_NOEMBEDDING
Incorporation de licences restreintes. La police ne doit pas être modifiée, incorporée ou échangée de quelque manière que ce soit sans obtenir au préalable l’autorisation du propriétaire légal.

[in] ulPrivs

Indicateur indiquant une restriction supplémentaire des privilèges d’incorporation, imposée par le client qui charge la police. Cet indicateur doit avoir l’une des valeurs suivantes.

Valeur Signification
LICENSE_PREVIEWPRINT
Aperçu et incorporation d’impression.
LICENSE_EDITABLE
Incorporation modifiable.
LICENSE_INSTALLABLE
Incorporation installable.
LICENSE_NOEMBEDDING
Incorporation de licences restreintes.
LICENSE_DEFAULT
Utilisez le niveau d’incorporation par défaut.

[out] pulStatus

Pointeur vers un champ de bits contenant status informations sur la requête TTLoadEmbeddedFont. Ce champ est rempli à l’achèvement de cette fonction et peut avoir zéro ou plusieurs des valeurs suivantes.

Valeur Signification
TTLOAD_FONT_SUBSETTED
La police chargée est un sous-ensemble de la police d’origine.
TTLOAD_FONT_IN_SYSSTARTUP
La police chargée a été étiquetée comme installable et a été ajoutée au Registre afin qu’elle soit disponible au démarrage.

[in] lpfnReadFromStream

Pointeur vers la fonction de rappel définie par le client qui lit la structure de police à partir du flux de document.

[in] lpvReadStream

Pointeur vers le flux (structure de police).

[in, optional] szWinFamilyName

Pointeur vers le nouveau nom de famille Microsoft Windows Unicode 16 bits de la police. Définissez sur NULL pour utiliser un nom existant. Lorsque vous modifiez le nom d’une police lors du chargement, vous devez fournir ce paramètre et le paramètre szMacFamilyName .

[in, optional] szMacFamilyName

Pointeur vers le nouveau nom de famille Macintosh 8 bits de la police. Définissez sur NULL pour utiliser un nom existant. Lorsque vous modifiez le nom d’une police lors du chargement, vous devez fournir ce paramètre et le paramètre szWinFamilyName .

[in, optional] pTTLoadInfo

Pointeur vers une structure TTLOADINFO contenant l’URL à partir de laquelle l’objet de police incorporé a été obtenu. Si cette valeur ne correspond pas à l’une de celles contenues dans la structure TTEMBEDINFO , la police ne se charge pas correctement.

Valeur retournée

En cas de réussite, retourne E_NONE.

Si le chargement de la police réussit, une police indiquée par phFontReference est créée à partir de la structure de polices avec les noms référencés dans szWinFamilyName et szMacFamilyName. pulPrivStatus est défini pour indiquer les privilèges d’incorporation de la police ; et pulStatus peuvent être définis pour indiquer status informations sur l’opération de chargement de police.

Sinon, retourne un code d’erreur décrit dans Incorporation de messages d’erreur de fonction.

Remarques

Pour aider un client à déterminer si une police incorporée est déjà installée sur le système, la fonction de chargement de police retourne un message d’erreur indiquant qu’une police du même nom existe sur le système (E_FONTNAMEALREADYEXISTS) et si cette police a la même somme de contrôle que la police incorporée (E_FONTALREADYEXISTS). Le client dispose alors de deux options :

  1. Supposons que la police installée est vraiment la même que la police incorporée et couvre les mêmes sous-ensembles.
  2. Forcez l’installation de la police incorporée avec un nom différent pour éviter les incompatibilités avec la police déjà présente sur le système.
Pour modifier le nom d’une police incorporée avant l’installation, le client doit fournir les chaînes de noms caractères 8 bits et 16 bits en tant que paramètres. Le nom de la police sera modifié dans la table de noms de la police nouvellement installée. Le nouveau nom est disponible uniquement pour le client et ne sera pas énuméré pour l’utilisateur.

Pour utiliser le nom existant de la police incorporée, les paramètres de chaîne de nom doivent être définis sur NULL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête t2embapi.h
Bibliothèque T2embed.lib
DLL T2embed.dll

Voir aussi

TTDeleteEmbeddedFont

TTEMBEDINFO

TTGetEmbeddingType

TTGetNewFontName

TTLOADINFO