Spline-Datensätze
Spline-Datensätze stellen die quadratischen Kurven (d. h. quadratische b-splines) dar, die von TrueType verwendet werden. Ein Splinedatensatz beginnt mit dem letzten Punkt im vorherigen Datensatz (oder für den ersten Datensatz in der Kontur mit dem Startpunkt). Für den ersten Splinedatensatz befinden sich der Startpunkt und der letzte Punkt im Datensatz auf dem Glyphenumriss. Bei allen anderen Splinedatensätzen befindet sich nur der letzte Punkt auf dem Glyphenumriss. Alle anderen Punkte in den Spline-Datensätzen befinden sich außerhalb der Glyphengliederung und müssen als Kontrollpunkte von b-splines gerendert werden.
Der letzte Spline- oder Polylinedatensatz in einer Kontur endet immer mit dem Ausgangspunkt der Kontur. Durch diese Anordnung wird sichergestellt, dass jede Kontur geschlossen ist.
Da b-splines drei Punkte erfordern (ein Punkt abseits der Glyphe zwischen zwei Punkten, die sich auf der Gliederung befinden), müssen Sie einige Berechnungen ausführen, wenn ein Splinedatensatz mehr als einen Punkt außerhalb der Kurve enthält.
Wenn ein Splinedatensatz beispielsweise drei Punkte (A, B und C) enthält und es sich nicht um den ersten Datensatz handelt, befinden sich die Punkte A und B außerhalb der Glyphengliederung. Um Punkt A zu interpretieren, verwenden Sie die aktuelle Position (die sich immer auf dem Glyphenumriss befindet) und den Punkt auf dem Glyphenumriss zwischen den Punkten A und B. Um den Mittelpunkt (M) zwischen A und B zu ermitteln, können Sie die folgende Berechnung ausführen.
M = A + (B A)/2
Der Mittelpunkt zwischen aufeinanderfolgenden Off-Outline-Punkten in einem Splinedatensatz ist ein Punkt auf der Glyphengliederung gemäß der Definition des spline-Formats, das in TrueType-Schriftarten verwendet wird.
Wenn die aktuelle Position von P festgelegt wird, sind die beiden quadratischen Splines, die durch diesen Splinedatensatz definiert werden (P, A, M) und (M, B, C).