Verify logical sequence as well as visible characters
Verify both the recognized characters and their logical sequence. Mixed right-to-left text, numbers, punctuation, and Latin fragments can look correct visually while copying incorrectly.
You should finish with a text sequence that has been checked logically, not only visually, especially where right-to-left writing meets numbers, punctuation, abbreviations, and embedded Latin text.
Test copied sequence around direction changes with Bilingual OCR. Then verify bidirectional order with A Reviewable Workflow for Mixed-Language OCR and Multi-Column OCR and Reading Order Review.
Bidirectional text inspection
- Identify paragraph base direction
- Test embedded numbers and Latin runs
- Copy into more than one editor
- Do not reverse strings manually
- Keep coordinates for layout reconstruction
Review direction changes around numbers and Latin text
Record base direction
Identify the paragraph direction and every embedded run with another direction. Page coordinates help reconstruct layout, but a plain-text consumer also needs correct logical order and direction handling.
Test copy and paste
Copy representative lines into a plain editor and a direction-aware editor. Check numbers, dates, parentheses, currency, email addresses, URLs, and product codes because punctuation can move around mixed-direction runs.
Keep lines intact during review
Avoid manually reversing strings. Unicode bidirectional behavior is more complex than reversing characters, and combining marks or embedded left-to-right tokens may be damaged.
Check layout separately
A right-to-left paragraph can still sit inside a multi-column or form layout. Verify column order, labels, and field relationships in addition to the direction within each line.
Inspect the logical order around every direction change
Use a passage containing right-to-left prose, a date, a phone number, punctuation, and an embedded Latin name. The visual page may look correct while copied text stores these runs in an unexpected logical sequence. Paste the output into a plain editor and move through it character by character.
Check where punctuation attaches, whether digits retain their order, and how Latin fragments join surrounding text. Preserve region coordinates and the document language. Do not repair direction by reversing an entire line because each directional run can require different handling.
- Test copied logical sequence
- Review digits and punctuation
- Handle directional runs rather than reversing lines
Mixed-direction checks
| Token | Failure to watch | Review method |
|---|---|---|
| Phone number | Digits or plus sign move | Compare logical copy with source |
| Parenthesized phrase | Brackets display on wrong side | Test in a direction-aware editor |
| Email or URL | Punctuation changes position | Verify exact code points |
| Date | Component order becomes ambiguous | Retain visible format and locale |
Correct display can hide incorrect storage order
Bidirectional rendering may look plausible even when copied text, punctuation, numbers, or embedded Latin segments are stored in the wrong logical sequence.

