INFO : Mesures de police et l’utilisation de négatif lfHeight

Exclusion de responsabilité du contenu obsolète de la base de connaissances

Cet article a été rédigé sur les produits pour lesquels Microsoft n’offre plus aucune prise en charge. Par conséquent, cet article est proposé « en l’état » et ne sera plus mis à jour.

Résumé

Les illustrations suivantes montrent le plus couramment utilisé que des mesures, y compris la hauteur de caractère, ce qui est sélectionné avec des valeurs négatives de chaque illustration sont suivie de notes décrivant les mesures de police.
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

O O
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

/\
/ \
/ \
_ _ _ _ _ _ _ _ _ /______\ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/ \ / \|
/ \ | |
_ _ _ _ _ _ _ _ /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|- External Leading
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _
|
O O |- Internal Leading
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _
| /\
| / \
| / \
| /______\ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Char Height -| / \ / \|
| / \ | |
| /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
| |
| |
_ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

| |
| O O |
| |
| /\ |
| / \ |
| / \ |- Ascent
Cell Height -| /______\ ___ |
| / \ / \| |
| / \ | | |
| /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _
| | |
| | |- Descent
_ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _

Hauteur de la cellule

Il s’agit de la hauteur sélectionnée sous lfHeight positive dans LOGFONT. Il est à la hauteur de la bitmap de la police pour les polices raster. Elle est retournée en tant que tmHeight dans la structure TEXTMETRIC de GetTextMetrics().

Hauteur de caractère (également connu sous le nom de cadratin)

Il s’agit de la hauteur sélectionnée sous lfHeight négatif dans LOGFONT. (Autrement dit, le Mappeur essaiera de trouver une police dont la hauteur caractère correspond à la valeur absolue de la hauteur demandée.)


Remarque: par définition, l’Em est égale à la hauteur de cellule moins interne de pointe. L’Em définit la taille d’une police. Dans le mode de mappage MM_TEXT, l’Em est liée à la taille en points comme suit :

   Em=dpiY*point_size/72;  // where dpiY is dots per inch in Y direction
Le dpiY d’une police est égal à tmDigitizedAspectY dans la structure TEXTMETRICS .

Espace de début interne

Il est renvoyé comme tmInternalLeading dans la structure TEXTMETRIC de GetTextMetrics() et souvent, mais pas nécessairement, décrit la quantité d’espace a été laissé à l’intérieur de la bitmap de la police de marques diacritiques (accents).

Espacement externe

Cela est renvoyé comme tmExternalLeading dans la structure TEXTMETRIC de GetTextMetrics() et décrit combien espace supplémentaire le concepteur attend l’application à conserver entre les lignes de la police. Il n’est pas inclus dans l’image bitmap et n’est pas modifiée par TextOut()/ExtTextOut(), même en mode OPAQUE. Lors de la sortie de plusieurs lignes de texte, les lignes doivent être séparées par (tmHeight + tmExternalLeading).

 Character Width                       Character Width
| |
|-------------| |-------------|
| | / / |
| | / / |
| | / / |
| | / / |
|----------| /----------/ |
| | / / |
| | / / |
| | / / |
| | / / |
|________|
|_____________| |_____________| |
| | Overhang
Character width Character width
(including white space) (including white space)
Overhang = 0 Overhang > 0

Porte-à-faux

tmOverhang Spécifie le par chaîne largeur supplémentaire qui peut être ajoutée à certaines polices synthétisées. Lors de la synthèse de certains attributs, tels que le gras ou l’italique, GDI ou un périphérique peut-être ajouter de largeur à une chaîne à la fois sur un par caractère et par chaîne de base. Par exemple, la GDI synthétise embolding en développant l’espacement entre les caractères et overstriking avec un décalage et met en italique une police par l’inclinaison de la chaîne.


Dans les deux cas, il existe un dépassement au-delà de la chaîne de base. Pour les chaînes en gras, il s’agit de la distance par laquelle le mode Refrappe est décalée. Pour les chaînes en italique, il s’agit du que haut de la police est incliné au-delà de la partie inférieure de la police. tmOverhang permet à l’application pour déterminer le pourcentage de la largeur de caractère retournée par un appel de GetTextExtent() sur un seul caractère correspond à la largeur de caractère réel et quelle est la chaîne de largeur supplémentaire par. La largeur réelle est l’étendue moins le dépassement. En d’autres termes, tmOverhang est la différence entre la largeur d’un caractère lorsqu’elle est sortie séparément par rapport à sa largeur lorsqu’il est à l’intérieur d’une chaîne.


Pour plus d’informations, recherchez les rubriques suivantes dans la référence du Kit de développement logiciel Windows :


  • CreateFont() (dans le Volume 1 de la référence de la version 3.0)
  • TEXTMETRIC (dans le Volume 2 de la référence de la version 3.0)
Propriétés

ID d'article : 32667 - Dernière mise à jour : 27 janv. 2017 - Révision : 1

Commentaires