Die Funktion v_get_outline() generiert aus einem Zeichen einen Bezierzug, mit dem man v_bez() oder v_bez_fill() aufrufen kann.
v_get_outline()
Dekl.: int16 v_get_outline( int16 handle, uint16 index, int16 x_offset, int16 y_offset,
int16 *xyarr, uint8 *bezarr, int16 max_pts );
Aufruf: count = v_get_outline( handle, index, 0, 0, xyarr, bezarr, max_pts );
Variable Belegung Bedeutung
Eingaben:
contrl[0] 243 v_get_outline
contrl[1] 0 Einträge in ptsin
contrl[3] 8 Einträge in intin
contrl[5] 1 erweiterter Aufruf
contrl[6] handle
intin[0] index Zeichen-Index
intin[1] max_pts Maximale auszugebende Punktanzahl
intin[2..3] xyarray Buffer für die Koordinaten
intin[4..5] bezarray Buffer für Punktinformationen (jump, bez)
intin[6] x_offset wird zu allen x-Koordinaten im xyarray addiert
intin[7] y_offset wird zu allen y-Koordinaten im xyarray addiert
Ausgaben:
contrl[2] 0 Einträge in ptsout
contrl[4] 0 Einträge in intout
intout[0] count Anzahl der ausgegebenen Punkte
Hinweis: Bisher sah es bei v_getoutline() (alte Speedo-Funktion) so aus, daß die Funktion bei Rotation überhaupt nicht funktionerte. Die Ausrichtung wurde ebenfalls nicht beachtet. Bei Speedo-Fonts entsprach die y-Koordinate 0 der obersten im Buchstaben benutzten Koordinate (befand sich also abhängig vom Buchstaben irgendwo innerhalb der Zeichenzelle), während bei Postscript und TrueType die y-Koordinate 0 immer der Zeichenzellenoberkante entsprach.