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) |