World Scripts

The Indic Script Series covers nine abugidas that share one ancestor and one Unicode layout. This track covers four scripts that share neither: Latin and Cyrillic, alphabets that spell out both consonants and vowels and read left to right, and Arabic and Hebrew, abjads built primarily from consonants that read right to left. Together they cover the large majority of the world's day-to-day typesetting, and each one asks a font for something genuinely different.

Fast facts

Four scripts, two structures, one shaping pipeline

Every script here runs on the same OpenType GSUB/GPOS machinery this site has covered before. What changes is which features actually do the work.

Alphabets
Latin and Cyrillic: consonants and vowels both spelled out, left to right, minimal reordering
Abjads
Arabic and Hebrew: primarily consonants, optional vowel points, right to left
The one true outlier
Arabic joins its letters into cursive strings; none of the other three do
Shared toolkit
kern liga mark mkmk locl
1.Two structures: alphabets and abjads

Latin and Cyrillic are alphabets in the strict sense: every consonant sound and every vowel sound gets its own full letter, sitting in a row, read in the order it's written. That's the writing model most readers of this sentence grew up with, and it's easy to mistake for the default. It isn't. Arabic and Hebrew are abjads: the letters spell out consonants, vowel sounds are usually left for the reader to supply from context, and when vowels do need to be marked, they attach as small points above or below the consonant rather than as full letters of their own.

That's a real structural difference, not just a stylistic one. A Hebrew or Arabic reader routinely reads text with no vowel marks at all, the way an English reader might read "txt msg" abbreviations, except it's the ordinary way the language is written, not a shortcut. Vowel points exist for children's books, poetry, liturgical text, and anywhere ambiguity matters, and a font has to support them even though most running text will never carry them.

2.Direction and the bidirectional algorithm

Arabic and Hebrew read right to left, but neither is a simple mirror image of a left-to-right script. Numbers inside RTL text still read left to right, a Latin brand name dropped into a Hebrew sentence still reads left to right, and punctuation has to land on the correct visual side of a word without anyone manually reversing it. Unicode's Bidirectional Algorithm (UAX #9) is what makes this work: every character carries an implicit directionality, and the algorithm resolves mixed-direction text into a correct visual order automatically. Fonts don't implement bidi themselves, but every glyph a font ships needs to work correctly when the shaping engine hands it text in either direction.

What this means for testing
Never test an RTL script with isolated words alone. Test a sentence that mixes Hebrew or Arabic with Latin words, digits, and punctuation, the way real text actually looks, and confirm each piece lands on the side a native reader expects.
3.What's shared, and what genuinely isn't
Shared: mark attachment
Latin accents, Cyrillic accents, Hebrew niqqud, and Arabic harakat all rely on the same mark / mkmk GPOS features to anchor a diacritic to its base glyph.
Shared: ligatures
Latin's fi and ff, Hebrew's alef-lamed, and Arabic's lam-alef all use the same liga / dlig / rlig substitution mechanism, whether the ligature is required or optional.
Not shared: joining
Arabic letters change shape by position in a word (isolated, initial, medial, final) and connect into a continuous cursive line. Latin, Cyrillic, and Hebrew letters never do this.
Not shared: case
Latin and Cyrillic distinguish uppercase and lowercase as separate letterforms. Arabic and Hebrew have no case distinction at all.
4.The shaping model, script by script

The same OpenType feature list looks different depending which script it's serving. This table shows which features carry the real weight for each script in this track; each script's own article covers its full model.

FeatureTagWhere it matters most
Standard ligaturesligaLatin (fi, fl), required in most text
Discretionary ligaturesdligHebrew (alef-lamed), optional by design
Required ligaturesrligArabic, mandatory joined forms like lam-alef
Isolated / initial / medial / final formsisol / init / medi / finaArabic only; no other script here needs positional letterforms
Localized formsloclCyrillic (Bulgarian, Serbian, Macedonian letterform conventions)
Small capitalssmcp / c2scLatin and Cyrillic; Arabic and Hebrew have no case to convert
Mark attachmentmark / mkmkAll four, for accents, niqqud, and harakat alike
KerningkernAll four, though RTL kerning has to run in reading order, not visual order
5.Common pitfalls across all four
SymptomLikely causeFix
Diacritics collide with tall or descending lettersAnchor points placed without testing the full glyph set they'll actually meetTest marks against a script's tallest and lowest base letters, not just an average one
RTL text mixed with Latin words or numbers reads in the wrong orderFont or layout code overrides the Unicode Bidirectional Algorithm instead of trusting itTest mixed-direction sentences, not isolated single-script strings
A script "supported" by a font breaks on real textCoverage tested only against isolated letters, not real words and required ligaturesBuild a test corpus of real sentences per script, including its required ligatures
A font looks complete in one application and broken in anotherDifferent platforms use different shaping engines (HarfBuzz, DirectWrite, CoreText)Test across shaping engines, not just one operating system's default renderer
6.The scripts in this track

Latin Latn

Alphabet

The most widely used script on earth, and the one carrying the widest diacritic and language coverage burden of any script a font ships.

Emphasis: diacritic stacking, ligatures, small caps, figure sets.
Read the article →

Cyrillic Cyrl

Alphabet

Shares Latin's OpenType toolkit almost feature for feature, but its italic letterforms are genuinely redrawn, not just slanted.

Emphasis: italic construction, localized forms, extended letters.
Read the article →

Hebrew Hebr

Abjad · RTL

Twenty-two consonant letters, five with a distinct final form, optional niqqud vowel points, and no letter joining at all.

Emphasis: final letterforms, niqqud, cantillation, RTL.
Read the article →

Arabic Arab

Abjad · RTL

A true cursive script: every letter takes up to four different shapes depending on its position in the word.

Emphasis: positional joining, ligatures, harakat, kashida.
Read the article →