# The Edit Menu

In the Metrics View this menu is greyed out. The commands are only available in text fields.

- Undo
- Redo
- Cut
- Copy
- Copy Reference
- Copy Width
- Copy VWidth
- Copy LBearing
- Copy RBearing
- Copy Grid Fit
- Paste
- Paste Into
- Paste After
- Same Glyph As
- Clear
- Clear Background
- Merge
- Join
- Copy Fg To Bg
- Select
  - Select All
  - Deselect All
  - First Point
  - First Point, Next Contour
  - Next Point
  - Prev Point
  - Next Control Point
  - Prev Control Point
  - Contours
  - Select All Points & Refs
  - Select Anchors
  - (De)Select Width
  - (De)Select VWidth
  - Select Points Affected by Current HintMask
  - Select Color>
  - Select By ATT...
- Find / Replace
- Replace With Reference
- Unlink Reference
- Copy From
  - All Fonts
  - Displayed Font
  - Char Metadata
- Remove Undoes

NOTE: In the metrics view this menu will be disabled when one of the text fields has the focus.

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 characters.
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 characters.
Cut
  In the font view this command puts the foreground of all selected characters into the clipboard and then deletes them. Depending on the setting of Copy From it will either refer all characters (bitmap and outline) corresponding to this entry, or just the character 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 characters 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 character'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 characters 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 characters into the clipboard.

  In the Outline View this will copy a reference to the current character into the clipboard (only available in foreground mode).

  This command is not available in the Bitmap View.

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

  In the Outline View this command copies the width of the current character 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 characters and stores them in the clipboard.

  In the Outline View this command copies the vertical width of the current character 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 characters and stores them in the clipboard.

  In the Outline View this command copies the left side bearing of the current character 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 characters and stores them in the clipboard.

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

  This command is not available in the Bitmap View.

Copy Grid Fit
  Only available in the outline character view and only if View->Show Grid Fit is selected. This will place a copy of the grid fit version of the character into the clipboard.
Paste
  In the Font View this command will paste whatever is in the clipboard into the foregrounds of all selected characters (exception: if the clipboard contains an image it will not go into the foreground), clearing out whatever was there. If there are more selected characters than there is information in the clipboard then the clipboard will be repeated until all selected characters have had something pasted in them (that is if characters A and B were selected when the copy happened and now characters C, D and E are selected, the C will get A, D will get B and E will also get A). If exactly one character is selected but the clipboard contains more that one character, the the selection will be extended so that enough characters are selected that something may be pasted in each.
  If the clipboard contains outline information then that information will go into the character 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" | 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 character 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 character 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).

  This command is not present unless you modify configure-pfaedit.h

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 character (U+00A0) frequently uses the same glyph as the space character. To accomplish this, select the space character, Copy Ref, select the non-breaking-space character and Same Glyph As).
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 characters.
Merge
  This command is only available in the Outline View. If a point on a path is selected, the 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. This command comes in two forms, in the default case the two surrounding points will retain their slopes (unless both are corner points), while in the other case (Elide) the slopes will be lost.

  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.
Elide
  This is a variant of the Merge command, obtained by holding down the shift key when bringing down the menu (or by Ctl-Alt-M). Allows the slopes of points to change.
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. No references are copied.
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 characters. In the bitmap view it selects the current bitmap region.
  Deselect All
    Deselects anything selected
  First Point
    Deselects everything and then selects the first point on the first path of the character.
  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.
  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 Color>
    Only in the font view. Displays a submenu containing a list of colors and allows you to select all characters which you have set to that color with the Char Info dlg. Normally the selection is cleared before setting the colored characters, but if you hold down the shift key the selection will be extended to the colored characters.
  Select By ATT...
    Only in the font view. Brings up a dlg which allows you to select various characters depending on various advanced typographic features.
Find / Replace
  Only in the font view, this brings up a dialog that allows you to find patterns within characters and replace them with other patterns.
Replace With Reference
  Only in the font view, this command will search the font finding any glyph which contains an inline copy of one of the selected glyphs, and converts that copy into a reference to the appropriate glyph. In other words it finds things which should be references and makes them be.

  This is primarily for use after reading a postscript (type1, otf or cff) font. The reference information will usually be lost, and this command can find it again.

  Suppose the font contains a glyph "Acircumflex" which contains an embedded copy of "A" (a copy of the contours, not a references), then if you select "A" and apply this command it will search all glyphs in the font for something that looks like "A", remove it from any glyphs in which it is found and replace it with a reference. It applies this same algorithm for all selected glyphs. If you want to check for every possibility, just select all glyphs first.

Unlink Reference
  This will remove a referenced character and replace it with the splines and points that make it up.
Copy From
  Only available in the Font View.
  All Fonts
    If this is set then Copy (and Cut and Clear) will copy from the outline font and from all the bitmap fonts
  Displayed Font
    If this is set then Copy will only copy from the font currently being displayed.
  Char Metadata
    Normally Copy does not copy the metadata (name, unicode encoding, comment, ligature info) associated with a character, but if this is checked then it will.

  This also controls the behavior of the Transform and Build Accented character commands.

Remove Undoes
  Not available in the Metrics View. This allows you to free up some of the memory FontForge is currently squandering on keeping track of Undoes (and Redoes). Obviously this command cannot be undone.
  - In the Outline Character view this will free up all undoes/redoes in the current edit mode
  - In the Bitmap Character view this will free up all bitmap undoes/redoes
  - In the Font View this will free up all undoes/redoes in all selected characters, outline and bitmap, background and foreground.

## Other menus

- File
- Edit
- Point
- Element
- Hints
- View
- Metrics
- CID
- MM
- Window
- Help
- Hot Keys

-- Prev -- TOC -- Next --