Skip to main content
I
Uni
UNICODE
Tools/Font Comparison Sandbox

Multi-Script Font Comparison & Typography Sandbox

Compare font rendering, OpenType ligatures, kerning, and legibility across Urdu Nastaliq, Arabic Naskh, Hindi Devanagari, Bengali, and Latin in real-time.

Select Script:
Editable Typographic Specimen (Allama Iqbal literary poetry & Nastaliq cascade specimen)

Live Typographic Controls & OpenType Features

Real-time CSS font-feature-settings & variable font controls
Font Size:28px
Line Height:2.2
Letter Spacing:0.00em
Font Weight:400
OpenType:

Noto Nastaliq Urdu

Calligraphic'Noto Nastaliq Urdu', serif
Google Web Font
Enter text above to preview…
OpenType: kern, liga, calt

Gulzar (Nasta'liq Typeface)

Calligraphic'Gulzar', serif
Google Web Font
Enter text above to preview…
OpenType: kern, liga, calt

Amiri (Classical Naskh)

Traditional Serif'Amiri', serif
Google Web Font
Enter text above to preview…
OpenType: kern, liga, calt

Jameel Noori / System Fallback

Calligraphic'Jameel Noori Nastaleeq', 'Noto Nastaliq Urdu', 'Urdu Typesetting', Tahoma, serif
System / Web Safe
Enter text above to preview…
OpenType: kern, liga

Typographic Font Comparison & Multi-Script Loader

Optimized web font loading with unicode-range subsetting for Nastaliq, Arabic, and Indic scripts.

1/* CSS3 @font-face with Unicode Range Subsetting */
2@font-face {
3 font-family: 'Noto Nastaliq Urdu';
4 font-style: normal;
5 font-weight: 400 700;
6 font-display: swap;
7 src: url('/fonts/NotoNastaliqUrdu-Variable.woff2') format('woff2');
8 /* Only load font file when Perso-Arabic codepoints are rendered */
9 unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF;
10}
11
12/* Enable complex script OpenType ligatures & kerning */
13.complex-script-typography {
14 font-family: 'Noto Nastaliq Urdu', 'Jameel Noori Nastaleeq', serif;
15 font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
16 text-rendering: optimizeLegibility;
17 direction: rtl;
18 line-height: 2.2;
19}
TypeScript / Node.jsZero external runtime dependencies • Standard Library
UTF-8 & Unicode 16.0 Compatible

The Typography Engineering of Complex Scripts (Nastaliq, Arabic, Indic & Latin)

Unlike Western Latin alphabets where letter glyphs sit side-by-side on a flat baseline with predictable bounding boxes, Complex Text Layout (CTL) scripts—including Urdu Nastaliq, Arabic, Devanagari, and Bengali—rely on dynamic multi-tiered typography engines:

Urdu Nastaliq Slanted Baselines:

Nastaliq letters stack diagonally from top-right to bottom-left on a cascading cascading baseline. Fonts like Noto Nastaliq Urdu and Gulzar require thousands of GSUB ligature lookup rules to balance line heights without vertical collision.

Devanagari & Bengali Shirorekha (Headlines):

Indic Brahmic scripts connect letters underneath an overarching horizontal hanging headline (Shirorekha). Virama (Halant) signs merge independent consonants into conjunct ligatures (e.g. क् + ष = क्ष).

Web Font Optimization Best Practices for International Scripts

  • Unicode-Range Subsetting: Never load multi-megabyte CJK or Nastaliq fonts on English pages. Use unicode-range: U+0600-06FF so the browser only downloads the font when Arabic/Urdu text appears.
  • Font-Display: Swap: Prevents the Flash of Invisible Text (FOIT) by rendering system fallbacks immediately while web fonts load.
  • Line-Height Multipliers: Urdu Nastaliq typically requires a minimum line-height: 2.0 to 2.4 to prevent upper diacritics (pesh, zabar) and lower dots (nuqte) from clipping.
  • OpenType Feature Flags: Enable text-rendering: optimizeLegibility and font-feature-settings: "kern" 1, "liga" 1 for authentic ligatures.

Frequently Asked Questions (FAQs)

Why does Urdu Nastaliq look clipped or overlap on some websites?+

Nastaliq is a vertical-slanted cursive script where characters stack diagonally. If CSS sets standard Latin line-heights (1.2 to 1.5), the top flourishes of Kaf and bottom nuqtas overlap adjacent lines. Setting line-height to 2.0 or 2.2 completely eliminates clipping.

What is the difference between Naskh and Nastaliq Arabic/Urdu fonts?+

Naskh is a linear, horizontal calligraphic style widely used in Arabic publishing, modern newspapers, and web interfaces. Nastaliq is the traditional, flowing diagonal script favored across Pakistan and India for Urdu poetry and literature. Our sandbox lets you compare both styles side-by-side.

How do OpenType features like "liga" and "calt" work in web browsers?+

OpenType layout tables (GSUB and GPOS) inside modern fonts replace sequences of individual Unicode codepoints with specialized ligature glyphs when rendered by browsers. Setting font-feature-settings: "liga" 1 enables standard typographic ligatures (like fi, fl, or Arabic conjuncts).

Can I test local system fonts installed on my computer?+

Yes! The Jameel Noori / System Fallback option automatically taps into local fonts installed on your Windows, macOS, or Linux operating system.

Is it free to use the generated CSS and @font-face code?+

Yes, all code snippets and CSS configurations generated in this sandbox are 100% free and open for use in personal, educational, or commercial web projects.