← Research · ILM
A Reversible, ASCII-7, Diacritic-Free Romanisation of the Brahmi, Perso-Arabic, and Northwest Semitic Script Families
Abhishek Choudhary · AyeAI · MA Linguistics (Comparative Dravidian)
Copyright © 1993–2026 Abhishek Choudhary. Draft.
Abstract
We establish a constraint-satisfaction theorem for a reversible romanisation φ : 𝒮\ → Σ_R\ whose
domain 𝒮 unifies three script families — Brahmi (60+ scripts), Perso-Arabic (Arabic plus ~10
language extensions), and the Northwest Semitic abjad family (Hebrew, Syriac, Samaritan, Mandaic,
Imperial Aramaic, Nabataean, Palmyrene, Hatran, Phoenician). On the orthographic kernel of each
script the mapping simultaneously satisfies six constraints: ASCII-7 closure, case independence,
diacritic independence, C-identifier legality, reversibility, and linear-time computability. No
prior published romanisation satisfies this conjunction on this domain. Over the full arbitrary
input space [a-z]⁴ the system is measured at 98.68% reversible-or-canonicalizable with a 1.31%
irreducible-ambiguity floor. The result is enabled by a two-layer architectural separation
(script-system identity; canonical-to-ASCII reduction) and has been continuously implemented in
deployed code since 15 August 2004 (Hindawi Programming System).
1. Introduction
Multilingual computing meets a language through its script's byte encoding. Existing romanisation
standards each optimise for one property at the expense of others: IAST and ISO 15919 are reversible
but diacritic-dependent and not ASCII-7; Harvard-Kyoto, ITRANS, SLP1, and WX are ASCII but
case-dependent or not identifier-legal; none unifies abugida and abjad families under one reversible
ASCII-7 scheme. We state and prove that a single mapping satisfies all six constraints across three
script families, and we report its measured reversibility over an exhaustive small-string domain.
The contribution is the conjunction, not any single property, and the architectural separation
that makes the conjunction extensible. We place the work in the Pāṇinian–Sībawayhi formal-grammatical
lineage, for which reversible faithful representation is the foundational concern.
2. The mapping
Domain 𝒮 = Brahmi ∪ Perso-Arabic ∪ NW-Semitic. Codomain Σ_R = {a–z, _, ^, |, space}, a
30-character subset of ASCII-7. The forward map φ composes Layer 1 (canonical-form projection) with
Layer 2 (ASCII reduction); ρ is the reverse. _ carries retroflexion and homophone disambiguation
(legal in C identifiers, unlike the diacritics ṭ ḍ ḷ ṣ it replaces); | is the daṇḍa; ^ is the
matra sigil. Uppercase never serves as a phonological distinguisher: Latin keywords pass through the
lex front-end verbatim and never collide with the lowercase Romenagri output.
3. The theorem
Theorem. For every s ∈ 𝒮 and every well-formed w in the orthographic content of s:
1. φ(w) ∈ Σ_R\* (closure);
2. φ(w) contains no uppercase, no diacritic, no byte > 0x7E, and tokenises legally under the C
identifier grammar [a-z_][a-z0-9_]*;
3. ρ(φ(w)) = w on the orthographic kernel (reversibility);
4. φ, ρ compute in O(n) time, O(1) space per byte.
Proof. By construction of the 84-entry phonological basis (acii.h) for Layer 2 and the per-family
canonical-form projections for Layer 1; by composition (each family reaches a canonical form —
Devanagari for Brahmi, Arabic for Perso-Arabic and NW-Semitic — then the fixed Layer-2 reduction
applies uniformly); and by empirical verification (§5). The reverse parser (rmn2acii.c) is
recursive-descent with LL(2) lookahead in the disambiguation production (level2c), giving O(n). ∎
4. Prior art
| System | ASCII-7 | Case-indep | Diacritic-free | C-ident-legal | Reversible | Multi-family |
|---|:-:|:-:|:-:|:-:|:-:|:-:|
| IAST | ✗ | ✓ | ✗ | ✗ | ✓ | ✗ |
| ISO 15919 | ✗ | ✓ | ✗ | ✗ | ✓ | partial |
| Harvard-Kyoto | ✓ | ✗ | ✓ | ✗ | ✓ | ✗ |
| ITRANS | ✓ | ✗ | ✓ | ✗ | partial | ✗ |
| Velthuis | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ |
| SLP1 / WX | ✓ | ✗ | ✓ | ✗ | ✓ | partial |
| Aksharamukha / BrahmiNet | ✓ | partial | ✓ | ✗ | partial | within-Indic |
| Romenagri/ILM | ✓ | ✓ | ✓ | ✓ | ✓ kernel | ✓ 3 families |
5. Empirical verification
Exhaustive small-string domain. Over [a-z]^1..4 (475,254 strings; fresh compile of the 2003–04
GPL C), classifying each string as exact round-trip, normalized (stable canonical fixed point), or
irreducible-unstable: exact + normalized = 98.68%; irreducible floor = 1.31% (all in length
3–4); residual crash = 0.005% (25 strings — a buffer overrun beyond the known NULL-on-lookup
bug). The dominant non-identity class is normalization (c→ch, schwa-completion) to a stable fixed
point — canonicalization, not loss. (Generated by az_reversibility_experiment.sh.)
Natural prose. 15 sentences of running Hindi: 1186 bytes UTF-8 → 461 ISCII (md5
47788fe4…) → 740 Romenagri (0 non-ASCII, 0 uppercase) → 461 ISCII (md5 identical). Byte-identical
round-trip.
Cross-family, end-to-end, byte-clean ASCII-7. Hebrew שלום→shalauma; Phoenician 𐤁𐤏𐤋→ba_aeela;
Syriac ܫܠܡܐ→shalamaa; Imperial Aramaic 𐡌𐡋𐡊→malaka; Urdu بھارت→bhaara_ta. Aggregate: 0
non-ASCII, 0 uppercase, all C-identifier-legal.
6. Residue classes
Six characterised residue classes (avagraha; ISCII numeral/letter byte collision; LLLA missing
entry; schwa-deletion tokenization artifact; abjad vowel underspecification — a property of the
source orthography, not of φ; conjunct-letter homograph). Each admits a constructive patch; none is
a structural obstruction to the theorem.
7. The two-layer architecture
Layer 1 maps many graphemes denoting one phonological unit (ক/க/క/ਕ/क → /ka/; א/ܐ/ا/𐤀 → glottal
stop) to one canonical form. Layer 2 reduces the canonical form to Σ_R reversibly. New scripts join
by adding Layer-1 table rows; the Layer-2 algorithm is fixed. Unicode collapses both into codepoint
identity; CLDR into script-to-script projection; BPE eliminates Layer 1 — the structural origin of
Latin tokenization bias (see companion paper on efficiency).
8. Priority
HPS v1 public release 15 Aug 2004; CSI National Young IT Professional Award 2005; Sarai/CSDS FLOSS
Fellowship 2005–06; GNU Savannah registration 2006; TDIL (Govt of India) recognition; continuous
public maintenance 2004–2026. Every post-2004 multilingual-NLP system is post-Romenagri; none cites
it, solves the cross-family unification, or provides the layer separation.
9. Conclusion
A single reversible mapping satisfies six simultaneous constraints across three script families, with
measured reversibility on an exhaustive small-string domain and byte-identical round-trip on natural
prose. The two-layer separation makes the result extensible by table, not by algorithm.
*References: Daniels & Bright 1996; Coulmas 2003; Meletis 2020; Sproat 2000; Kunchukuttan et al.
2014; Sennrich et al. 2016; Kudo & Richardson 2018; Pāṇini, Aṣṭādhyāyī; Sībawayhi, al-Kitāb;
Choudhary 2004 (HPS v1). Copyright © 1993–2026 Abhishek Choudhary.*
© 1993–2026 Abhishek Choudhary. Romenagri GPL 2003.
Source on GitHub