Copyediting Persian Text with AI: Half-Spaces, ی/ک and Spacing at Book Scale

Why Persian copyediting at book scale is hard
In a short text, Persian copyediting is a knowledge problem: you have to know which spelling is right. In a book it is a memory problem: nobody can swear a compound is spelled the same way on every page. The sentence-level checklist is in line editing with AI.
- The half-space is invisible. A word with a zero-width non-joiner and the same word without one are different strings that render almost identically. The eye cannot count them.
- Too many variable axes. Full space, half-space, no space; Persian ی and ک against Arabic ي and ك; hamza forms; digits; spacing around punctuation. Each is a decision, and an unmade decision spreads through the book.
Chapters written years apart, pasted from old posts, typeset by other hands. An error born of a habit repeats — bad for how the book looks, good for the work, because it is countable, and anything countable is a job for pattern matching.
What AI actually gets right in Persian
Models are good at patterns, poor at judgment: hand them pattern work only.
- Counting and enumerating. "List every place this form appears, with one line of context." At book scale it does not tire and does not skip.
- Surfacing variation. A term written three ways across a manuscript is invisible to a human reader; a pattern pass reports it. That is where the value sits, not in the replacing.
- Applying a stated convention. "Write this compound this way everywhere" runs across a thousand instances, plus mechanical work like converting Arabic ي and ك.
The trick is one sentence: you set the convention; the model applies it. Ask it to "fix whatever needs fixing" and it supplies its own convention, and you never learn what changed. Where this step sits among the levels of editing is in the complete map of editing with AI.
What it breaks in Persian
- It eats the half-space. The worst error, because nothing shows in the output: the file looks tidy and the half-spaces are gone. Check character by character, never by eye.
- It splits prefixes and suffixes blindly. Not every word starting with می carries a prefix: میوه, میان, میزان. Not every word ending in ها is a plural: تنها, بها, گاه. Not every تر is a comparative suffix: بستر, دفتر.
- It "corrects" what was intentional. Colloquial dialogue, archaic spelling inside a quotation, a brand name, a line of verse, a URL.
- Its report is not evidence. It claims changes it did not make, and the output is plausible. The diff between versions is the evidence.
- It can be consistently wrong, and it sees no boundaries. "Match everything to the first instance" plus a wrong first instance puts the error everywhere. There is no external check and no view of the rendered page — yet part of the half-space question is a rendering question.
Use it to find and list, decide yourself, and ask for the application in a form you can audit.
Building a ledger of recurring errors
Before you change a character, build a ledger: pattern, frequency, decision.
- Sample scattered pages, not chapter one. Start, middle, end, plus a chapter you know is messy.
- Ask for frequency first, edits never. The model reports how often each form appears, with one line of context.
- Three buckets. Rule: one form is simply wrong. House convention: both are acceptable and you pick one. Intentional: it stays.
- Record the reason. Otherwise you relitigate the same case in three weeks.
- Wire it into your style sheet. How those decisions survive a long project is in the style sheet and consistency.
For fixed strings — an Arabic yeh, a double space — "find all" is enough and its count is exact; save the model for patterns you cannot write as a literal string. The ledger is short, and a handful of patterns is most of how the book looks.
A prompt pattern for batched normalization
Three prompts are enough; all three produce auditable output.
Report only, change nothing
List every place where the term "..." appears in a different form, with one line of context, and say how many times each form occurs. Change nothing; list uncertain cases separately.
Apply one stated decision
Convention: the compound به کار takes a full space, and the plural suffix takes a half-space, except in تنها, بها and گاه. Apply it and return a change list, each change with its before and after context. Change nothing else; where you are unsure, list it under "uncertain".
Audit the output
Here is the change list. Separately, tell me where the convention was applied wrongly: proper nouns, quotations, URLs, verse, colloquial spelling.
Two rules: run it chapter by chapter, not on the whole book at once, and keep the before and after so you can revert. Spot-checking a sample per chapter surfaces systematic errors without reading every line.
A decision table
| Pattern | Bucket | Method | Delegate | Human check |
|---|---|---|---|---|
| Arabic ي and ك | Rule | Literal string search | Yes | Final approval |
| Missing half-space in plural and comparative suffixes | Rule, with exceptions | Model plus an exception list | Yes, batched | Sample per chapter |
| Two common forms of one compound | Convention | Model, after your ruling | Yes | Decide on a correct sample |
| Invisible characters: double spaces, half-spaces, direction marks | Rule | Character-level tooling | No | Mandatory |
| Colloquial dialogue and archaic quotations | Intentional | None | No | No |
The real risk is not a missed error but a wrong decision applied consistently: a missed half-space annoys no one; a wrong form across the whole book calls the text's credibility into question.