Font Filters

A font filter controls the glyph collection presented in the Font window. It can focus the view on existing work or show a target collection that includes glyphs you have not created.

FontLab uses “filtered” to mean matched and retained. Hide unfiltered glyphs therefore hides the glyphs that do not match; it does not hide the results you were looking for.

Showing a group of glyphs

To work on the letters in a font, open a font containing letters as well as numbers or punctuation:

  1. In the Font window's Sidebar, select Letter under Categories.
  2. With Hide unfiltered glyphs off, look for matching letters at the start of the view. Non-matching glyphs follow them.
  3. Turn Hide unfiltered glyphs on to show only the matching glyphs.
  4. Choose Clear filter in the Property Bar when you want the full collection again.

The other glyphs remain in the font. Turning Hide unfiltered glyphs off reveals them while keeping the filter active; Clear filter removes that filter.

Focus and Planning

A review task might concern only glyphs carrying a particular tag. A planning task might concern every position in a desired character set, including positions still missing from the font. Both use filters, but they ask different questions.

A non-prospective filter works within the font's existing glyph set. A flag filter, for example, finds glyphs that already have that flag. It does not create positions for imaginary flagged glyphs.

A prospective filter starts from a defined target collection rather than from the font alone. The Table view can show both existing glyphs and empty cells for missing targets. This makes it a planning surface: the visible gaps describe work that has not yet been supplied.

The filter itself does not fill those gaps. A placeholder image remains a reference image until a glyph is created and given content.

Finding missing glyphs

A target collection makes the gaps in your font visible:

  1. Switch to the Font window's Table view.
  2. Select Latin Simple under Basics in the Sidebar.
  3. Compare the existing glyphs with the empty target cells. If the font already covers this collection, there may be no missing positions.
  4. Read the coverage counter beside the target to see how much of the collection is present.

The counter measures membership in the collection. It does not tell you whether the drawings are finished. A blank existing glyph and a missing glyph can both look empty, so check which you are looking at before creating more glyphs.

Exact and fuzzy matching

Matching rules are a separate question from whether a filter can show missing positions. Exact matching uses the specified name, character assignment, or property. A fuzzy filter can also recognize related naming forms through the standard.nam naming table and name-to-codepoint resolution rules.

For example, solidus and slash can refer to the same character through naming synonyms. A Unicode-oriented filter can also recognize variants such as one.onum and one.onum.tnum as related to the base one, even when those variants have no direct codepoint assignment.

Here, “fuzzy” concerns name and character resolution. It is not a comparison of outline similarity. Two glyphs that look identical can have different filtering identities; two visibly different alternatives can be included because their names describe the same underlying character relationship.

Use exact matching when the distinction in the identifiers matters to the task. Use the broader matching options when the intended collection includes recognized naming variants. Inspect the resulting cells before assuming that the choice expresses the scope you intended.

Filter Results in the Font Window

The Hide unfiltered glyphs button stays in the Font window's Property Bar, immediately before Cell Caption, even when the compact Toolbar is hosting other window controls. If the top bar is hidden, its bottom-bar counterpart follows the Sidebar and Font Info controls.

With Hide unfiltered glyphs off, matching cells appear first and non-matching cells follow. In the standard light appearance, matching captions use the configured highlight color, commonly yellow. Other captions retain their ordinary background.

With the option on, non-matching cells are omitted from the view. The caption tint may then return to the ordinary cell treatment because the view no longer needs to distinguish two groups. Theme and highlight preferences affect the colors; the toggle and the counts provide more dependable evidence of scope than one color alone.

With captions hidden in the standard appearance, matching glyph images are black and non-matches gray. Missing prospective positions remain placeholders rather than existing glyphs. Look at the whole view state rather than assuming that an absent yellow caption means no filter is active.

Missing and blank glyphs

An empty prospective cell means the target glyph is not present. A blank glyph is present but contains no visible drawing. The filter can include either according to its target and matching rules. Hiding non-matches does not turn an empty prospective position into a glyph, nor does it necessarily hide a blank glyph that matches.

The List view displays existing glyphs. It can put matches first or show only matches, but it does not invent rows for the Table view's missing positions. Different cell and row counts can therefore be a consequence of the two presentations rather than a missing update.

Returning to a broader view

Use Clear filter in the Property Bar to return to an unfiltered inventory. The separate Clear search control only clears the Search field’s text. Turning off Hide unfiltered glyphs is different: it reveals non-matches while retaining the active filter and its matching group.

When a new filter hides the current glyph, the current-cell context can change to a visible result. Check it before using a single-glyph command. A filter changes presentation, but that presentation affects which targets you can see and select.

Basic Filter Types

Choose a type in the Property Bar's filter controls, then choose its value. The displayed filter label reflects the active choice, including choices made through the Sidebar.

The collection selector distinguishes Encoding, Unicode, Codepage, Category, Script, and Index views.

The collection selector distinguishes Encoding, Unicode, Codepage, Category, Script, and Index views.

Index

Index presents the existing glyphs in internal glyph-index order. It is non-prospective: it shows the collection that exists, without defining missing character positions. Use it when you need to inspect the actual glyph sequence rather than a character-based arrangement.

Index is a strict view of existing entries; it does not need fuzzy name matching. The ordinary Sort control is disabled in this view because the order is the purpose of the view. Glyph indices can change when the font is reordered or its glyph collection changes.

Encoding

An encoding filter presents an ordered collection defined by glyph names. It is prospective and can show missing positions. Use it to plan a target repertoire or inspect progress against an agreed glyph list.

Preferences > Font Window > Filter > Encoding filters find synonyms controls whether recognized alternative names can satisfy its naming targets. An exact name match remains relevant even when synonym matching is off.

The word “encoding” here describes a glyph-set view. It does not mean that choosing the filter rewrites the font's Unicode assignments.

Unicode range

Unicode range presents a collection associated with a Unicode block. It is useful when inspecting coverage in a particular region of the standard and can expose missing positions in that collection.

Unicode-based matching can be extended through Unicode filters find glyph names & variants in the Font Window filter preferences. With that option enabled, recognized names and suffix variants can participate beyond their direct assignments. Check whether you need actual encoded coverage or a broader working group before interpreting the results as coverage evidence.

Category and Script

Category organizes by character properties such as letter, number, or mark. Script organizes by writing system. Their Unicode-derived target views can include prospective positions; Sidebar collections based on the current font can instead be limited to existing glyphs.

The same Unicode name-and-variant preference broadens relevant matching. Category and Script therefore provide a useful way to gather a working group without requiring every alternate to carry a codepoint.

An All choice inside a Unicode-based filter can mean all characters in that filter's domain rather than every unencoded helper or alternate in the font. Use Clear filter when you intend to remove filtering altogether.

Codepage

Codepage presents the Unicode equivalents of a legacy character repertoire. It is a prospective coverage aid: you can see which required characters have representations in the font and which are missing.

Codepage is a strict, codepoint-based target rather than a fuzzy name-variant collection. This does not change the character system used for the glyph assignments. The view lets you evaluate a legacy target while retaining Unicode-based working data.

Sidebar Filter Sections

The Sidebar offers direct access to many of the same kinds of collection. Click an entry to apply its filter to the current font.

The sidebar organizes glyph-set filters into categories, properties, tags, layers, and scripts.

The sidebar organizes glyph-set filters into categories, properties, tags, layers, and scripts.

Basics provides three prospective starting collections: New font, Latin Simple, and Latin Pro. Each includes existing glyphs and missing target positions. A coverage counter beside a prospective target compares what is present with the target size. That counter measures membership in the target set; it does not assess the quality or completeness of the drawings.

Categories and Scripts adapt to the font's contents and provide broader existing-glyph groups as well as more specific targets. The All, Letter, Number, Latin, Cyrillic, and Greek headings are themselves selectable, non-prospective filters. A top-level group and one of its prospective subgroups need not have identical inclusion rules.

Tag, flag, suffix, and layer-related entries offer other ways to gather existing work. A suffix group describes a naming pattern; a flag group describes the current marking. Neither generates glyphs merely by displaying them.

Search History and Bookmarks retain useful filter choices for reuse. Smart Filters sits below History and Bookmarks and adds a different authoring method: describing the desired group in ordinary language.

Smart Filters

A Smart Filter is a named filter compiled from a natural-language description. It is a beta Aidus feature. Applying a saved compiled rule evaluates glyph data rather than asking the model to reinterpret the request each time.

The Smart Filter editor separates a short filter name from its description.

The Smart Filter editor separates a short filter name from its description. This example asks for components without a Unicode codepoint.

Creating or updating a rule requires a configured Aidus connection and sends the description and sample glyph facts to that service. Use project information intended for processing there; setup is covered in AI-Assisted Automation.

  1. Open the Sidebar's Smart Filters section and click its add button.
  2. Enter a name and describe the desired glyphs, for example “glyphs with components and no Unicode assignment.”
  3. Click OK. Compiling filter... indicates that FontLab is preparing the rule.
  4. Inspect the matches after successful compilation. If it fails, read the error and revise the request or connection settings.

Check known matches and non-matches before using the result as an editing selection. Valid syntax does not guarantee the intended meaning. Other requests can concern Latin lowercase with a sidebearing below a stated value or Greek glyphs with a diagonal stem; each still requires inspection.

Describe stored properties and the intended layer scope. “No top anchor in the active layer,” “missing in at least one master,” and “missing in every master” ask different questions. Script and category conditions use assigned characters rather than inferring a writing system from an unencoded drawing. Supply an explicit character set when a language repertoire cannot be expressed by the available criteria.

Use the edit button and Update to compile a revised description. A failed or canceled update leaves the previous saved filter in place. The remove button removes the saved rule, not matching glyphs.

Saved Smart Filters can be reused with another font and return different matches from that font's data. Applying a compiled rule does not call the AI service or run generated Python. After changing glyph data or the active layer, reapply it to check the new collection. Use a built-in filter when it already states the condition clearly.