WIDTHRUN-Struktur (prntfont.h)
Die WIDTHRUN-Struktur wird verwendet, um den Inhalt von Unidrv-Schriftartmetrikendateien (.ufm-Dateien) zu definieren.
Syntax
typedef struct _WIDTHRUN {
WORD wStartGlyph;
WORD wGlyphCount;
DWORD loCharWidthOffset;
} WIDTHRUN, *PWIDTHRUN;
Member
wStartGlyph
Ist ein Indexwert, der die erste Glyphe der Breitenausführung angibt.
wGlyphCount
Gibt die Anzahl von Glyphen an, die durch die Breite dargestellt werden.
loCharWidthOffset
Gibt den Offset vom Anfang einer WIDTHTABLE-Struktur bis zur Position an, die die Breite der Gruppe von Glyphen enthält, die in der Breitenausführung enthalten sind.
Hinweise
Ein Breitenlauf beschreibt die Breiten eines Satzes benachbarter Glyphen. Sätze von Breitenausführungen werden durch ein Array von WIDTHRUN-Elementen beschrieben. Das Array ist in einer WIDTHTABLE-Struktur enthalten.
Indexwerte in dwStartGlyph sind ganze Zahlen, beginnend mit 1, wobei jede Glyphe in der Schriftart einen Index aufweist. Das heißt, der ersten Glyphe in der Schriftart wird der Indexwert 1 zugewiesen, der Index der nächsten Glyphe ist 2 usw.
Angenommen, die ersten drei Elemente eines WIDTHRUN-Arrays enthalten die folgenden Werte:
wStartGlyphwGlyphCountIoCharWidthOffset=xxx
wStartGlyphwGlyphCountIoCharWidthOffset=jjjj
wStartGlyphwGlyphCountIoCharWidthOffsetzzz At offset xxx: 56, 50, 60 (WORD-size)
Offset jj: 54, 60
Bei Offset zzz: 54, 60, 43, 40
In diesem Beispiel sind die Breiten für die ersten drei Glyphen der Schriftart in einem Array an der Position WIDTHTABLE+xxx enthalten, die Breiten für die nächsten beiden Glyphen sind in einem Array an der Position WIDTHTABLE+jj enthalten, und die Breiten für die nächsten vier Glyphen sind in einem Array an der Position WIDTHTABLE+zzz enthalten.
Wenn eine Geräteschriftart proportional ist und Variablenabstandszeichen aufweist, enthält das WidthRun-Array der WIDTHTABLE-Struktur nur ein WIDTHRUN-Element, und WIDTHTABLE+loCharWidthOffset verweist auf ein Zeichenbreitenarray für alle Zeichen in der Schriftart.
Für westliche Geräteschriftarten wird das fwdAveCharWidth-Member der IFIMETRICS-Struktur zum Bestimmen von Einzelbytezeichenbreiten verwendet, wenn die Zeichenbreiten nicht mithilfe einer WIDTHTABLE-Struktur angegeben werden.
Für ostasiatische Geräteschriftarten werden die Elemente fwdAveCharWidth und fwdMaxCharInc der IFIMETRICS-Struktur verwendet, um die Zeichenbreite von Einzelbyte und Doppelbyte zu bestimmen. Wenn die Schriftart proportional ist, sollte die .ufm-Datei der Schriftart eine WIDTHTABLE-Struktur für die proportionalen Glyphen enthalten.
Anforderungen
Anforderung | Wert |
---|---|
Header | prntfont.h (einschließlich Prntfont.h) |