Contextual Letter Forms
Arabic letters change form by position. The selected font and shaping stack must apply contextual substitutions consistently.
Comparison
Modern tools can all participate in an Arabic rendering workflow. The useful comparison is who owns fonts, shaping, browser lifecycle, determinism, and validation.
Implementation comparison
| Criterion | Mirqam | Puppeteer / Chrome | Cloudinary |
|---|---|---|---|
| RTL layout | Arabic-first template engine | Browser CSS and layout when configured | Text overlay behavior to validate per design |
| Diacritics | RAQM-backed positioning with golden tests | Chrome shaping with the loaded font | Validate the chosen font and transformation output |
| OpenType shaping | Owned server-side shaping stack | Chrome shaping stack | Managed renderer; verify required features |
| Custom fonts | Upload TTF/OTF in the product | Load or install fonts in the browser environment | Upload authenticated TTF/OTF/WOFF2 assets |
| Deterministic output | Pinned renderer and fonts | Pin browser, fonts, OS image, and CSS | Managed service plus versioned transformations |
| Runtime profile | Hosted API render without a browser capture lifecycle | Browser launch/page/capture lifecycle to manage | Remote transformation with CDN-cached derived assets |
| Integration model | POST JSON and binary image response | Custom HTML, browser code, and capture | Transformation URLs or SDK calls |
The technical problem
Arabic letters change form by position. The selected font and shaping stack must apply contextual substitutions consistently.
Harakat require precise mark positioning through font tables and the shaping engine, then visual verification with the target font.
Ligatures and elongation rely on OpenType substitutions and positioning; requirements vary by font and design.
Mixing Arabic, Latin text, and numbers requires correct Unicode bidirectional handling at every layout boundary.
Every environment must load the intended Arabic font and avoid silent fallback to a different system font.
Browser pipelines can be reproducible when versions, fonts, CSS, and the OS image are pinned. Mirqam owns those rendering dependencies as one service.