0

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

enter image description here

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.

enter image description here


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.

enter image description here

enter image description here

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:

enter image description here

3
  • You have open vector paths. I don't these are allowed in fonts generally. You want to make the letter with closed paths, like this
    – Billy Kerr
    Commented Jul 15 at 11:13
  • Okay so stackexchange is not a discussion forum, it is a Q and A site. If you keep adding stuff as you go along it breaks the operating model of the site. Worse it disincentivises the people form answering your question. So, you can add more info to a question if it seems people do not understand you. But in general you should avoid this as it just means you didnt plan your question well, and the practica window for revision is very short like less than a day or so. You should definitely not continue with the next problem after that in the same question. Make a new question.
    – joojaa
    Commented Jul 16 at 9:21
  • Though this said, its important not to look like a time sink. The people who are capable of answering have other tings to do too. So you want to make your questions such that they clearly show some level of mastery and progress. For this reason its best to try to avoid asking A->B then B->C etc... Mainly because it starts to seem like you are a time sink and or are asking XY questions. For what its worth, i don't think you really want to make your own font, or atleast it does not sound like its a good solution for your problem. Font sizes are relative, no pixels!
    – joojaa
    Commented Jul 16 at 9:25

1 Answer 1

1

The font technology you are used needs to be outlines not individual lines (yes in CAD lines are a thing but in graphic design contexts we design surfaces that are closed). Thin individual lines like in your example is not possible.

A possible solution, though not necceserily a solution for your requirements is to stroke the lines. To do this choose Element → Expand stroke..., to stroke the lines.

enter image description here

Image 1: Unstroked font (left) stroked result (right).

PS: Generally you want your upper case character touch the line on top.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.