Partager via


Structure WIDTHRUN (prntfont.h)

La structure WIDTHRUN permet de définir le contenu des fichiers de métriques de police unidrv (fichiers .ufm).

Syntaxe

typedef struct _WIDTHRUN {
  WORD  wStartGlyph;
  WORD  wGlyphCount;
  DWORD loCharWidthOffset;
} WIDTHRUN, *PWIDTHRUN;

Membres

wStartGlyph

Valeur d’index indiquant le premier glyphe de l’exécution de largeur.

wGlyphCount

Spécifie le nombre de glyphes représentés par l’exécution de largeur.

loCharWidthOffset

Spécifie le décalage entre le début d’une structure WIDTHTABLE à l’emplacement contenant la largeur de l’ensemble de glyphes contenus dans l’exécution de largeur.

Remarques

Une exécution de largeur décrit les largeurs d’un ensemble de glyphes adjacents. Les ensembles d’exécutions de largeur sont décrits par un tableau d’éléments WIDTHRUN. Le tableau est contenu dans une structure WIDTHTABLE.

Les valeurs d’index contenues dans dwStartGlyph sont des entiers, à compter de 1, chaque glyphe de la police ayant un index. Autrement dit, le premier glyphe de la police reçoit une valeur d’index de 1, l’index du glyphe suivant est 2, et ainsi de suite.

Par exemple, supposons que les trois premiers éléments d’un tableau WIDTHRUN contiennent les valeurs suivantes :

wStartGlyphwGlyphCountIoCharWidthOffset=xxx

wStartGlyphwGlyphCountIoCharWidthOffset=aaaa

wStartGlyphwGlyphCountIoCharWidthOffsetzzz At offset xxx: 56, 50, 60 (taille WORD)

Au décalage aaaa : 54, 60

Au décalage zzz: 54, 60, 43, 40

Dans cet exemple, les largeurs des trois premiers glyphes de la police sont contenues dans un tableau à l’emplacement WIDTHTABLE+xxx, les largeurs des deux glyphes suivants sont contenues dans un tableau à l’emplacement WIDTHTABLE+, et les largeurs des quatre glyphes suivants sont contenues dans un tableau à l’emplacement WIDTHTABLE+zzz.

Si une police d’appareil est proportionnelle et a des caractères d’emplacement variable, le tableau WidthRun de la structure WIDTHRUN contient un seul élément WIDTHRUN, et WIDTHTABLE+loCharWidthOffset pointe vers un tableau de largeur de caractères pour tous les caractères de la police.

Pour les polices des appareils occidentaux, le membre fwdAveCharWidth de la structure IFIMETRICS est utilisé pour déterminer les largeurs de caractères d’un octet, si les largeurs de caractères ne sont pas spécifiées à l’aide d’une structure WIDTHTABLE.

Pour les polices d’appareil d’Asie orientale, les fwdAveCharWidth et fwdMaxCharInc membres de la structure IFIMETRICS sont utilisés pour déterminer les largeurs de caractères d’un octet et de double octet. Si la police est proportionnelle, le fichier .ufm de la police doit contenir une structure WIDTHTABLE pour les glyphes proportionnels.

Exigences

Exigence Valeur
d’en-tête prntfont.h (include Prntfont.h)

Voir aussi

IFIMETRICS

WIDTHTABLE