# Hot Keys¶

As noted in hotkey assignment you can nominate the hotkeys which you prefer for all items in any menu of FontForge. Some default hotkeys are shipped with FontForge so that you do not have to assign any keys yourself unless you want to make changes. The defaults are shown below:

Ctrl-A

Select All

Ctrl-Shift-A

Build Accented Glyph

Alt-Ctrl-A

Select All Points

Ctrl-B

Regenerate Bitmaps

Ctrl-Shift-B

Bitmaps Available

Ctrl-C

Copy

Ctrl-Shift-C

Copy Fg to Bg

Alt-Ctrl-C

Copy Lookup Data

Ctrl-D

Show/Hide Points

Ctrl-Shift-D

Correct Direction

Ctrl-E

Find Problems

Ctrl-Shift-E

Expand Stroke

Ctrl-F

Fit in Window

Ctrl-Shift-F

Font Info

Alt-Ctrl-F

Find / Replace

Alt-Ctrl-Shift-F

Replace With Reference

Ctrl-G

Copy Reference

Ctrl-Shift-G

Generate Fonts

Alt-Ctrl-G

Generate Mac Family

Ctrl-H

Open Outline

Ctrl-Shift-H

AutoHint

Alt-Ctrl-H

Review Hints

Ctrl-I

Get Info

Ctrl-Shift-I

Import

Alt-Ctrl-Shift-I

Glyph Info

Alt-Ctrl-I

Show Dependencies…

Ctrl-J

Open Bitmap

Ctrl-Shift-J

Join

Ctrl-K

Open Metrics

Ctrl-Shift-K

Auto Kern

Alt-Ctrl-Shift-K

Merge Feature Info

Ctrl-L

Set LBearing

Ctrl-Shift-L

Set Width

Ctrl-M

Merge Point

Ctrl-Shift-M

Simplify

Alt-Ctrl-Shift-M

Simplify More

Ctrl-N

New

Ctrl-O

Open

Ctrl-Shift-O

Remove Overlap

Ctrl-P

Print

Alt-Ctrl-P

Display

Ctrl-Q

Quit

Ctrl-Shift-Q

Close

Ctrl-R

Set RBearing

Ctrl-Shift-R

Revert File

Ctrl-Alt-R

Revert Glyph

Ctrl-S

Save

Ctrl-Shift-S

Save As

Ctrl-T

AutoInstr

Ctrl-Shift-T

AutoTrace

Ctrl-U

Ctrl-V

Paste

Ctrl-Shift-V

Paste Into

Ctrl-W

Copy Width

Ctrl-Shift-W

Auto Width

Ctrl-X

Cut

Ctrl-Shift-X

Ctrl-Y

Redo

Ctrl-Z

Undo

Ctrl-\

Transform

Ctrl-Shift-_

Round to Int

Ctrl-1

Make First

Alt-Ctrl-1

Invokes user script

Ctrl-2
Ctrl-Shift-@

Average Points

Alt-Ctrl-2

Invokes user script

Ctrl-3
Ctrl-Shift-#

Space Points

Alt-Ctrl-3

Invokes user script

Ctrl-4
Ctrl-5

Anti-Alias

Ctrl-Shift-%

32x8 cell window

Ctrl-6

Fit To Em

Ctrl-Shift-^

16x4 cell window

Ctrl-7

72 pixel outline

Ctrl-Shift-*

8x2 cell window

Ctrl-9

96 pixel outline

Ctrl-0

Ctrl-]

Next Glyph

Ctrl-Shift-}

Next Point

Ctrl-[

Prev Glyph

Ctrl-Shift-{

Prev Point

Ctrl-.

Execute Script

Select First Point

Ctrl-Shift->

Goto

Alt-Ctrl-.

First Point, Next Contour

Ctrl-,

Select Point At

Ctrl-Shift-<

Find In Font View

Alt-Ctrl-,

Points on Selected Contours

Escape

Deselect All

Ctrl-Escape

Invert Selection

Backspace

Clear

Delete

Clear

Ctrl-=

Grid Fit Anti Alias

Ctrl-Shift-+

Bigger Pixel Size

Bigger Point Size

Alt-Ctrl-Shift-+

Zoom In

Ctrl–

Smaller Pixel Size

Smaller Point Size

Alt-Ctrl–

Zoom Out

Help

Help

F1

## Different Keyboards¶

The above descriptions assume you are using a keyboard for an IBM pc or compatible. But different keyboard vendors label their keys differently and different versions of X may map them differently.

I am aware of the following significant differences:

• On Mac OS/X the Option key is equivalent to the Alt modifier key

• On Suse PPC linux, the Command key is equivalent to the Alt modifier key

(And the Option key acts as a compose key in the same way it does on the Mac when not using X)

• On Suns the meta (diamond) key is equivalent to the Alt modifier key.

FontForge will attempt to guess what keyboard you are using and produce menus with hot-key indicators that match the host machine. If you are displaying on a different machine from the one you are running on the menu names may be wrong. You can fix this up with the keyboard resource, or the -keyboard command line argument.

## Tool modifiers in the Outline Glyph Window¶

Pointer
Shift

Constrain horizontal/vert or italic angle/45°

Alt

Select control points before normal points

Shift-Alt

Constrain control point motion to original angle from point

Magnify
Shift

When dragging a magnification area, make it square

Alt

Minify

Freehand
Shift

Constrain horizontal/vert/45°

Scroll
Shift

Constrain scroll either in single direction or by same amount in both directions

Shift

Constrain horizontal/vert/45° from last point

Pen
Shift

Constrain points h/v/45 from last point

Constrain control points h/v/45 from point

Knife
Shift

Constrain horizontal/vert/45°

Ruler
Shift

Constrain measurement to one direction

Alt

Give current position more accurately

Scale
Shift

Constrain either to scale along x or y axis or scale both axes the same

Rotate
Shift

Constrain rotation to a multiple of 45°

Rect/eclipse
Shift

square/circle

Polygon/start
Shift

Constrains so that one of the vertices is horizontal/vertical/45°

Flip / Skew / Perspective / 3D rotate

N/A

## Modifier keys for arrow keys in the Outline Glyph Window¶

Ctrl / CapsLock

Makes the arrow keys scroll

Alt

Makes the arrow keys move by ten times as much as they would otherwise

## Hotkeys¶

FontForge lets you assign custom hotkeys to the menus and other actions. Default hotkeys are provided for the menus in all windows which follow familiar key assignments such as Control+O to open a file and Control+c to “copy” something. The current hotkey for each menu item are shown in the menu itself to help you learn existing bindings and see if your modification to the bindings are as you expect.

The hotkey system allows you to customize the hotkey for anything that appears in the menus. You can freely change the hotkey for a menu item or add one if you find you are using a menu item frequently. Your settings for hotkeys are read from and stored in the ~/.FontForge/hotkeys file. In it’s most basic form this file is a sequence of lines of the form action:key. A large default hotkeys file is provided with FontForge in the hotkeys/default file.

The below fragment of ~/.FontForge/hotkeys will hopefully provide a nice example to get you started creating your own hotkey bindings. As you can see the action part starts with “CharView.Menu.”, meaning that this action is to invoke a menu on a specific window type. You can assign a different hotkey to the same menu item in two different window types. For example, the glyph window might have control+o to show font information, whereas the fontview might retain control+o to mean open a font.

The first action in the below file, Point.Tools.Ruler, will invoke the Ruler menu item which is in the Tools menu, which is itself in the Point top level menu of the charview window (Glyph window). Notice that the key does not need to have a qualifier such as control or alt. Having no modifier for a hotkey is currently limited to the glyph window.

CharView.Menu.Point.Tools.Ruler: r


Continuing down the list you see the use of Ctrl+1 to select a specific tab in the glyph window. This is followed by three key bindings, any of which will zoom the display to a higher magnification level.

CharView.Menu.Element.Font Info...:Ctrl+o