Arabic OCR that keeps tashkeel (diacritics)
Most OCR drops Arabic diacritics or invents them. Nuqta copies the tashkeel printed on the page and almost never adds any.
عِلْم · عَلَم · عُلِمَ
The same letters can be different words depending on their marks. A model that guesses marks from context changes the text; a model that drops them loses meaning in vocalized books, poetry, religious texts and children's books.
How Nuqta handles marks
- Vocalized pages keep their marks: mark F1 0.997 on fully vocalized text.
- Unvocalized pages stay unvocalized: 0.08 (0.8B) to 0.16 (4B) invented marks per 100 letters.
- Partially marked names and words keep exactly the marks that are printed.
Choose the output
ocr.read("page.jpg").text # as written: marks only where printed
ocr.read("page.jpg", mode="bare").text # no marks at all, for search and indexing
Questions
Which Arabic OCR supports diacritics?
Nuqta OCR reads tashkeel exactly as printed, with 0.997 mark F1 on vocalized text and almost no invented marks on plain text.