Selecting Glyphs

A selection identifies the cells a later operation may act on. Making the selection does not change the font, but the distinction between one current glyph and a group of selected glyphs becomes important as soon as you read a field or choose a command.

Use an existing font for these exercises so you can recognize the cells being selected. Keep focus in the Table view for the grid's keyboard operations.

The Current Glyph and the Selection

The current glyph is the cell that supplies the immediate glyph context in a Font window, including the bottom-bar name and Unicode fields and single-glyph commands in the Glyph menu. A current cell can represent an existing glyph or an empty position in the displayed set. If the view contains no cells, there may be no current target.

The selection is the collection of cells marked as selected. When you click a single cell normally, it becomes both current and selected. In a multi-cell selection, one cell can remain distinguished as current while other cells are selected as well.

Current and selected are not interchangeable states. A modifier-click can deselect the current cell while leaving it current. The font may therefore have a current glyph even when that cell is outside the selected set.

This distinction answers two different questions. The current glyph identifies the immediate context for a single-glyph field or command. The selection establishes a set for commands that are explicitly selection-based. The command or control determines which of those contexts it uses.

Changing which cell is current or selected does not create a glyph in an empty position.

Single-Glyph Selection

Click an unselected cell normally to select it and make it current. An ordinary click clears the previous multi-cell selection in favor of that cell.

With the Table view focused, the arrow keys navigate through the grid. Left and Right move along the row; Up and Down move to the corresponding position in the neighboring row where one is available. The view scrolls as necessary to show the new current cell.

The other navigation keys provide larger moves:

Key Movement
Home First cell of the current row
End Last available cell of the current row
Page Up / Page Down A page-sized move through the grid
Cmd+Home / Cmd+End on macOS; Ctrl+Home / Ctrl+End on Windows First or last cell of the displayed collection

These names refer to the keys delivered by the keyboard; a compact keyboard may require its own function-key combination to produce them. They do not apply while the cursor is inside a name or search field.

Glyph > Previous Glyph and Glyph > Next Glyph provide another way to step through display order. The optional Browse glyphs with Cmd+scroll preference, off by default, enables modifier-wheel browsing rather than ordinary scrolling; the corresponding Windows gesture uses Ctrl. This preference changes the current glyph as it browses, so it should not be confused with moving the viewport alone.

Cell size, cell proportions, and the Table/List display choices change presentation. They do not, by themselves, select a different glyph.

Multi-Glyph Selection

Ranges and individual cells

To select a range, click its first cell, then Shift-click the other end. The range follows the displayed cell order between the endpoints. If it crosses a row boundary, it continues through that boundary rather than describing only a geometric rectangle.

To build a non-contiguous selection, hold Cmd on macOS or Ctrl on Windows while clicking cells. Each modifier-click toggles the clicked cell into or out of the selection while retaining the other selected cells.

This is useful when the intended group is scattered through the inventory. You can also remove an accidentally included cell without rebuilding the rest of the selection. Check the resulting highlight because the clicked cell can remain current even after being deselected.

Drag selection

Dragging from an unselected cell can extend a selection through the cells in display order. Moving beyond the visible area can scroll the grid while the selection extends. Modifier-dragging can add to or remove from an existing selection according to the state in which the drag began.

Begin a selection drag from an unselected cell when you want to establish a new range. Dragging an already selected cell can start a glyph drag-and-drop operation instead of a selection gesture. To keep the action limited to selecting cells, Shift-clicking endpoints and Cmd/Ctrl-clicking individual cells provide explicit alternatives.

The selection should be read from the resulting highlights, not assumed to be a set of rectangular blocks. Glyph moving and reordering are separate workflows taught later.

Selecting the displayed collection

Edit > Select All, or Cmd+A (Ctrl+A on Windows), selects the cells available to the current view. Edit > Invert Selection exchanges selected and unselected cells within that view's scope.

The active filter and whether unmatched cells are hidden affect what the view contains. A command named Select All should therefore not be assumed to mean every stored glyph regardless of the displayed collection.

The Table view's context menu also offers selection commands. These provide another route to selecting all or inverting the selection, as well as the attribute-based choices introduced at the end of this chapter.

Reading the highlight

Selected cells have a selection overlay, while the current cell receives a distinct emphasis. In the usual light appearance, the selected current cell has a stronger blue treatment and its caption differs from those of the other selected cells. Flags remain visible through the selection treatment.

Exact colors depend on theme, preferences, and focus. Look for the distinction between the current-cell emphasis and the selected-cell overlay rather than relying on one shade alone. Check the selection count as well as the picture of the selected area.

After a command such as Select All or Invert Selection, do not assume that the visually prominent current cell is the only target. The command has established a set. Equally, the presence of that set does not make every subsequent field selection-wide.

Reading Data from a Multi-Glyph Selection

Some glyph properties can share a value across many glyphs. Several letters can have the same advance width, tag, or color flag. Names and default character assignments instead identify particular glyphs and need their own handling.

This explains why a multi-selection needs more than one kind of readout, but it is not a universal rule that a property editable in bulk is editable in bulk everywhere. The interface surface matters.

Current-glyph fields

The Font window's bottom bar continues to show the current glyph's identity and metric information. It is not a general aggregate of the entire selection. In particular, the name and Unicode fields become read-only in a multi-selection; they do not silently rename or reassign all selected glyphs.

A width visible there is the current glyph's value, not proof that every selected glyph has that width. The distinction matters even before editing: reading one value as a shared value can lead to an incorrect conclusion about the font.

A field’s editing scope belongs to that control. A glyph-note field, for example, need not follow the single-glyph behavior of an identity field.

Selection-aware panels

The Glyph panel supports fields that describe the selected set. For a value that can be shared, it shows the common value when the selected glyphs agree and can show multiple when they differ.

For example, a common advance-width readout means the selected glyphs share that value in the relevant layer context. A multiple readout means the field cannot represent the selection with one value. It does not mean the field is empty or that the glyphs lack widths.

The Glyph panel is a separate interface surface from the bottom bar. A selection-wide value and a current-glyph value can appear at the same time; establish which one you are reading before making a change.

Tags and flags

Tags are sets of labels attached to glyphs. In the Glyph panel, a combined tag display can show the union of the selected glyphs' tags: every tag present on at least one of them. That does not mean every selected glyph carries every displayed tag.

A color flag is a single value for each glyph. When selected glyphs have different flags, a combined flag control can appear empty or neutral. This does not establish that every glyph is unflagged.

Before interpreting a per-glyph field, establish whether it describes the current glyph or an aggregate of the selection. Before changing it, use the workflow that documents its target scope. The selected set and the current glyph remain separate information throughout that process.

Advanced Selection Methods

Clicking, range selection, and inversion establish the basic mechanics. More directed methods become useful once you know which properties or relationships define the group you need.

Search-driven selection uses criteria to find glyphs. The Find Glyphs dialog, available through Edit > Find Glyphs, can select search results; the Font window’s Search field—in its Property Bar or on the compact Toolbar—provides a more immediate route to finding relevant content. Filtering determines which cells the view presents; selecting marks the cells for a subsequent operation.

Attribute-based selection appears in the Table view's Select context submenu. Commands such as Same Flag, Same Script, Same Category, Same Tags, Same Caption, Same Suffix, and Related Glyphs use a relationship to the current glyph to identify a group.

Structure-based selection uses the relationships among glyphs assembled from other glyphs. Composites of Selected and Component Sources follow those relationships in opposite directions. For the component model behind these relationships, see Building Composites by Hand.

All these routes produce a selection that still needs to be interpreted alongside the current glyph and the target scope of the next operation.

Find Glyphs and search-driven selection are covered in Searching the Glyph Set. The Select submenu’s attribute choices are developed in Tagging Glyphs, Flagging Glyphs, and Font Filters.