vankatum
Armenian hyphenation that gets consonant clusters right, for websites, LibreOffice, InDesign and LaTeX. It keeps the ու digraph and the յ glide whole and writes the epenthetic ը where the spelling rules require it.
Loading the hyphenation engine…
Install it in your program
Every file comes from the latest release and was checked in the program it is meant for.
Website
Chromium, Firefox, WebKit (Safari)npm install vankatumimport { hyphenateText } from "vankatum";
element.textContent = hyphenateText("Հայերենի տողադարձը");hyphenateText puts invisible soft hyphens at every allowed break; the browser shows a hyphen only where a line wraps. Run it once on the server or at build time, and leave CSS hyphens at manual: the browsers' own Armenian hyphenation is the old pattern set or none at all.
LibreOffice Writer
Tested in LibreOffice 26.8- Download vankatum-hy.oxt and open it (or Tools > Extensions > Add), then restart LibreOffice.
- Mark the text as Armenian: Format > Character > Font > Language > Armenian.
- Turn hyphenation on: Format > Paragraph > Text Flow > Hyphenation > Automatically.
The written ը appears at the break where the rules require it (գը-րել). Two limits: a word with և before a vowel is not broken at that point, and a name like Ստեփան can come out as Ըս-տեփան, because LibreOffice lowercases words before hyphenating.
Adobe InDesign (macOS)
Tested in InDesign 2026- Quit InDesign.
- Open Terminal and run:
curl -fsSLO https://raw.githubusercontent.com/lobotomoe/vankatum/main/install/indesign/macos.sh
sudo bash macos.sh- Start InDesign and set Character > Language to Armenian (Armenia).
InDesign has no Armenian. The script adds it to InDesign's Hunspell plugin: it keeps a copy of Adobe's original plugin, adds the language and signs the plugin again locally, because with Adobe's signature broken InDesign stops hyphenating every language. An InDesign update removes Armenian; run the script again after one.
To restore Adobe's original plugin:
sudo bash macos.sh --uninstallLaTeX (LuaLaTeX)
Tested with babelSave hyph-hy.tex next to your document as hyph-hy-vankatum.tex (a different name, so TeX does not load the old file from your distribution):
\documentclass{article}
\usepackage[armenian]{babel}
\babelprovide[import, hyphenrules=+]{armenian}
\begingroup
\language=\csname l@armenian\endcsname
\input hyph-hy-vankatum.tex
\endgroup
\babelhyphenmins[armenian]{1}{2}
\babelfont{rm}{Noto Sans Armenian}
\begin{document}
կանգնել աշխատանք բուրժուական
\end{document}Any font with Armenian letters works. TeX patterns keep the letters as they are, so there is no ը at the break. XeLaTeX and pdfLaTeX load patterns only when the format is built, so this recipe is for LuaLaTeX.
Word, Pages, Google Docs
Not possible yetThese programs do not let you add a hyphenation dictionary, so there is no way to give them Armenian hyphenation.
The API
Existing Armenian hyphenators wrap the same 1,428 Liang patterns and only break before a single consonant between vowels. vankatum is a from-scratch syllabification engine built from the Armenian hyphenation rules, so it handles clusters, digraphs, glides, and the schwa.
hyphenate(word, options?)Hyphenate a single word, inserting the hyphen string at each break point.
syllabify(word, options?)Split a word into its hyphenation fragments (letter-preserving).
breakPoints(word, options?)Return the codepoint offsets where the word may be split, left to right.
hyphenateText(text, options?)Insert soft hyphens at every legal break in running text; non-Armenian content passes through verbatim.
syllabifyWithSchwa(word, variant?)Syllabify with the epenthetic schwa ը materialised — the orthographic form, for teaching and validation.
tokenize(word, orthography?)Classify a word into units (vowel, consonant, separator), merging digraphs and glides.
Orthography variants
- Eastern (reformed)
- Reformed (Abeghyan) orthography. The default; glide-vowel sequences are spelled with the յ glide.
- Western (classical)
- Classical (Mashtotsian) orthography. Adds the vowel digraphs եա and եօ as single nuclei.