How It Works
Why old Odia text looks broken, and how we fix it
Before Unicode, every Odia font invented its own code for each letter. The file stores Latin characters; the font draws them as Odia. Change the font and the Odia disappears.
What the converter does
- Maps glyph codes to letters. Each legacy code (for example
Kin Akruti Sarala) is replaced by the real Unicode letter (କ), following the published rule order so longer sequences win. - Re-orders vowel signs. Legacy fonts store some vowel signs ( େ, ୈ, ୋ, ୌ) before the consonant because that is where they are drawn. Unicode stores them after. The rules move them, including across conjuncts.
- Rebuilds reph and conjuncts. Reph (ର୍), ra-, ya-, wa-, ma- and la-phala, virama and half-forms are rebuilt as proper Unicode sequences.
- Normalises. The result is put in Unicode NFC form, so it searches and sorts correctly.
- Warns. Characters the font's table does not cover are left exactly where they were and listed, so nothing disappears silently.
Where the rules come from
The engine is a server-side port of the open-source OdiaWikimedia Converter. At every start-up it checks that each mapping table is byte-for-byte the published one and that its output matches the original scripts. A direction that fails is withdrawn automatically.
What to check afterwards
Legacy typing was not always consistent — operators used look-alike glyphs and spacing tricks. Proof-read names, numbers and rare conjuncts in important work.