Curves in Outline fonts

The use of Curves in Outline fonts

In its simplest form a font could contain curves that were made from a series of short straight lines. This is alright for small sizes but at larger sizes the lines showed and the result was not good.

Drawing programs have been creating curves for a long time using mathematically constructed lines. This means that when enlarged, the curves remain curves. These curves are generally known as Bezier curves. Other curves, using different maths are B-Splines.

A curve is formed by having fixed points at its ends and one or more 'Off Curve' points that appear to drag the curve away frm the straight line between the ends

What are Bezier curves?

The Bezier curve is formed by a polynomial equation. Intermediate points are calculated from the equation and plotted. These curves are basically formed from two end points and two intermediate points. Adobe Type 1 fonts use Bezier curves,

What are B-Splines?

A B-Spline Curve is a mathematically produced curve similar to a bezier but produced from a different mathematical formula. It is the method used by the TrueType engine within Windows to create TrueType characters. They are formed from two end points and any number of intermediate points, and if more that one intermediate point is used then the resultant curve touches the line btween the intermediate points.

Using B-Spline Curves

In its simplest form a B-Spline Curve can be defined by three points, or co-ordinates. The first (On Curve) defining the start of a line, the third (On Curve) defining the end of a line and the middle point (Off Curve) becoming the curve control point. The Off Curve point acts as if it is pulling the line as shown in the examples below:

             B 

You can specify more than one intermediate Off Curve Point giving results like this:

             D 

As you can see varying the positions of Off Curve points can produce almost any shape.


For a more detailed explaination on how each of these pictures was produced click on the picture of interest.

I small Windows program BSPLVBEZ (bhas been developed to demonstrate the use of mathematical curves and how they can effect the picture. This shows four reference points, which may be moved. Three curve lines may be drawn, On Curve (straight lines), B-Splines and Bezier.

Click here to download - BSPLVBEZ.EXE - Click here to download


Examples and Definitions



B-Spline Example One

This example shows a smooth curve between two points To achieve this the Off Curve point must be in line with both points, in other words it must have the same x-coordinate as the point at the beginning of the curve and the same y-coordinate as the point defining the end of the curve . This also ensures a smooth transition between straight lines and the curve.

This method of using Off Curve points is particularly useful when specifying symmetrical fillets on characters.


B-Spline Example Two

This example is similar to Example One but the intermediate Off Curve point is not set symmetrically in relation to the two end points. Some useful effects can be produced by setting it differently.


B-Spline Example Three

A curve can have more than one intermediate Off Curve point. This leads to a more complicated curve which might be required to give more detailed curve characteristics. Using more than one curve does give rise to increased difficulty in the defining of a curve but is clearly more flexible in the results it can produce.

If the points are equally spaced then the result is more controlled. They need not be though as shown in Example Four below.


B-Spline Example Four

When the spacing is not equal, the curve is not balanced. However, it can be made to line up tangentially with the straight lines before and after it which is an improvement.


On Curve Points

An On Curve point is simply a point which defines the end and/or beginning of a line being used to define a contour. For example a vector font is made up entirely of On Curve points. The use of only On Curve points, such as in a vectored font, tends to show a curve as small straight lines, particularly noticeable at larger point sizes.

Off Curve Points

Off Curve points are points which effect a contour rather than define it. TrueType uses off curve points to create the characteristic smooth curves which are called B-Spline Curves. These are mathematically produced and can be controlled within TrueType to ensure that they match the desired contours of a character. The power of the Off Curve facility means that incredible effects can be incorporated into any character. This is especially useful if you are wanting to create novel fonts.