💡Tutorials
How It Works
User opens a project in Adobe Express.
Activates the Harmony Font Checker from the Add-ons panel.
Manually selects a text object (not grouped).
Clicks "Check Font and Harmony".
Add-on analyzes font properties, tone, and style.
Harmony score and tone analysis appear in the side panel.
User can manually adjust fonts or use the "Fix Font" button.

Technical Architecture & Sequence Flow
The technical workflow of Harmony Font Checker involves coordinated interactions between the user, the Adobe Express Add-on, the Document Sandbox, Adobe Fonts API, and OpenAI API. Here's how the system operates:
Technical Step-by-Step Description:
User Interaction Initiation
User selects a text object and clicks the "Check Font Harmony" button.
Font Analysis Request
The Adobe Express Add-on calls
checkFontHarmony()and sends the request to the Document Sandbox.
Metadata Retrieval
The Document Sandbox fetches the font metadata of the selected text object.
It sends this metadata to OpenAI API to analyze font tone compatibility.
Harmony Score Calculation
OpenAI API returns a harmony score and pairing suggestions based on the prompt.
The Document Sandbox passes this score, message, and font data back to the add-on.
User Receives Feedback
The add-on displays the harmony score, tone message, and recommended pairings to the user.
Font Pair Selection (Optional)
The user selects a new font from the dropdown suggestion.
The add-on sends another call to
checkFontHarmony(font1, font2)with the selected pair.
Re-analysis and Preview
The Document Sandbox sends another prompt to OpenAI API for the selected font combination.
After receiving the updated score and message, the Sandbox requests a preview of the recommended font from Adobe Fonts API.
Adobe Fonts API returns the font preview.
Final Output Display
The updated score, tone message, and visual preview are displayed in the feedback panel.
The user confirms or modifies the final font selection.

This asynchronous, multi-service process ensures accurate tone classification and high-quality visual font pairing in real time.
Last updated