Using Arabic ك and ي instead of Persian ک and ی

Iranian Persian uses ک U+06A9 and ی U+06CC. An Arabic keyboard or pasted Arabic text may insert ك U+0643, ي U+064A, or ى U+0649 instead. The sounds can be the same and some fonts make the shapes nearly identical, but a computer sees different characters. A visually plausible word can therefore fail a search, be marked wrong by exact grading, or form a second database entry.

This is an encoding error, not an informal Persian spelling. The canonical letters remain ک and ی in conversation, literature, academic writing, and official prose. Arabic quotations retain Arabic code points, but a Persian sentence should not inherit them merely because the scripts are related.

Know the stored identities

CharacterUnicode name and code pointStatus in Iranian PersianFrequent visual clue
کARABIC LETTER KEHEH, U+06A9canonical Persian kafPersian isolated/final shape
كARABIC LETTER KAF, U+0643Arabic input; replace in Persianmay show a small internal stroke
یARABIC LETTER FARSI YEH, U+06CCcanonical Persian yehusually dotless when final
يARABIC LETTER YEH, U+064AArabic input; replace in Persianoften keeps two dots finally
ىARABIC LETTER ALEF MAKSURA, U+0649not Persian yehcan look deceptively dotless

Unicode's standard normalization forms do not reliably convert these Arabic letters into their Persian counterparts. A Persian-aware application may add a language-specific replacement step, but a filename, search engine, spreadsheet, or learning platform may not. Canonical input is safer than hoping every later system repairs the text.

Common Mistakes

1. Pasting a whole Arabic-coded word

The first example looks Persian in many fonts, yet its kaf and yeh are Arabic code points. Retyping with an Iranian Persian keyboard produces canonical Persian data.

❌ اين كتاب براي علي است.

Incorrect Persian encoding — the line contains Arabic ي and ك rather than Persian ی and ک.

✅ این کتاب برای علی کنار گذاشته شده است.

in ketâb barâ-ye Ali kenâr gozâshte shode ast.

This book has been set aside for Ali. (written standard)

The correction is not merely cosmetic. Search for کتاب may miss كتاب, even when they appear alike. See Persian Kaf and Yeh for the joining forms.

2. Fixing kaf but leaving Arabic yeh

Mixed words are common after partial find-and-replace. A final Arabic ي may display dots and is easier to notice, while Arabic ى can look exactly like Persian ی.

❌ صندلي كنار پنجره خالي است.

Incorrect encoding — صندلي and خالي contain Arabic yeh, and كنار contains Arabic kaf.

✅ صندلی کنار پنجره برای مهمان خالی است.

sandali-ye kenâr-e panjare barâ-ye mehmân khâli ast.

The chair by the window is free for the guest.

Inspect the whole token, not only its first suspicious letter. One Arabic code point is enough to split search results.

3. Using alef maqsura as a dotless Persian yeh

Arabic ى is a different letter, not an alternative final glyph that Persian typists should select. A font may conceal the difference completely.

❌ اين صندلى چوبى شكسته است.

Incorrect Persian encoding — final Arabic alef maqsura and Arabic yeh have replaced Persian ی.

✅ این صندلی چوبی پایه‌ی شکسته‌ای دارد.

in sandali-ye chubi pâye-ye shekaste-i dârad.

This wooden chair has a broken leg.

Do not choose a character because its isolated shape looks dotless. Type ی and let the font draw the appropriate contextual form.

4. Combining Arabic yeh with a Persian ZWNJ boundary

A correct half-space does not repair the wrong letter next to it. The prefix in standard می‌روم must contain Persian ی, followed by U+200C.

❌ من هر روز با اتوبوس مي‌روم.

Incorrect mixed encoding — the ZWNJ boundary is present, but the prefix ends in Arabic ي.

✅ من روزهای بارانی با اتوبوس به اداره می‌روم.

man ruz-hâ-ye bârâni bâ otobus be edâre mi-ravam.

On rainy days I go to the office by bus.

The data contains two separate requirements: U+06CC for Persian yeh and U+200C for the morphological boundary. Spaces, Half-Spaces, and the ZWNJ explains the second requirement.

5. Trusting visual search results

An exact search may return one spelling and miss its look-alike. This affects names, tags, filenames, glossaries, and automated assessment—not just running prose.

❌ فايل كارآموزى را با نام قديمي ذخيره كردم.

Incorrect Persian encoding — several Arabic kaf and yeh characters can make the filename and search key inconsistent.

✅ فایل کارآموزی را با نام فارسی یکسان ذخیره کردم.

fâyl-e kâr-âmuzi râ bâ nâm-e fârsi-ye yeksân zakhire kardam.

I saved the internship file with a consistent Persian name.

When cleaning a collection, search explicitly for U+0643, U+064A, and U+0649, replace them with the Persian letters, and then inspect ZWNJs and spaces separately. Do not assume a visually deduplicated list is digitally deduplicated.

💡
Canonicalization is a pipeline, not a font choice: normalize input, replace known Arabic variants, preserve meaningful ZWNJs, and only then compare strings.

6. Assuming every rejected answer is a Unicode problem

Character inspection should come before grammatical diagnosis, but it cannot fix a sentence whose roles are wrong. The following first sentence uses canonical Persian letters and is grammatical; it simply means “he/she gave me Ali's book,” not “Ali gave me the book.”

⚠️ کتاب علی را به من داد.

ketâb-e Ali râ be man dâd.

Grammatical, but wrong for the intended meaning ‘Ali gave me the book’: کتاب علی is parsed as ‘Ali's book.’

✅ علی کتاب تازه را بعد از کلاس به من داد.

Ali ketâb-e tâze râ ba'd az kelâs be man dâd.

Ali gave me the new book after class.

This pair prevents overdiagnosis. First confirm code-point identity; then check word order, ezâfe, and object marking.

7. Replacing only what the font reveals

Some fonts distinguish Arabic and Persian letters strongly; others make them almost identical. A visual fix can therefore succeed on one device and fail on another.

❌ كودك در پارك بازي مي‌كند.

Incorrect encoding — the sentence contains Arabic kaf and yeh even if the current font hides the difference.

✅ کودک در پارک نزدیک خانه بازی می‌کند.

kudak dar pârk-e nazdik-e khâne bâzi mi-konad.

The child is playing in the park near the house.

Use a code-point inspector, a Unicode-aware regular expression, or retype with an Iranian Persian layout. Font shape is evidence about rendering, not stored identity.

8. Repairing Arabic quotations indiscriminately

Arabic text quoted as Arabic should retain its language's code points and orthography. The repair rule applies to Iranian Persian text, metadata, and search keys. Converting an authenticated Arabic quotation merely to make it look Persian corrupts the source.

⚠️ متن فارسی و نقل‌قول عربی را بدون تشخیص زبان یکسان‌سازی کردم.

matn-e fârsi va naql-qowl-e arabi râ bedun-e tashkhis-e zabân yeksân-sâzi kardam.

The sentence is grammatical, but it describes an unsafe editorial workflow: canonicalization must distinguish Persian spans from genuine Arabic quotations.

✅ ویراستار فقط بخش‌های فارسی سند را با نویسه‌های فارسی یکسان‌سازی کرد.

virâstâr faghat bakhsh-hâ-ye fârsi-ye sanad râ bâ nevise-hâ-ye fârsi yeksân-sâzi kard.

The editor normalized only the Persian sections of the document with Persian characters.

A safe repair workflow

Choose the Iranian Persian keyboard layout. For pasted text, make a recoverable copy, identify Arabic kaf and yeh variants by code point, replace only Persian-language spans, and rerun search or grading tests. Then audit ZWNJ and ordinary spaces because character replacement does not repair boundaries. Finally, visually inspect the text in more than one font without treating the font as authoritative.

Key Takeaways

  • Canonical Iranian Persian uses ک U+06A9 and ی U+06CC.
  • Arabic ك، ي، ى may look identical but remain different searchable data.
  • Ordinary Unicode normalization does not guarantee Persian-specific replacement.
  • Correct letter identity and correct ZWNJ placement are independent requirements.
  • Repair only Persian spans; genuine Arabic quotations keep Arabic orthography.

Now practice Farsi

Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.

Start learning Farsi

Related Topics