Before starting on an actual font, you must become familiar with some of the basic operations of Fontforge.
Though Fontforge can open a variety of font formats (Truetype, Opentype, Postscript, BDF, etc), it usually stores the fonts in a format with the extension *.sfd (Spline Font Database). To open a font (or a *.sfd file, you can simply start Fontforge without any argument, and you will be presented with a file chooser dialog. You can also use -> to open files.
To save files, simply use -> . This saves the font being edited as a *.sfd file.
However, to get an actual usable font, you must use -> . In our situation we will be mostly exporting Truetype fonts (which have the GSUB and GPOS tables). However, Fontforge can export in a variety of other formats - take a look at the official documentation for a description of all the supported formats.
It may be worthwhile to mention here that Fontforge also ships with a tool called sfddiff which compares two SFD files.
There are two ways in which you can copy (or cut) glyphs in Fontforge. In the default method, only the glyph from the currently displayed font (ie, the outline font in our case) would be copied (or cut). In the second method, the metadata (name, substitution information, etc) of the character in question will also be copied with the character. (There is also another way where the bitmaps associated with a particular character is also copied - but that's outside the scope of this particular document). To enable metadata copying, you must enable the ->-> check box, and then do the copying/cutting.
As far as pasting is concerned, remember that when you paste from Font View, the contents of the clipboard will be pasted onto the selected glyph, clearing out whatever was there earlier. To avoid this, use the -> menu item, or paste from the Outline View.
To manipulate the glyphs of a font, you will first need to understand how to select portions of the glyph (or for that matter, the entire glyph). When you open the Outline View in Fontforge, you will that the outline of the glyph has a number of lots dots which are used to control the extend and slope of the lines. The dots or points which control the slope are called control points (represented by small crosses), and the other main types of points include corner points (represented by square boxes), tangent points (represented by triangles) and curved points (represented by circles). Before starting work on this document, I was planning to explain the function of each and every type of point - but luckily (for me, that is), the Fontforge documentation does an even better job of that. Do take a look - I don't think I could have done better with the explanation. To select a portion of the glyph, drag your mouse over the points in that portion, and the points will get highlighted. To select the entire glyph, you can simply press Ctrl-A in the Outline view.
To shift the selected portion, you can click on a highlighted point, and then, while holding the Ctrl key, you can drag the entire selection with the mouse. Or alternatively, you can also move the selection by using the arrow keys.
When in the outline view, you will notice that a there is a secondary window by the side which looks like this:
This is called the "tool palette", and it contains the tools that you will be using to
edit the glyph. While converting the fonts, you will be mostly using the rotate and scale/resize
tools - which are represented by
and
respectively.
To rotate a selection, highlight the selection, click on the tool button, and while pressing the left mouse button, move the pointer up (or down) until you have the required rotation.
To scale the selection, highlight the selection, click on the tool button, and while pressing the left mouse button, move the pointer vertically to do vertical scaling, and horizontally to get horizontal scrolling.