Matra with no consonant
A dependent vowel (matra) must attach to a consonant. A matra at the start of a word, or two in a row, is structurally impossible and signals an OCR error.
ाकमल→flaggedHindi written in the Devanagari script.
Hindi is written in Devanagari and appears across north-Indian printed and handwritten records. gurmukhifix focuses on matra (vowel-sign) attachment and nasalisation.
A dependent vowel (matra) must attach to a consonant. A matra at the start of a word, or two in a row, is structurally impossible and signals an OCR error.
ाकमल→flaggedThe nasalisation marks ं (anusvara) and ँ (chandrabindu) are easily confused.
श, ष and स look similar in many hands and are routinely swapped.
| Raw OCR | gurmukhifix | What happened |
|---|---|---|
नमस्ते दुनिया | नमस्ते दुनिया | Already correct — untouched |
हिंदी भाषा | हिंदी भाषा | Valid — passes through |
ाकमल देश | ाकमल देश ⚑ | Vowel sign at word start — flagged for review |
Tesseract turns pixels into characters. It has no linguistic knowledge — it can't know that a dependent vowel may not begin a word, or that a sign written to the left of a letter must be encoded after it. gurmukhifix adds exactly those rules.
A blind substitution table rewrites correct letters too and corrupts good text. gurmukhifix is evidence-gated: a fix is applied only when it makes the text more valid, so already-correct Unicode is never changed.
Raw OCR often looks right but is malformed Unicode — wrong code-point order, dropped marks. That silently breaks search, indexing, fonts and copy-paste. gurmukhifix produces canonical, well-formed text.