Both PostScript and TrueType impose some restrictions on the data that define a font. Before you save a font you should do a quick check (well... it's not always quick) to insure that you are not breaking any rules.
It's a little hard to detect this in normal use, but if you change the encoding to "Glyph Order", and then use Edit->Select->Wildcard and enter the glyph name, both of them should be selected.
It's a little hard to detect this in normal use, but if you change the encoding to "Glyph Order", and then use Edit->Select->Wildcard and enter the code point, both of them should be selected.
Validating a font can take a long time. So FontForge caches the validation state of each glyph (saving it to the sfd file so it is valid across invocations) and will only validate those glyphs which have changed since the last validation. This means that although the first validation may be slow, subsequent validations will probably be very fast -- so don't be discouraged by the time it takes to do this the first time.
(If, for some reason, you need to revalidate, then right clicking in the window will give you a menu where "Revalidate All" is an option).
The Validation window will recheck the state of the font as you edit it. So if you leave the window open you will see glyphs popping into the window and out of it as you create and fix problems.
If you double click on a line in the window then FontForge will open an outline glyph editing window for that glyph, and run a small version of Element->Find Problems to help you track down exactly where in the glyph the error(s) occurred.
If you right click, you will get a popup menu which has various options which may fix some of the problems in the glyph. There are also options to:
I say that these options "may" fix problems. Let me give some examples where they can't.
When the Add Good Extrema command does not fix your problem, you may be better off examining the glyph yourself and seeing if you can redesign it manually.
There is another pair of entries in the menu which sort of postpone dealing
with the issue. Consider the glyphs Aring, Ccedilla and Oogonek. Frequently
these glyphs are designed so that the accent will overlap the base letter.
One would like to leave the glyph as being made up of references, but one
would like to get rid of the overlap when the font is generated. There is
a special flag in
Info->Unicode->Mark for Unlink, Remove Overlap before Save
which will make fontforge unlink a glyph's references, and then run
Element->Remove Overlap on them just before saving them. Then after saving
it will reverse the operation and leave you with the original references.
So there are a pair of menu items (one for the current glyph, one for all glyphs that meet certain criteria) which will set this flag for the relevant glyph(s). Once this flag is set FontForge will no longer report that the glyph self-intersects.