The Arabic Calligraphy Problem
Bernardo January 27, 2026

The Arabic Calligraphy Problem

13 min read

Arabic is not right-to-left Latin.

This sentence contains the entire problem. Every AI interface that treats Arabic as Latin script rendered in reverse has failed — not at the language level, not at the translation level, but at the typographic level. The failure is architectural. It is built into the rendering engine, the font selection, the text layout algorithm, and the interaction patterns.

The result is text that Arabic readers can decode but do not trust. The decoding is functional. The distrust is cultural. And the distrust determines adoption.

The Connected Script

Latin letters are discrete. Each letter is a separate glyph, positioned independently, separated by the space it occupies. The word “hello” is five independent shapes arranged horizontally.

Arabic letters are connected. Each letter joins to its neighbours in a continuous flow. The word “مرحبا” (marhaba, meaning “hello”) is not five independent shapes. It is a single connected form — a calligraphic unit where the shape of each letter depends on its position in the word and its relationship to adjacent letters.

This positional dependency is the fundamental architectural difference. Every Arabic letter has up to four distinct forms:

Isolated form. The letter stands alone, not connected to any other letter. Used at the end of words after non-connecting letters, or when the letter appears independently.

Initial form. The letter appears at the beginning of a connected sequence. It connects to the following letter but not to the preceding one.

Medial form. The letter appears in the middle of a connected sequence. It connects to both the preceding and following letters.

Final form. The letter appears at the end of a connected sequence. It connects to the preceding letter but not to the following one.

The letter “ع” (ain) in its four forms looks substantially different in each position. The isolated form is a rounded, self-contained shape. The initial form extends a connection to the right (toward the next letter). The medial form connects on both sides. The final form connects to the left (from the preceding letter) and closes.

This is not a stylistic variation. It is the script. Arabic without contextual shaping is not simplified Arabic. It is broken Arabic — letters that fail to connect, words that appear as disconnected fragments, text that is technically composed of the correct characters but visually incoherent.

What “Rendering” Means in Arabic

In Latin typography, rendering is largely a matter of positioning: place each glyph in sequence, apply kerning adjustments between certain pairs, and the text is readable. The process is linear and predictable.

In Arabic typography, rendering is a multi-stage process:

Stage 1: Character analysis. The rendering engine examines each character in the text and determines its position in the connected sequence — initial, medial, final, or isolated. This analysis depends on the character’s neighbours. Some Arabic letters connect on both sides (bi-directional connectors like ب, ت, ث). Others connect only to the right (right-side connectors like ا, د, ذ, ر, ز, و). The rendering engine must know which letters connect and which don’t.

Stage 2: Glyph selection. Based on the positional analysis, the engine selects the correct glyph form from the font. A font that supports Arabic properly must contain all four forms of each letter — plus ligatures (combined forms for common letter pairs). The Arabic ligature “لا” (lam-alef) is not two letters rendered side by side. It is a single combined glyph with its own specific shape. The font must contain this ligature. The engine must recognise when to use it.

Stage 3: Contextual shaping. OpenType fonts use GSUB (glyph substitution) and GPOS (glyph positioning) tables to handle contextual shaping. The “init,” “medi,” “fina,” and “isol” features perform the positional substitution. The “liga” and “rlig” features handle ligatures — required ligatures that must be applied for correct rendering and optional ligatures that improve visual quality.

Stage 4: Mark positioning. Arabic uses diacritical marks — dots, vowel marks (harakat), and other annotations that are positioned relative to the base letter. The positioning is not fixed. It depends on the letter shape, the surrounding context, and the typographic tradition. The shadda (ّ) — a mark indicating gemination — must be positioned precisely above the letter it modifies, adjusted for the letter’s height and width. Incorrect mark positioning is immediately visible to any Arabic reader.

Stage 5: Justification. Arabic text justification is not achieved by adding spaces between words, as in Latin typography. Traditional Arabic justification uses kashida — an elongation of the connecting stroke between letters. The kashida extends the horizontal connection without changing the letter forms. It is aesthetically integral to the script. An AI interface that justifies Arabic text by adding word spaces produces text that looks technically aligned and visually wrong.

Each of these stages must execute correctly for the text to be readable in the way an Arabic reader expects. A failure at any stage — wrong positional form, missing ligature, misplaced diacritical mark, word-space justification — produces text that is technically decodable but culturally illiterate.

The Calligraphic Tradition

Arabic script is not merely a writing system. It is a calligraphic tradition — one of the world’s great art forms, practiced continuously for fourteen centuries, elevated to the highest status in Islamic art and architecture.

This tradition shapes expectations. An Arabic reader does not evaluate text the way a Latin reader evaluates text. A Latin reader expects regularity, consistency, and mechanical precision. An Arabic reader expects flow, connection, and proportion — qualities inherited from centuries of calligraphic practice.

The six canonical scripts of Arabic calligraphy — Naskh, Thuluth, Nasta’liq, Diwani, Ruq’ah, and Kufi — represent different aesthetic traditions, each with specific rules of proportion, connection, and composition. Modern Arabic typography draws primarily from Naskh (the standard text script) and Ruq’ah (the everyday handwriting script), but the calligraphic sensibility — the expectation of flowing connection, proportional harmony, and visual rhythm — persists across all contexts.

An AI interface that renders Arabic text in a basic Naskh font with correct contextual shaping produces readable text. An AI interface that renders Arabic text with sophisticated typography — appropriate ligatures, kashida justification, proper mark positioning, and proportional letter spacing — produces text that respects the calligraphic tradition.

The difference is the difference between functional and native. Between technically correct and culturally competent.

The Nasta’liq Dimension

The problem deepens for Urdu, Pashto, and Persian.

These languages use Arabic script but employ the Nasta’liq calligraphic style — a style that is fundamentally incompatible with the horizontal baseline model that all Latin-based rendering engines assume.

Nasta’liq is written on a diagonal baseline. Letters flow from upper right to lower left within each word. The baseline is not horizontal. It slopes downward. Each word forms a descending diagonal, with the next word beginning at the upper right again.

Rendering Nasta’liq with a horizontal baseline — which is what most AI interfaces do when they encounter Urdu or Persian text — produces text that is technically in the correct script but visually and culturally wrong. The effect for an Urdu reader is comparable to English rendered in a font that places all letters on a wavy line: technically readable, aesthetically offensive, and culturally alienating.

Urdu is spoken by 230 million people. It is the national language of Pakistan. Rendering Urdu in horizontal Naskh instead of diagonal Nasta’liq is not a minor typographic choice. It is the equivalent of rendering English in a font that no English reader would voluntarily use.

The technical challenge is real. Nasta’liq rendering requires a complex layout engine that handles diagonal baselines, variable letter positioning, and multi-level stacking. But the challenge has been solved: the Mehr Nastaliq and Jameel Noori Nastaleeq fonts handle Nasta’liq rendering through advanced OpenType features. The rendering engines exist. The integration into AI interfaces does not.

The Bidirectional Complexity

Arabic text rarely appears alone. In modern usage — especially in technology contexts — Arabic text is mixed with Latin text, numbers, URLs, code snippets, product names, and technical terms. The mixing is constant and irregular.

The Unicode Bidirectional Algorithm (UBA) handles the general case: when right-to-left text contains left-to-right elements, the algorithm determines the display order. But the general case is not the only case.

Consider an Arabic sentence that contains an English product name, a URL, a number with a currency symbol, and a parenthetical in French:

استخدمت (Claude AI) لتحليل البيانات من https://example.com بتكلفة €500

This sentence contains five directional changes. The UBA handles most of them correctly — but edge cases arise at the boundaries between directional runs. The currency symbol (€) may be positioned before or after the number depending on the locale. The parentheses may be mirrored or not. The URL must remain left-to-right even within a right-to-left context.

These edge cases are not theoretical. They appear in every business communication that mixes Arabic with technical terminology — which is nearly every business communication in a technology context. An AI tool that generates mixed-directional text must handle these edge cases correctly, or the output will contain subtle ordering errors that confuse the reader and erode trust.

The errors are subtle because they look correct to a non-Arabic reader reviewing the interface. The text appears rendered. The characters are present. The directional algorithm has processed. But the Arabic reader sees the errors immediately — a misplaced currency symbol, a parenthesis on the wrong side, a number that appears to belong to the wrong clause. Each error is a signal: this tool was not built by someone who reads Arabic.

The Keyboard Problem

The rendering problem begins after the user types. But the typing itself carries cultural expectations.

Arabic keyboard layouts place characters in positions that differ from their Latin equivalents. The standard Arabic keyboard layout (ASMO 449) positions high-frequency Arabic letters on the home row — a design that reflects Arabic letter frequency, not Latin key associations.

When an AI interface accepts Arabic text input, it must handle: right-to-left cursor movement, right-to-left text selection (selection should extend to the right when the shift-left key is pressed, not to the left), right-to-left caret positioning, and right-to-left editing behaviour (backspace should delete the character to the right of the caret in the visual order, which is to the left in the logical order).

Each of these interactions is the mirror image of the Latin behaviour. An interface that handles text input using Latin assumptions — left-to-right cursor movement, left-to-right selection, left-to-right caret positioning — produces an editing experience where the user’s muscle memory conflicts with the interface’s behaviour. The user presses the left arrow key to move the caret forward in the text. The caret moves backward. The dissonance is immediate and persistent.

The Font Problem

The rendering pipeline depends on the font. And the font choices available for Arabic in most AI interfaces are inadequate.

Latin typography has decades of digital type design behind it. The number of high-quality Latin fonts available for web rendering is measured in thousands. The number of high-quality Arabic fonts designed for screen rendering is measured in dozens.

This disparity is not accidental. Type design for Arabic is harder than type design for Latin. A Latin font requires approximately 200–400 glyphs for full coverage (upper and lower case, numerals, punctuation, diacritics). An Arabic font with proper contextual shaping requires approximately 600–1,200 glyphs (four forms per letter, plus ligatures, plus diacritical mark combinations, plus extended Arabic characters for languages like Urdu, Pashto, and Kurdish).

The complexity multiplies for Nasta’liq fonts, which require several thousand glyphs to handle the diagonal baseline, multi-level stacking, and the variable connections between letters. The Mehr Nastaliq font contains over 20,000 glyphs. This is not excess — it is the minimum required for correct Nasta’liq rendering.

The economic implication: type design for Arabic is more expensive, more time-consuming, and more technically demanding than type design for Latin. Fewer designers specialise in it. Fewer foundries invest in it. The result is a smaller library of high-quality Arabic screen fonts — which means that AI interfaces deploying Arabic text have fewer good options and are more likely to fall back on system defaults that were designed for print, not for screen rendering at chatbot text sizes.

The design response: invest in Arabic typography. Commission or license Arabic fonts designed specifically for screen rendering at the sizes used in chatbot interfaces (typically 14–16px). Ensure the font includes full contextual shaping, required ligatures, and proper diacritical mark positioning. Test the font at the actual sizes, on the actual screens, with the actual rendering engine the interface uses.

A beautifully rendered Arabic response earns trust before a single word is read. A poorly rendered Arabic response loses trust before a single word is read. Typography is not decoration. It is the first signal.

The Cost of Cultural Illiteracy

The Arabic-speaking market includes 22 countries with a combined GDP of approximately $3.5 trillion. The Gulf Cooperation Council states alone (Saudi Arabia, UAE, Qatar, Kuwait, Bahrain, Oman) have a combined GDP exceeding $2 trillion and are investing hundreds of billions of dollars in technology infrastructure and AI development.

Saudi Arabia’s Vision 2030 includes specific targets for AI adoption across government and private sectors. The UAE’s National AI Strategy 2031 positions the country as a global AI leader. These are not aspirational statements. They are funded programmes with procurement budgets.

An AI tool that renders Arabic text with broken contextual shaping, missing ligatures, horizontal Nasta’liq, and incorrect bidirectional handling is not competing for this market. It is excluding itself from it. Not through pricing. Not through features. Through typography.

The exclusion is not announced. It is experienced. The procurement officer in Riyadh opens the AI tool, sees the text rendering, and makes a judgment: this tool does not understand Arabic. The judgment is correct. The procurement process ends.

What “Multilingual” Requires

For Arabic specifically, “multilingual” requires:

Correct contextual shaping with all four positional forms for every letter. Required ligatures rendered automatically. Optional ligatures available for formal contexts. Diacritical marks positioned correctly relative to base characters. Kashida justification, not word-space justification. Right-to-left layout with correct bidirectional handling for mixed-script content. Right-to-left cursor movement, text selection, and caret positioning. Nasta’liq rendering for Urdu and Persian text. Font selection that respects the calligraphic tradition — not a Latin font with Arabic glyphs appended, but a font designed for Arabic from the ground up.

These are not premium features. They are the baseline. An AI tool that claims Arabic support without meeting these requirements is making a claim it has not earned.

Arabic is not right-to-left Latin. It is Arabic.

The difference is the entire problem. And the problem has a solution. The solution is not to invent new rendering technology. The technology exists — HarfBuzz, OpenType, the Unicode Bidirectional Algorithm, ICU, CSS logical properties. The solution is to use the technology that exists, to prioritise the scripts that serve the majority of the world’s readers, and to stop treating non-Latin typography as an edge case.

Three billion people read non-Latin scripts. The edge case is the assumption that Latin is the default.

Arabic is Arabic. Build for Arabic.

Written by
Bernardo
Cultural Translator

He ensures your Gizmo doesn’t just speak Spanish — it sounds Spanish. When a Nordic client’s team calls their Gizmo by a Finnish nickname, that’s his work showing.

← All notes