Abrufen von Zeichengliederungen
Sie können die GetGlyphOutline-Funktion verwenden, um die Kontur eines Glyphen aus einer TrueType-Schriftart abzurufen. Die von der GetGlyphOutline-Funktion zurückgegebene Glyphengliederung ist für ein rasterspezifisches Glyphen. (Ein an das Raster angepasstes Symbol wurde so geändert, dass sein Bitmapbild so genau wie möglich dem ursprünglichen Entwurf des Glyphen entspricht.) Wenn Ihre Anwendung eine unveränderte Glyphengliederung erfordert, fordern Sie die Glyphengliederung für ein Zeichen in einer Schriftart an, deren Größe den Em-Einheiten der Schriftart entspricht. (Um eine Schriftart mit dieser Größe zu erstellen, legen Sie den lfHeight-Member der LOGFONT-Struktur auf den negativen Wert des ntmSizeEM-Members der NEWTEXTMETRIC-Struktur fest.)
GetGlyphOutline gibt die Kontur als Bitmap oder als Reihe von Polylinien und Splines zurück. Wenn eine Anwendung eine Glyphengliederung als Eine Reihe von Polylinien und Splines abruft, werden die Informationen in einer TTPOLYGONHEADER-Struktur zurückgegeben, gefolgt von so vielen TTPOLYCURVE-Strukturen, wie zum Beschreiben des Glyphen erforderlich sind. Alle Punkte werden als POINTFX-Strukturen zurückgegeben und stellen absolute Positionen dar, keine relativen Bewegungen. Der vom pfxStart-Member der TTPOLYGONHEADER-Struktur angegebene Ausgangspunkt ist der Punkt, an dem die Kontur für eine Kontur beginnt. Die folgenden TTPOLYCURVE-Strukturen können polyline- oder spline-Datensätze sein.
Um eine TrueType-Zeichengliederung zu rendern, müssen Sie sowohl die Polylinien- als auch die Spline-Datensätze verwenden. Das System kann polylines und splines einfach rendern. Jeder Polylinien- und Splinedatensatz enthält so viele sequenzielle Punkte wie möglich, um die Anzahl der zurückgegebenen Datensätze zu minimieren.
Der in der TTPOLYGONHEADER-Struktur angegebene Ausgangspunkt befindet sich immer auf der Kontur des Glyphen. Der angegebene Punkt dient sowohl als Start- als auch als Endpunkt für die Kontur.
Dieser Abschnitt enthält Informationen zu den folgenden Themen.