Arabic Diacritic Stacking Broken in v21.2 – Kasra Always Attaches Under Shadda When Ligatures Enabled
Severity: Critical
InDesign Version: 21.2 x64
Language: Arabic (RTL)
Bug Summary
Incorrect positioning of Arabic diacritics (Kasra + Shadda) when ligatures are enabled.
Input order of combining marks is ignored, breaking previous behavior (pre-v17).
Environment
Text Direction: RTL
Language: Arabic
Font: KFGQPC Uthman Taha Naskh
Composer: World-Ready Composer
Ligatures: Enabled
Diacritic Positioning panel tested (no effect)
Description
In versions up to 17, manual input order of Arabic diacritics controlled stacking:
Kasra (U+0650) then Shadda (U+0651) → Kasra under base letter
Shadda then Kasra → Kasra under Shadda
In version 21.2 x64, InDesign enforces mark-to-mark positioning strictly.
Kasra always attaches under Shadda, regardless of input order.
This removes manual typographic control required in professional Arabic publishing.
Not a Font Issue
Font tested: KFGQPC Uthman Taha Naskh
Works correctly in Microsoft Word
Word respects input order
Therefore issue originates from InDesign shaping engine, not the font
Workarounds Tested
1. Disable Ligatures
Result: Kasra appears under base letter (correct)
Problem: Not viable for production — breaks Arabic typography and workflow in large documents (800+ pages)
- Diacritic Positioning Panel
No effect on stacking behavior
- GREP + Baseline Shift
Only visual workaround — not a shaping fix
Additional Observation
If entering:
Kasra + Shadda + Kasra
The Kasra appears under the base letter (duplicated), indicating partial internal support for alternate stacking.
Steps to Reproduce
Set paragraph direction to RTL
Use font: KFGQPC Uthman Taha Naskh
Enable Ligatures
Type a letter + Kasra + Shadda
Observe: Kasra appears under Shadda
Disable Ligatures
Observe: Kasra appears under base letter
Impact
Breaks classical Arabic typography control
Affects religious and academic publishing
Removes backward compatibility with previous versions
Forces manual verification in large documents
Request
Please investigate:
Interaction between ligatures and mark-to-mark positioning
Changes introduced after v17
Possibility of restoring manual diacritic stacking behavior
Or adding an option such as:
“Respect input order for Arabic diacritics”
Immediate attention requested due to impact on professional Arabic publishing workflows