structure PRINTIFI32 (prntfont.h)

La structure PRINTIFI32 est une version de taille fixe de la structure IFIMETRICS et définit des informations pour une police de type donnée que GDI peut utiliser.

Syntaxe

typedef struct _PRINTIFI32 {
  ULONG   cjThis;
  ULONG   cjIfiExtra;
  PTRDIFF dpwszFamilyName;
  PTRDIFF dpwszStyleName;
  PTRDIFF dpwszFaceName;
  PTRDIFF dpwszUniqueName;
  PTRDIFF dpFontSim;
  LONG    lEmbedId;
  LONG    lItalicAngle;
  LONG    lCharBias;
  PTRDIFF dpCharSets;
  BYTE    jWinCharSet;
  BYTE    jWinPitchAndFamily;
  USHORT  usWinWeight;
  ULONG   flInfo;
  USHORT  fsSelection;
  USHORT  fsType;
  FWORD   fwdUnitsPerEm;
  FWORD   fwdLowestPPEm;
  FWORD   fwdWinAscender;
  FWORD   fwdWinDescender;
  FWORD   fwdMacAscender;
  FWORD   fwdMacDescender;
  FWORD   fwdMacLineGap;
  FWORD   fwdTypoAscender;
  FWORD   fwdTypoDescender;
  FWORD   fwdTypoLineGap;
  FWORD   fwdAveCharWidth;
  FWORD   fwdMaxCharInc;
  FWORD   fwdCapHeight;
  FWORD   fwdXHeight;
  FWORD   fwdSubscriptXSize;
  FWORD   fwdSubscriptYSize;
  FWORD   fwdSubscriptXOffset;
  FWORD   fwdSubscriptYOffset;
  FWORD   fwdSuperscriptXSize;
  FWORD   fwdSuperscriptYSize;
  FWORD   fwdSuperscriptXOffset;
  FWORD   fwdSuperscriptYOffset;
  FWORD   fwdUnderscoreSize;
  FWORD   fwdUnderscorePosition;
  FWORD   fwdStrikeoutSize;
  FWORD   fwdStrikeoutPosition;
  BYTE    chFirstChar;
  BYTE    chLastChar;
  BYTE    chDefaultChar;
  BYTE    chBreakChar;
  WCHAR   wcFirstChar;
  WCHAR   wcLastChar;
  WCHAR   wcDefaultChar;
  WCHAR   wcBreakChar;
  POINTL  ptlBaseline;
  POINTL  ptlAspect;
  POINTL  ptlCaret;
  RECTL   rclFontBox;
  BYTE    achVendId[4];
  ULONG   cKerningPairs;
  ULONG   ulPanoseCulture;
  PANOSE  panose;
} PRINTIFI32, *PPRINTIFI32;

Membres

cjThis

Spécifie la taille en octets de cette structure. La taille spécifiée inclut toutes les chaînes Unicode ajoutées à la fin de cette structure, ainsi que la taille en octets de la structure IFIEXTRA facultative.

cjIfiExtra

Spécifie la taille en octets de la structure IFIEXTRA qui suit cette structure. La valeur zéro indique qu’aucune structure IFIEXTRA n’est présente.

dpwszFamilyName

Spécifie le décalage en octets d’une chaîne Unicode terminée par null contenant le nom de famille de la police (par exemple, « Times Roman »). En règle générale, cette chaîne suit immédiatement cette structure. Cette chaîne doit être identique au nom enregistré dans le membre lfFaceName de la structure Win32 LOGFONT.

dpwszStyleName

Spécifie le décalage en octets d’une chaîne Unicode terminée par null décrivant le style de la police (par exemple, « Gras »).

dpwszFaceName

Spécifie le décalage en octets d’une chaîne Unicode terminée par null représentant le nom unique et complet de la police. Le nom contient les noms de famille et de sous-famille de la police (par exemple, « Times New Roman Bold »).

dpwszUniqueName

Spécifie le décalage en octets d’une chaîne Unicode terminée par null représentant l’identificateur unique de la police (par exemple, « Monotype :Times New Roman :1990 »).

dpFontSim

Spécifie le décalage en octets entre le début de cette structure et une structure FONTSIM qui décrit les simulations que la police prend en charge. Le pilote doit définir ce membre sur une valeur différente de zéro uniquement si la police prend en charge les simulations italiques en gras, italique ou gras ; sinon, le pilote doit définir cette valeur sur zéro.

Notez que si une police est en italique par conception, le pilote ne doit pas indiquer la prise en charge de la police pour la simulation italique, bien qu’il puisse indiquer la prise en charge de la police pour la simulation italique en gras. De même, le pilote ne doit pas indiquer la prise en charge de la police pour la simulation en gras si la police est en gras par conception, mais peut indiquer la prise en charge de la police pour la simulation italique en gras. Si la police est à la fois en gras et italique, elle ne doit prendre en charge aucune simulation.

Les décalages dans la structure FONTSIM sont relatifs à la base de la structure FONTSIM.

lEmbedId

Spécifie l’ID d’incorporation de la police. Cette valeur est spécifique à TrueType et doit être définie sur zéro par tous les autres fournisseurs de polices.

lItalicAngle

Spécifie l’angle italique de la police. Cette valeur est spécifique à TrueType et doit être définie sur zéro par tous les autres fournisseurs de polices.

lCharBias

Spécifie le biais de caractère. Cette valeur est spécifique à TrueType et doit être définie sur zéro par tous les autres fournisseurs de polices.

dpCharSets

Spécifie le décalage entre le début de cette structure et un tableau contenant une liste de tous les jeux de caractères Windows pris en charge par cette police. La taille du tableau est de 16 octets et se termine toujours par DEFAULT_CHARSET. La première valeur du tableau doit identifier le jeu de caractères Windows qui a la couverture la plus optimale et la plus complète dans la police ; cette valeur doit également être stockée dans jWinCharSet. Par instance, s’il s’agit d’une police japonaise qui prend également en charge les jeux de caractères US ANSI et Cyrillic, jWinCharSet doit être défini sur SHIFTJIS_CHARSET et le tableau identifié par dpCharSets contiendrait SHIFTJIS_CHARSET, ANSI_CHARSET, RUSSIAN_CHARSET DEFAULT_CHARSET.

Si cette police ne prend pas en charge plusieurs jeux de caractères Windows, dpCharSets doit être défini sur zéro.

jWinCharSet

Identifie le jeu de caractères le mieux pris en charge par cette police. Si la police ne prend en charge qu’un seul jeu de caractères Windows, le pilote doit stocker la valeur correspondante dans jWinCharSet. Le pilote ne doit pas stocker DEFAULT_CHARSET dans ce champ. Ce membre peut être l’une des valeurs suivantes :

Valeur Description
ANSI_CHARSET Cette police prend en charge le jeu de caractères ANSI Windows.
ARABIC_CHARSET Cette police prend en charge le jeu de caractères arabes.
BALTIC_CHARSET Cette police prend en charge le jeu de caractères baltes.
CHINESEBIG5_CHARSET Cette police prend en charge le jeu de caractères chinois traditionnel (Big 5).
EASTEUROPE_CHARSET Cette police prend en charge le jeu de caractères d’Europe de l’Est.
GB2312_CHARSET Cette police prend en charge le jeu de caractères chinois simplifié (PRC).
GREEK_CHARSET Cette police prend en charge le jeu de caractères grecs.
HANGEUL_CHARSET Cette police prend en charge le jeu de caractères coréen (Hangeul).
HEBREW_CHARSET Cette police prend en charge le jeu de caractères hébreux.
JOHAB_CHARSET Cette police prend en charge le jeu de caractères coréen (Johab).
OEM_CHARSET Cette police prend en charge un jeu de caractères spécifique à l’OEM. Le jeu de caractères OEM dépend du système.
SHIFTJIS_CHARSET Cette police prend en charge le jeu de caractères Shift-JIS (Japanese Industry Standard).
SYMBOL_CHARSET Cette police prend en charge le jeu de caractères de symboles Windows.
RUSSIAN_CHARSET Cette police prend en charge le jeu de caractères cyrilliques.
THAI_CHARSET Cette police prend en charge le jeu de caractères thaïlandais.
TURKISH_CHARSET Cette police prend en charge le jeu de caractères turc.
VIETNAMESE_CHARSET Cette police prend en charge le jeu de caractères vietnamien.

jWinPitchAndFamily

Spécifie le pitch de la police. Les deux bits d’ordre inférieur spécifient le pitch de la police et peuvent être l’une des valeurs suivantes :

Valeur Description
FIXED_PITCH Pour les polices de pas fixes
VARIABLE_PITCH Pour les polices de pas variable

Les bits 4 à 7 de ce membre spécifient la famille de polices et peuvent être l’une des valeurs suivantes :

Valeur Description
FF_DECORATIVE Polices de nouveauté, telles que l’ancien anglais.
FF_DONTCARE Ne vous en fout pas ou inconnu.
FF_MODERN Polices à largeur de trait constante (pas fixe), avec ou sans empattements. Les polices à pas fixe sont généralement modernes, telles que Pica, Elite et Courier.
FF_ROMAN Polices avec une largeur de trait variable (proportionnellement espacée) et avec des empattements, comme Times Roman, Palatino et Century Schoolbook.
FF_SCRIPT Polices conçues pour ressembler à de l’écriture manuscrite, telles que Script et Cursive.
FF_SWISS Polices avec une largeur de trait variable (espacement proportionnel) et sans empattements, comme Helvetica et Swiss.

usWinWeight

Spécifie le poids de la police dans la plage de 0 à 1 000 (par exemple, 400 est normal et 700 en gras). Cette valeur est fournie à l’application dans le membre lfWeight de la structure Win32 LOGFONT.

flInfo

Spécifie des informations supplémentaires sur la police. Ce champ peut être une combinaison des valeurs d’indicateur suivantes :

Valeur

Signification

FM_INFO_1BPP

Indique qu’une bitmap de glyphe a une profondeur de couleur d’un bit par pixel. Pour Windows NT 3.1, la première version de Windows NT, cet indicateur doit être défini.

FM_INFO_4BPP

Indique qu’une bitmap de glyphe a une profondeur de couleur de quatre bits par pixel. Le pilote doit définir cette valeur si la police prend en charge les bitmaps de glyphes anticrénelées avec 16 niveaux de gris.

FM_INFO_8BPP

Indique qu’une bitmap de glyphe a une profondeur de couleur de huit bits par pixel. La version actuelle de GDI ignore ce paramètre, car elle ne prend pas en charge les polices de couleur.

FM_INFO_16BPP

Indique qu’une bitmap de glyphe a une profondeur de couleur de 16 bits par pixel. La version actuelle de GDI ignore ce paramètre, car elle ne prend pas en charge les polices de couleur.

FM_INFO_24BPP

Indique qu’une bitmap de glyphe a une profondeur de couleur de 24 bits par pixel. La version actuelle de GDI ignore ce paramètre, car elle ne prend pas en charge les polices de couleur.

FM_INFO_32BPP

Indique qu’une bitmap de glyphe a une profondeur de couleur de 32 bits par pixel. La version actuelle de GDI ignore ce paramètre, car elle ne prend pas en charge les polices de couleur.

FM_INFO_90DEGREE_ROTATIONS

Indique que la police peut être réalisée en rotations de 90 degrés de la forme notionnelle d’origine. GDI demande la rotation d’une police en incluant la rotation dans la transformation notionnelle de périphérique passée au pilote lors de la création de la police. Ce membre a une signification uniquement lorsque l’indicateur FM_INFO_ARB_XFORMS n’a pas été défini.

FM_INFO_ANISOTROPIC_SCALING_ONLY

Indique que la police prend uniquement en charge la mise à l’échelle anisotrope arbitraire. Autrement dit, les transformations sont équivalentes à une matrice diagonale multipliée par un nombre réel positif. Si cet indicateur est défini, les indicateurs FM_INFO_ARB_XFORMS et FM_INFO_ISOTROPIC_SCALING_ONLY ne peuvent pas être définis. Si l’indicateur FM_INFO_90DEGREE_ROTATIONS est également défini, la police prend en charge les transformations qui sont une combinaison d’une mise à l’échelle anisotrope simple suivie d’une rotation d’un multiple de 90 degrés.

FM_INFO_ARB_XFORMS

Indique qu’une police peut être réalisée sous une plage continue de transformations linéaires à deux dimensions.

FM_INFO_CONSTANT_WIDTH

Indique que tous les glyphes de la police sous toutes les réalisations ont la même valeur d’incrément de caractères. Si cet indicateur est défini, l’indicateur FM_INFO_OPTICALLY_FIXED_PITCH doit également être défini.

FM_INFO_DBCS_FIXED_PITCH

Indique que les caractères codés sur deux octets pour cette police sont de hauteur fixe. Rien n’est implicite concernant les caractères codés sur un octet. Cet indicateur n’est significatif que pour les polices qui prennent en charge un jeu de caractères codés sur deux octets (DBCS), tel que maj JIS. Les polices qui ne prennent pas en charge un DBCS ne doivent pas définir cet indicateur.

FM_INFO_DO_NOT_ENUMERATE

Indique que cette police ne sera pas énumérée par les routines Win32 EnumFontFamiliesEx, EnumFontFamilies ou EnumFonts . En outre, la chaîne retournée à un appel d’application Win32 à GetTextFace sera récupérée à partir de la chaîne dpwszUniqueName. Cet indicateur permet au fournisseur de polices d’associer plusieurs PRINTIFI32 structure à l’une de ses polices.

FM_INFO_DSIG

Indique qu’une police est conforme à la norme Unicode.

FM_INFO_FAMILY_EQUIV

Indique que le décalage dpwszFamilyName dans PRINTIFI32 est en fait le décalage vers une liste de noms de famille ou d’alias équivalents. Le prénom est le nom de base ou le nom réel ; les noms suivants sont des équivalents ou des alias. Chaque nom de la liste a une fin null ; la liste est terminée par deux zéros.

<base name> <alias 0> <alias 1> ... <alias n>

Les noms basés sont utilisés uniquement pour le mappage ; ils ne sont pas énumérés.

FM_INFO_IGNORE_TC_RA_ABLE

Indique que, pour cette police, l’indicateur TC_RA_ABLE est ignoré.

FM_INFO_INTEGER_WIDTH

Indique que tous les glyphes ont des largeurs avancées non transactionnelles. Les polices bitmap définissent généralement cet indicateur.

FM_INFO_INTEGRAL_SCALING

Indique que la police peut être mise à l’échelle d’une quantité intégrale dans les directions x et y. Si cet indicateur est défini, le pilote doit être en mesure de restituer les glyphes dans le cas où la transformation notionnelle en appareil est mise à l’échelle par des quantités intégrales dans les directions x et y. GDI demande la mise à l’échelle intégrale d’une police en incluant les mises à l’échelleaxiale dans la transformation notionnelle en appareil passée au pilote lors de la création de la police. Cet indicateur n’est significatif que lorsque l’indicateur FM_INFO_ARB_XFORMS n’a pas été défini.

FM_INFO_ISOTROPIC_SCALING_ONLY

Indique que la police prend uniquement en charge la mise à l’échelle isotrope arbitraire. Autrement dit, les transformations sont équivalentes à la matrice d’identité multipliée par un nombre réel positif. Si cet indicateur est défini, ni les indicateurs FM_INFO_ARB_XFORMS ni les indicateurs FM_INFO_ANISOTROPIC_SCALING_ONLY ne peuvent être définis. Si l’indicateur FM_INFO_90DEGREE_ROTATIONS est défini, la police prend en charge les transformations équivalentes à une mise à l’échelle isotrope suivie d’une rotation d’un multiple de 90 degrés.

FM_INFO_OPTICALLY_FIXED_PITCH

Indique que cette police est considérée typographiquement comme une hauteur fixe. Il s’agit d’une qualité optique de la police et n’indique pas nécessairement que tous les glyphes de la police ont le même incrément de caractères.

FM_INFO_NONNEGATIVE_AC

Indique que tous les glyphes de cette police ont un espacement a et c non négatif. Autrement dit, la boîte noire du glyphe ne s’étend jamais en dehors de la région délimitée par l’origine du caractère et le point de concaténation du caractère.

FM_INFO_NOT_CONTIGUOUS

Indique que le jeu de caractères pris en charge n’est pas contigu.

FM_INFO_RETURNS_BITMAPS

Indique que la police contient une signature numérique valide.

FM_INFO_RETURNS_OUTLINES

Indique que pour tout glyphe pris en charge par le pilote, GDI peut demander une structure PATHOBJ qui décrit le contour de ce glyphe. Si possible, lorsque le plan est rempli à l’aide des conventions de remplissage de chemin d’accès de GDI, la bitmap résultante doit être identique à la bitmap retournée par le pilote. Les indicateurs FM_INFO_RETURNS_OUTLINES et FM_INFO_RETURNS_STOKES ne peuvent pas être définis simultanément.

FM_INFO_RETURNS_STROKES

Indique que pour tout glyphe pris en charge par les pilotes, GDI peut demander une structure PATHOBJ qui décrit la spline du glyphe. Ce chemin ne peut pas être rempli, mais peut être tracé pour donner une représentation du glyphe. Les indicateurs FM_INFO_RETURNS_OUTLINES et FM_INFO_RETURNS_STOKES ne peuvent pas être définis simultanément.

FM_INFO_RIGHT_HANDED

Indique que la direction d’ascension de la police est de 90 degrés dans le sens inverse des aiguilles d’une montre par rapport à la direction de base. La direction de l’ascension est la direction le long de laquelle la hauteur est mesurée et est toujours perpendiculaire à la direction de base.

FM_INFO_TECH_BITMAP

Indique que la police est une police bitmap.

FM_INFO_TECH_CFF

Indique que la police est une police OpenType Pscript qui contient une table CFF (Compact Font Format).

FM_INFO_TECH_MM

Indique qu’il s’agit d’une police MM (Multiple Master).

FM_INFO_TECH_OUTLINE_NOT_TRUETYPE

Indique que la police est basée sur une technologie de police évolutive qui utilise des chemins de plan, mais n’est pas basée sur TrueType. Cet indicateur ne spécifie pas si les chemins retournés pour cette police doivent être remplis ou tracés . le consommateur doit examiner les indicateurs FM_INFO_RETURNS_STROKES et FM_INFO_RETURNS_OUTLINES pour obtenir ces informations.

FM_INFO_TECH_STROKE

Indique que la police est basée sur une technologie de police à traits. Cet indicateur ne spécifie pas si les chemins retournés pour cette police doivent être remplis ou tracés . le consommateur doit examiner les indicateurs FM_INFO_RETURNS_STROKES et FM_INFO_RETURNS_OUTLINES pour obtenir ces informations.

FM_INFO_TECH_TRUETYPE

Indique que la police est une police TrueType.

FM_INFO_TECH_TYPE1

Indique que cette police est une police d’écran PostScript (Type1 ou OpenType PostScript).

fsSelection

Spécifie une combinaison des indicateurs suivants :

Valeur Description
FM_SEL_BOLD Définissez si les caractères de la police sont en gras.
FM_SEL_ITALIC Définir si les caractères de la police sont en italique.
FM_SEL_NEGATIVE Définir si les caractères de la police ont le premier plan et l’arrière-plan inversés.
FM_SEL_OUTLINED Définir si les caractères de la police sont creux.
FM_SEL_REGULAR Définir si les caractères de la police ont un poids normal.
FM_SEL_STRIKEOUT Définir si les caractères de la police sont rayés par défaut ; sinon, les grèves doivent être simulées.
FM_SEL_UNDERSCORE Définir si tous les caractères de la police sont soulignés par défaut ; dans le cas contraire, la mise en valeur doit être simulée.

fsType

Il s’agit d’un champ de bits spécifique à TrueType qui indique certaines propriétés de la police, telles que l’incorporation de polices et les droits de licence pour la police. Les polices incorporables peuvent être stockées dans un document. Lorsqu’un document avec des polices incorporées est ouvert sur un système sur lequel la police n’est pas installée (le système distant), la police incorporée peut être chargée pour une utilisation temporaire (et dans certains cas permanente) sur ce système par une application prenant en charge l’incorporation. Les droits de licence d’incorporation sont accordés par le fournisseur de polices. Les indicateurs suivants peuvent être définis :

Valeur Description
FM_EDITABLE_EMBED Définissez si la police peut être incorporée et chargée temporairement sur d’autres systèmes. Les documents contenant des polices modifiables peuvent être ouverts à des fins de lecture et d’écriture.
FM_READONLY_EMBED Définir si l’incorporation en lecture/écriture n’est pas autorisée ; seule l’encapsulation « aperçu et impression » est autorisée. Lorsque ce bit est défini, la police peut être incorporée et chargée temporairement sur le système distant. Les documents contenant des polices « aperçu et impression » doivent être ouverts en lecture seule ; aucune modification ne peut être appliquée au document.
FM_TYPE_LICENSED, FM_NO_EMBEDDING Définissez si la police est une police licence restreinte. Lorsque seul ce bit est défini, cette 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. Pour que l’incorporation de licences restreintes prenne effet, il doit s’agir du seul niveau d’incorporation sélectionné.

Les polices dont le FM_READONLY_EMBED jeu de bits indiquent qu’elles peuvent être incorporées dans des documents, mais qu’elles ne doivent être installées que temporairement sur le système distant. Tout document qui inclut une police FM_READONLY_EMBED doit être ouvert en lecture seule. Autrement dit, l’application peut permettre à l’utilisateur d’afficher et/ou d’imprimer le document, mais pas de le modifier.

Les polices dont le FM_EDITABLE_EMBED jeu de bits indiquent qu’elles peuvent être incorporées dans des documents, mais ne doivent être installées que temporairement sur le système distant. Contrairement aux polices FM_READONLY_EMBED, les documents contenant des polices modifiables peuvent être ouverts en lecture/écriture ; la modification est autorisée et les modifications peuvent être enregistrées.

Les polices sans bits fsType définis indiquent qu’elles peuvent être incorporées et installées de manière permanente sur le système distant par une application. 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.

Les applications qui implémentent la prise en charge de l’incorporation de polices, soit à l’aide de la DLL d’incorporation de polices, soit par d’autres moyens, ne doivent pas incorporer des polices qui ne sont pas concédées sous licence pour autoriser l’incorporation. En outre, les applications qui chargent des polices incorporées pour une utilisation temporaire doivent supprimer les polices lorsque le document contenant la police incorporée est fermé.

Si plusieurs bits d’incorporation sont définis, la licence la moins restrictive accordée est prioritaire. Par exemple, si les bits 1 et 3 sont définis, le bit 3 est prioritaire sur le bit 1 et la police peut être incorporée avec des droits modifiables. À des fins de compatibilité, la plupart des fournisseurs qui accordent des droits d’incorporation modifiables définissent également l’aperçu & bit d’impression (0x000C). Cela permet à une application qui prend uniquement en charge la préversion & l’incorporation d’impression de détecter que l’incorporation de polices est autorisée.

fwdUnitsPerEm

Spécifie la hauteur em de la police.

fwdLowestPPEm

Spécifie la plus petite taille lisible de la police, en pixels. Cette valeur est ignorée pour les polices bitmap.

fwdWinAscender

Spécifie la valeur de l’ascendant Windows pour la police.

fwdWinDescender

Spécifie la valeur du descendeur Windows pour la police.

fwdMacAscender

Spécifie la valeur de l’ascendant Macintosh pour la police.

fwdMacDescender

Spécifie la valeur de descendeur Macintosh pour la police. Ce nombre est généralement inférieur à zéro. Il mesure le déplacement signé à partir de la ligne de base du descendeur le plus bas dans le jeu de caractères Macintosh.

fwdMacLineGap

Spécifie l’écart de ligne Macintosh pour la police. L’espacement interligne Macintosh suggéré est égal à fwdMacLineGap + fwdMacAscender âˆ' fwdMacDescender.

fwdTypoAscender

Spécifie la valeur de l’ascendant typographique pour la police.

fwdTypoDescender

Spécifie la valeur de descendeur typographique pour la police. Cette valeur spécifie le déplacement signé du descendeur le plus bas de la ligne de base.

fwdTypoLineGap

Spécifie l’écart de ligne typographique pour la police.

fwdAveCharWidth

Spécifie la moyenne arithmétique de la largeur de l’ensemble des 26 lettres minuscules « a » à « z » de l’alphabet latin et du caractère espace. Si l’une des 26 lettres minuscules n’est pas présente, ce membre doit être défini sur la moyenne pondérée de tous les glyphes de la police.

fwdMaxCharInc

Spécifie l’incrément de caractères maximal de tous les glyphes dans la police.

fwdCapHeight

Spécifie la hauteur de la ligne optique décrivant le haut de la majuscule « H » en unités de police (FUnits). Cela peut ne pas être identique à la hauteur mesurée de la majuscule 'H.' Si ces informations n’existent pas, fwdCapHeight doit être défini sur zéro, ce qui indique qu’elle n’est pas définie.

fwdXHeight

Spécifie la hauteur de la ligne optique décrivant la hauteur du « x » minuscule en unités de police. Cela peut ne pas être identique à la hauteur mesurée de la minuscule 'x'. La valeur zéro indique que ce membre n’est pas défini.

fwdSubscriptXSize

Spécifie la largeur de caractères suggérée (la taille le long de la direction de base) de la police d’indice.

fwdSubscriptYSize

Spécifie la hauteur de caractère suggérée (la taille le long de la direction de l’ascendant) de la police d’indice.

fwdSubscriptXOffset

Spécifie le décalage suggéré dans la direction de la ligne de base du caractère d’indice. Le décalage est par rapport à l’origine du caractère de base.

fwdSubscriptYOffset

Spécifie le décalage suggéré dans la direction de la ligne de base du caractère d’indice. Le décalage est pris à partir de l’origine du caractère de base.

fwdSuperscriptXSize

Spécifie la largeur de caractères suggérée (la taille le long de la direction de base) de la police d’exposant.

fwdSuperscriptYSize

Spécifie la hauteur de caractère suggérée (la taille le long de la direction de l’ascendant) de la police d’exposant.

fwdSuperscriptXOffset

Spécifie le décalage suggéré dans le sens de la ligne de base du caractère d’exposant. Le décalage est pris à partir de l’origine du caractère de base.

fwdSuperscriptYOffset

Spécifie le décalage suggéré dans le sens de la ligne de base du caractère d’exposant. Le décalage est pris à partir de l’origine du caractère de base.

fwdUnderscoreSize

Spécifie la largeur suggérée de la barre de trait de soulignement, en unités de police.

fwdUnderscorePosition

Spécifie le déplacement suggéré, en unités de police, de la ligne de base au milieu de la barre de trait de soulignement.

fwdStrikeoutSize

Spécifie la largeur suggérée de la barre bar barré, en coordonnées de police.

fwdStrikeoutPosition

Spécifie le déplacement suggéré du milieu de la barre bar barrée à partir de la ligne de base.

chFirstChar

Spécifie le caractère le plus bas pris en charge dans la page de codes spécifiée dans jWinCharSet. Ce champ est fourni pour la compatibilité windows 3.1.

chLastChar

Spécifie le caractère le plus élevé pris en charge dans la page de codes spécifiée dans jWinCharSet. Ce champ est fourni pour la compatibilité windows 3.1.

chDefaultChar

Spécifie le caractère par défaut dans la page de codes spécifiée dans jWinCharSet. Ce champ est fourni pour la compatibilité windows 3.1.

chBreakChar

Spécifie le caractère d’arrêt dans la page de code spécifiée dans jWinCharSet. Ce champ est fourni pour la compatibilité de Windows 3.1.

wcFirstChar

Spécifie le caractère pris en charge avec le plus petit code de caractères Unicode.

wcLastChar

Spécifie le caractère pris en charge avec le plus grand code de caractères Unicode.

wcDefaultChar

Spécifie le caractère à remplacer lorsqu’une application demande un caractère qui n’est pas pris en charge par la police.

wcBreakChar

Spécifie le point de code du caractère d’espace ou son équivalent.

ptlBaseline

Spécifie une structure POINTL qui contient le sens d’écriture prévu de cette police. Par exemple, une police latine typique spécifie une valeur de (1,0).

ptlAspect

Spécifie une structure POINTL qui contient le rapport d’aspect des centres de pixels pour lesquels la police bitmap a été conçue. Cette valeur est utilisée uniquement par les polices bitmap.

ptlCaret

Spécifie une structure POINTL qui contient la direction de la direction ascendante de la police. Par exemple, la valeur d’une police latine nonitalicisée est (0,1), tandis qu’une police latine en italique peut spécifier une valeur de (2,5).

rclFontBox

Spécifie une structure RECTL qui décrit le cadre englobant de tous les glyphes de la police dans l’espace de conception.

achVendId[4]

Spécifie un identificateur de quatre caractères pour le fournisseur de polices. Les identificateurs sont documentés dans la spécification Microsoft TrueType.

cKerningPairs

Spécifie le nombre de paires de crénage associées à cette police.

ulPanoseCulture

Spécifie la façon d’interpréter le nombre en panose. Ce nombre doit être défini sur FM_PANOSE_CULTURE_LATIN pour les polices latines. Consultez la documentation du Kit de développement logiciel (SDK) Microsoft Window pour plus d’informations sur la structure PANOSE.

panose

Tableau de 10 octets utilisé pour décrire les caractéristiques visuelles d’une police donnée. Ces caractéristiques sont ensuite utilisées pour associer la police à d’autres polices d’apparence similaire ayant des noms différents. Pour plus d’informations sur la structure PANOSE, consultez la documentation du Kit de développement logiciel (SDK) Windows.

Remarques

La structure PRINTIFI32 est disponible dans Windows Server 2003 SP1 et versions ultérieures. Étant donné que cette structure est de taille fixe et qu’il est garanti qu’elle ne change pas entre les architectures ou les versions de système d’exploitation, elle peut être utilisée pour les dispositions de fichiers binaires. Les fichiers UFM Unidrv sont disposés dans le format décrit dans cette structure, pour toutes les plateformes. Les fichiers NTF Pscript5 utilisent la version spécifique à la plateforme de cette structure.

Des informations supplémentaires pour une police peuvent éventuellement être spécifiées dans la structure IFIEXTRA .

La routine DrvQueryFont d’un pilote remplit et retourne une structure IFIMETRICS à GDI.

La structure PRINTIFI32 définit toutes les informations d’une police que GDI comprend. La plupart des membres sont des valeurs FWORD, qui sont signées des quantités 16 bits dans l’espace de conception. Si la police est une police raster, l’espace de conception et l’espace appareil sont identiques et une unité de police équivaut à la distance entre les pixels.

Le système de coordonnées dans l’espace de police/notionnel est tel que la coordonnée y augmente vers le haut et que la coordonnée x augmente vers la droite.

Configuration requise

Condition requise Valeur
En-tête prntfont.h (inclure Prntfont.h)

Voir aussi

IFIMETRICS