Skip to content
KurdFonts
All guides

The letters that break

Most fonts that advertise Arabic-script support were drawn for Arabic. Kurdish uses the same script with extra letters and slightly different habits, and that gap is where text quietly falls apart. Here is what breaks, why it breaks, and how to see it before your readers do.

Five letters Arabic fonts often don't have

Kurdish written in Arabic script needs letters that Arabic itself never uses: ڕ, ڵ, ۆ, ێ and ە. A font can have a flawless, complete Arabic alphabet and still be missing every one of them.

When a letter is missing you usually get an empty box, a question mark, or nothing at all. That is the harmless case, because you notice it immediately. The dangerous case is when your software quietly borrows the letter from some other font: the text stays readable, so you ship it, and those borrowed letters sit at the wrong weight and the wrong proportions in the middle of every word.

Kurdish also uses پ, چ, ژ, گ and ڤ, which it shares with Persian. Fonts built with Persian in mind usually have those five and still lack the five above — which is how a font can look almost right and fail on exactly the letters that make the text Kurdish.

Letters that stand apart instead of joining

Arabic script is cursive: nearly every letter has four shapes depending on where it falls in a word — initial, medial, final, or standing alone. Choosing the right shape is the font's job, carried out by OpenType features named init, medi, fina and isol.

When those features are missing or broken, every letter renders in its isolated form. The result is unmistakable once you know it: a row of separate letters with a visible gap where each join should be, instead of one connected word.

This is the most common complaint about Kurdish text on the web, and it is almost never the reader's fault. It is either a font that was never finished for the script, or a font being used somewhere that failed to apply its features.

The trap: joins in Arabic, breaks in Kurdish

There is a subtler failure that survives every casual test. A font can declare a Kurdish-specific language system inside its OpenType tables — the tag is KUR — and an OpenType language system replaces the default feature list rather than adding to it.

So a font whose default Arabic setup offers init, medi and fina can define a Kurdish system that offers none of them. Type Arabic and it joins perfectly. Tag the same text as Kurdish — which is exactly what a browser does on a page marked lang="ckb" — and every letter falls back to its isolated form.

We found this in our own catalog, in a font we had already published as verified for Kurdish. It shaped correctly in every test we ran, because our test was not asking for Kurdish specifically — it was asking for the default. Our language check now shapes every probe with the Kurdish language tag applied, which is the only way this defect is visible at all.

The two ways to write /h/

Kurdish has two letters in circulation for the /h/ sound: ه (U+0647), the same character Arabic uses, and ھ (U+06BE), the form many Sorani writers and keyboards prefer. They look similar. They are not the same character, and a font can contain one without the other.

Our verified badge requires ه and deliberately does not require ھ. Demanding ھ would fail a large number of otherwise excellent Kurdish fonts, and Badini usage commonly writes ه — so requiring it would mean withholding a badge from fonts that set Kurdish perfectly well.

That is a limit worth stating plainly rather than hiding: if you write with ھ, check that your chosen font has it. A verified badge on this site does not promise that particular character.

How to check a font in two minutes

Paste a real Kurdish sentence that contains all five of the letters above, then read it at a large size. Boxes or blanks mean missing glyphs. Letters sitting apart with visible gaps mean the joining is broken.

Test where you will actually use it. A browser, a design tool and a word processor apply font features differently, and a font that behaves in one can fail in another. If the text is destined for the web, test it in a browser with the page language set to Kurdish.

Every font page here has a tester you can type your own words into, and its badges were produced by running these checks against the actual font file — not by taking anyone's word for it.