Euspell
Tools

Apple Pages

Convert a Pages document into Euspell, or back to traditional spelling, from the macOS Script menu, using the same engine as the Google Docs add-on.

Why a script rather than an add-in

Pages has no add-in model — nothing like Word's Office.js or Google Docs' Apps Script — so there is no way to run code inside it. Instead a script drives Pages from outside, through the scripting dictionary macOS publishes for it. The script is written in JavaScript for Automation (JXA), which lets it run the Apps Script port of the engine as it is. It works on macOS only.

Like the Word, LibreOffice and Google Docs converters, it is a command you run rather than a checker that watches you type, and it goes both ways: Revert to traditional turns Euspell spelling back into traditional English.

One self-contained file
The build joins the dictionary data, the engine and a thin layer of Pages code into a single ~5 MB script, euspell-pages.js. The conversion itself is the shared engine's; only that last layer is specific to Pages.

Install it

There is no store listing, so you build the script on your Mac and copy it into your user Scripts folder. The steps are kept current in docs/installing-addins.md.

Turn on the Script menu in Script Editor ▸ Settings ▸ General ▸ Show Script menu in menu bar. Then open a Pages document and choose Euspell from the Script menu at the top right of the screen. A dialog offers Convert to euspell or Revert to traditional. The first run asks for permission to control Pages, under System Settings ▸ Privacy & Security ▸ Automation.

What is and isn't handled

ContentStatus
Context-free reforms (above → abov, night → niht)Converted
NN2 | VVZ ambiguities, 702 plurals, 102 heteronymsConverted from context (SVM + POS rules)
~70 semantic homographs (read, bow, tear)Left unchanged
A selectionNot supported — Pages exposes no scriptable selection, so the whole document is converted
Text in text boxes, shapes and table cellsNot reached — only the main body text is converted
Inline character formattingThe whole body resets to one default formatting run — best on plain text
Run once
A few reforms aren't idempotent, so converting an already-Euspell document again can over-transform those words. The first run in a session parses ~5 MB of dictionary data, so expect a couple of seconds before it acts.