Structure WIDTHRUN (prntfont.h)

La structure WIDTHRUN est utilisée pour 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 et 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, commençant par 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=yyy

wStartGlyphwGlyphCountIoCharWidthOffsetzzz At offset xxx : 56, 50, 60 (word-sized)

À 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+aaaa et les largeurs des quatre glyphes suivants sont contenues dans un tableau à l’emplacement WIDTHTABLE+zzz.

Si une police d’appareil est proportionnelle et comporte des caractères d’inclinaison variables, le tableau WidthRun de la structure WIDTHTABLE ne contient qu’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 d’appareil western, le membre fwdAveCharWidth de la structure IFIMETRICS est utilisé pour déterminer les largeurs de caractères codés sur 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 de l’Est, les membres fwdAveCharWidth et fwdMaxCharInc de la structure IFIMETRICS sont utilisés pour déterminer les largeurs de caractères codés sur un octet et sur deux octets. Si la police est proportionnelle, le fichier .ufm de la police doit contenir une structure WIDTHTABLE pour les glyphes proportionnels.

Configuration requise

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

Voir aussi

IFIMETRICS

WIDTHTABLE