AI-Assisted Automation

Aidus is FontLab’s beta AI integration, connecting natural-language requests to FontLab’s inspection and editing tools. Built-in Chat can answer questions and perform requested operations. Smart Filters turn a description into a reusable glyph filter, while glyph generation uses an image-capable model to supply starting outlines. External assistants can reach FontLab’s tools through MCP, a separate connection described below.

Setting up AI Integration

Open Preferences > Aidus and configure the Aidus Router connection with your provider’s API base and API key. General model supplies Chat and Smart Filters. Glyph image model supplies glyph generation and must support image input and image output through that connection. A working text-model connection does not by itself establish that glyph generation is available.

Use the API base and model identifiers appropriate to your provider or gateway. FontLab handles supported native-provider and OpenAI-compatible connections; their endpoints are not interchangeable merely because both accept an API key. The supported connection choices include OpenAI, OpenRouter, Anthropic, Gemini, DeepSeek, and compatible gateways; use the protocol and endpoint appropriate to the chosen provider. Model availability and charges belong to that account. Start with a low-latency model and move to a more capable one if its results are inadequate; speed and quality are a trade-off.

Enter the key through its credential field. FontLab stores it through the system credential store rather than as a plain preference value. Chat requests can include conversation text and font data returned by tools; Smart Filter compilation sends the description and sample glyph facts, and glyph generation sends visual references. Configure the connection for the project information you intend to process there.

Apply the preferences, open Chat, and begin with a small inspection request about a known glyph. Inspect the response and any reported connection error before asking for a larger task. Aidus is in beta and subject to applicable terms and conditions. Review suggestions and generated content before applying them, including any third-party rights or licensing conditions; generation alone does not establish unrestricted reuse. A fluent answer is not proof that the intended font or layer was inspected.

The Allow external MCP clients to control FontLab preference has a separate purpose. It is not required for built-in Chat or Smart Filters. Enable it only for a deliberate external-client connection; its configuration belongs to the MCP reference in Volume Two. Smart Filters and glyph-generation procedures are taught in Font Filters and Creating and Removing Glyphs.

Using Chat

Open Window > Panels > Chat. Begin with a narrow request that identifies the font, glyphs, master or layer, and intended result. Asking for an inspection before a batch edit makes the proposed scope easier to assess. Chat is a beta workflow and can be slow: each model turn makes a round trip, and tool use can require several turns.

The Chat panel keeps the conversation above the message field.

The Chat panel keeps the conversation above the message field. A reply describes the assistant’s response; inspect the font itself to confirm any requested edit.

A response can describe inspected data, suggest a change, or request a tool operation. Keep those stages distinct. Read the proposed targets and parameters before allowing a modification, especially when several fonts or masters are open. A convincing explanation does not establish that the intended objects were selected or that the resulting design is correct.

For example, ask for a short list of glyphs with a specified problem, check a few known cases, then request the correction for that verified set. Review the changed outlines, metrics, or metadata in FontLab afterward. Undo or restore the saved source if the result does not match the request. Save a source copy before broad operations whose effects would be difficult to compare individually.

Python execution has its own permission controls. Grant it deliberately when the task needs scripting, and inspect the scope of the proposed code rather than treating permission as approval for unrelated work. Tool confirmations and the model's report are useful checkpoints, but the font itself remains the place to verify the outcome.

Keep useful findings with the project: the target set, the change made, and the checks performed. For a repeated operation, prefer a reviewed action set or script over repeatedly reconstructing a long conversational instruction. Detailed conversation controls, Python-permission commands, report files, and custom prompt files belong to the Chat reference.

fontpr and the MCP Layer

Inside FontLab’s Python environment, fontpr, also available as mcp_tools, exposes the tool-oriented operations used by the assistant. The run_python and get_python_output tools are excluded from this Python module to avoid recursive execution.

Inspection tools read the current project; modifying tools change its data. run_actions invokes supported Actions, including autokerning workflows. These are the operations taught in Actions and Kerning Visually, accessed programmatically through the scripting environment in Python Scripting, The Python API and Libraries, and Automation Hooks and Direct Data Access. Read the installed tool descriptions for their arguments and scope.

An external assistant connects through the supplied MCP bridge to the running FontLab application. External access is a separate opt-in from built-in Chat. Such clients can modify fonts outside Chat's confirmation interface, so use a deliberately configured client and inspect its changes. Bridge launch configuration, ports, tokens, and connection troubleshooting belong to Volume Two; they are not prerequisites for ordinary built-in Chat use.

The AI and scripting interfaces reach the same underlying tool operations. A successful natural-language request can therefore help identify a repeatable workflow, while a reviewed script or action set makes its exact scope and parameters easier to reuse. Keep human review of the design and the output in either route.