The Edit Menu

Undo

In the outline view and the bitmap view this will undo the last command. The number of commands that may be undone for any glyph is controlled by the UndoDepth preference item.

In the font and metrics views, this does NOT undo the last command. It undoes the last operation on all selected glyphs.

Redo

In the outline view and the bitmap view this will redo the last command undone. Up to twelve commands may be redone (after that they get thrown away)

In the font and metrics views, this does NOT undo the last command. It undoes the last operation on all selected glyphs.

Cut

In the font view this command puts the foreground of all selected glyphs into the clipboard and then deletes them. Depending on the setting of Copy From it will either refer all glyphs (bitmap and outline) corresponding to this entry, or just the glyph being displayed.

In the Outline View this will copy any selected points, References, or Images into the clipboard and then delete them. If a point is removed from a path then the path will be broken at there, see the Merge command for information on how to leave the path whole but without the point. (if there is no selection nothing happens)

In the Bitmap View this will copy the selection into the clipboard and then delete it. If there is no selection nothing happens.

Copy

In the font view this command puts the foreground and hints of all selected glyphs into the clipboard. Depending on the setting of Copy From it will either copy all glyphs (bitmap and outline) corresponding to this entry, or just the glyph being displayed. Normally it will not copy a glyph’s name, but if Copy From->Char Name is set then it will copy the name as well.

In the Outline View this will copy any selected points, References, or Images into the clipboard. If there is no selection everything in the current layer will go into the clipboard.

In the Bitmap View this will copy the selection into the clipboard, if there is no selection everything is copied.

To external applications selected points (and associated contours) will be exported to the clipboard with format “image/eps”, while a selected image will be exported with formats “image/png” and “image/bmp”. If you Copy a series of glyphs into the clipboard, the only the first one will be exported to external applications. If the clipboard contains a single point, then this will also be exported in STRING format (giving the coordinates of the point); the intent is to make it easier to people to identify the point. See the section on selections

Copy Reference

In the font view this command puts a reference to all selected glyphs into the clipboard.

In the Outline and Bitmap Views this will copy a reference to the current glyph into the clipboard (only available in foreground mode).

Copy Lookup Data

Copies lookup data (substitutions, ligatures, kerning, anchor points, etc) from the selected glyphs. This command does not work quite as expected:

  • The data are not actually copied. Instead fontforge makes a note of which glyphs it copied the data from. FontForge actually copies the data when the user does a Paste (so any changes in the lookup data will be pasted).
  • When the user does a Paste s/he will be prompted with a dialog asking what lookups should be copied.
Copy Width

In the Font View this command copies the widths of all selected glyphs and stores them in the clipboard.

In the Outline View this command copies the width of the current glyph and stores it in the clipboard.

This command is not available in the Bitmap View.

Copy VWidth

In the Font View this command copies the vertical widths of all selected glyphs and stores them in the clipboard.

In the Outline View this command copies the vertical width of the current glyph and stores it in the clipboard.

This command is not available in the Bitmap View.

Copy LBearing

In the Font View this command copies the left side bearings of all selected glyphs and stores them in the clipboard.

In the Outline View this command copies the left side bearing of the current glyph and stores it in the clipboard.

This command is not available in the Bitmap View.

Copy RBearing

In the Font View this command copies the right side bearings of all selected glyphs and stores them in the clipboard.

In the Outline View this command copies the right side bearing of the current glyph and stores it in the clipboard.

This command is not available in the Bitmap View.

Copy Grid Fit

Only available in the outline glyph view and only if View->Show Grid Fit is selected. This will place a copy of the grid fit version of the glyph into the clipboard.

Paste

In the Font View this command will paste whatever is in the clipboard into the foregrounds of all selected glyphs (exception: if the clipboard contains an image it will usually not go into the foreground), clearing out whatever was there. If there are more selected glyphs than there is information in the clipboard then the clipboard will be repeated until all selected glyphs have had something pasted in them (that is if glyphs A and B were selected when the copy happened and now glyphs C, D and E are selected, the C will get A, D will get B and E will also get A). If exactly one glyph is selected but the clipboard contains more that one glyph, the selection will be extended so that enough glyphs are selected that something may be pasted in each.

If the clipboard contains outline information then that information will go into the glyph outline regardless of the setting of Copy From. If the clipboard contains a bitmap and the display is set to outline then the bitmap is pasted into the bitmap font it was copied from (ie. the one with the same pixel size), if the clipboard contains a bitmap and the display is set to a bitmap then the bitmap will be pasted into the currently displayed font. If the clipboard contains a bitmap of a size which does not exist in our database, then you will be asked if you want to create a bitmap font to put the bitmap into.

In the Outline View this command will paste whatever is in the clipboard to the current editing layer.

In the Bitmap View this command will flatten any floating selection and paste the contents of the clipboard into a new floating selection.

If the clipboard is owned by an external application FontForge will attempt to Paste the following selection types (the bitmap view does not currently respond to external clipboards):

"image/png", "image/bmp"

background images

"image/eps", "image/ps", "image/svg"

as spline data

See the section on selections

Paste Into

Only available in the fontview. Just like Paste, except it does not clear the contents of the glyph before adding to it.

Paste After

Only available in the fontview. Pastes the contents of the clipboard into the selected glyph, shifts it over by the advance width, and then adds the advance width of the glyph in the clip to this glyph. Essentially this makes it easy to build up words. (If the font has vertical metrics, then glyphs will be stacked vertically. If the glyph is right to left then the clipboard will be added on the left).

Same Glyph As

Only available in the fontview. If the clipboard contains a single reference to a glyph then applying this command makes all selected encoding points refer to that same glyph. (For example the non-breaking-space glyph (U+00A0) frequently uses the same glyph as the space glyph. To accomplish this, select the space glyph, Copy Ref, select the non-breaking-space glyph and Same Glyph As).

Adobe suggests that you avoid this. Use a reference instead. In some situations (I think pdf files is one) having one glyph with several encodings causes problems (Acrobat uses the glyph to back-map through the encoding to work out the unicode code point. But that will fail if a glyph has two unicode code points associated with it).

Clear

Similar to Cut except it does not copy anything to the clipboard.

Clear Background

Only in the font view. This command clears the backgrounds of all selected glyphs.

Merge

This command is only available in the Outline View. If a point on a path is selected, the merge command will remove that point from the path and join the two points around the removed one with a new spline which approximates the curve between the two before. The two surrounding points will retain their slopes (unless both are corner points).

How is this done?

Join

This command is not available in the bitmap view. It looks for any paths with endpoints as the endpoints of other paths and then join those two paths. Also if the endpoint of a path is the same as the start point it will make that path into a loop. (The commands that move points around will normally do this automatically, but Paste will not).

In the Outline view things are slightly more complicated: If any paths have selected points on them it will only attempt to join those paths.

Copy Fg To Bg

This command is only available in the Outline and Font Views. It cleans out all the splines in the background layer and replaces them with a copy of all the splines in the foreground layer. Note: Any background images remain.

Copy Layer To Layer

This command is only available in the Outline and Font Views. It brings up a dialog which lets you select a base layer to copy from and another layer to copy to. You may also choose to clear the destination layer, or to append to it. Then it copies the contents of the source layer (contours and references, but not images) to the destination layer.

Select

In the outline view there is a select menu, other views just have Select All.

Select All

In the outline view it selects all points, all references (all images if the background is active) and the width line (and the vertical width line if that is enabled). In the fontview it selects all glyphs. In the bitmap view it selects the current bitmap region.

Invert Selection

Selects anything not selected, and deselects everything selected.

Deselect All

Deselects anything selected

First Point

Deselects everything and then selects the first point on the first path of the glyph.

First Point, Next Contour

Deselects everything and then selects the first point on the next contour. (If the last contour is selected then deselects everything).

Next Point

Deselects the current point and selects the next point.

Prev Point

Deselects the current point and selects the previous point

Next Control Point

Selects the “Next Control Point” of the current point.

Prev Control Point

Selects the “Prev Control Point” of the current point.

Point At

Allows the user to enter an X,Y coordinate and selects the point at that location.

Points on Selected Contours

If a contour contains any selected points, then select all points on the contour.

Select All Points & Refs

Just like select all, but it doesn’t select anchor points or the width lines.

Select Anchors

Select all the Anchor points in the glyph.

(De)Select Width

Toggles whether the width line is selected.

(De)Select VWidth

(if vertical metrics are enabled) Toggles whether the vertical width line is selected.

Select Points Affected by Current HintMask

if a single point with a hintmask is selected, then this command selects all points affected by that hintmask.

Select by Color>

Only in the font view. Displays a submenu containing a list of colors and allows you to select all glyphs which you have set to that color with the Char Info dlg. Normally the selection is cleared before setting the colored glyphs, but if you hold down the shift key the selection will be extended to the colored glyphs.

Select by Wildcard...

Select all glyphs that match the wildcard pattern specified. A glyph may also be mapped to more than one encoding slot. Select all encoding slots that refer to the named glyph. I think this is primarily useful for detaching .notdef.

Select by Script...

Allows you to specify an OpenType script tag and then ff will select all glyphs which have that script.

In the fontview, the following menu items will have slightly different meanings depending on whether you are holding down the Shift of Control keys.

If you hold down neither, then the current selection is cleare