I'm using FontForge to create a TTF font that operating systems (Windows and Unix) all can interpret; inclusively in the case of GPU, I keep the bottom-top at maximum 512 pts as the font size must be a power of two for efficiency in the GPU (although I'm unsure what should the font's design size be; lower or greater?).
Right now I've two characters:
- exclamation (!)
- latin A (A)
I've stroked them carefully, but according to a YouTube video I should have sketched every character in a clockwise direction, and then nesting shapes in the reverse direction (anti clockwise).
I was getting the following errors when exporting a TTF
- Open Contour in exclamation and latin A
- Missing Points at Extrema in latin A
I've then decided to close the latin letter A's shape, forming a triangle; but I want to subtract the bottom line and add a half-bottom line in the triangle, giving the feeling the letter has two short feets.
Here is what I wanted for my font:
- The font may be rendered in CPU as well as GPU.
- I am focusing in latin A and exclamation.
- Minimum height = 0
- Maximum height = 256
- Design size = * (I do not know what is this)
Recommendation:
- Position each point in each shape in an integral coordinate. Every coordinate (both X and Y) must be zero or a power of two (2, 4, 8, 16, 32, 64, 128, 256) due to GPU computating preferences.
- Ensure there is no point behind another point that would otherwise cause a self-intersecting shape. This prevents the "Self-intersecting coordinates" error.
- Always close every shape (rectangle, square, arc, ellipse, triangle, pentagon, hexagon)
Curves:
- Curve control points appear in FontForge around existing shapes (like small X (cross) points or even normal points in a special color) or a point itself may act as a curve control point.
Unfortunately, I wasn't able to build my font using these criteria, because I just wanted to focus in the Y coordinate being uniform (zero or power of two); since the X coordinate does also need to be uniform (zero or power of two), it is too much work.
I've followed throughouly your input, but I still get a Open Countour. I've decided to erase the exclamation character (!) and the latin A (A) and have began with the simplest character, period (.). Here's what I get when I generate a TTF containing this perfect square period (.) whose width and height go from zero to 256.
How to fill this square?
Also, FontForge says the font's design size must be lower than the bottom-top size (which is currently 256).
Here is a Windows 8.1 screenshot from Google: