OCR Engine 2 Update: Now 33 languages, `auto` recommended and per-character boxes for Japanese, Chinese and Korean**
The OCR engine 2 updates grows the list of supported OCR languages from 16 to 33:
| Script | Languages |
|---|---|
| Latin | English, French, Italian, German, Spanish, Portuguese, Turkish, Indonesian, Malay, Czech, Danish, Dutch, Norwegian (Bokmål and Nynorsk), Polish, Romanian, Swedish, Finnish, Vietnamese |
| Cyrillic | Russian, Ukrainian |
| CJK | Chinese (Simplified and Traditional), Cantonese (Simplified and Traditional), Japanese, Korean |
| Other | Arabic (including Najdi Arabic), Thai, Hindi, Marathi |
Languages without a dedicated model but written in Latin or Cyrillic script (for example Croatian, Slovak, Slovenian, Hungarian, Bulgarian, Serbian) are read through the Latin and Cyrillic recognizers; expect occasional diacritic errors there. Greek is not supported by engine 2 yet.
Set `language=auto`
`language=auto` is now the default for all engine 2 requests, It brings only advantages:
- `auto` detects the language itself, including documents that mix languages or scripts.
- `auto` reads vertical Japanese and Chinese text. With a specific language code, engine 2 reads horizontal text only.
- In our comparison over 40 sample pages, `auto` was as accurate as the specified language, and sometimes better.
- No change is needed for existing integrations, the language codes keep working.
Per-character bounding boxes for CJK text
With `isOverlayRequired=true`, engine 2 now returns one `Words` entry per Japanese, Chinese or Korean character (= CJK), with the box fitted to the character, as engine 1 did. Digits and Latin words remain word-level. Text output is unchanged.
Availability
As always, we roll out updates to the free endpoint first. If all goes well, the update will roll out to PRO1 and PRO2 next week.
Questions and samples that do not read well are welcome in this thread (if any).