Rubik Arabic Font: Size and Variable File

Rubik needs 34.2 KB for Arabic regular and bold: rank 8 of 20, one of the lighter families in the sample (median 54.0 KB). Its variable Arabic file is 7% smaller than the two static weights. Latin makes up 52% of the mixed-script total. Every figure on this page comes from the August 23, 2026 WOFF2 snapshot.

What the measurements say about Rubik

  • It sits at the Sans median of 34.2 KB.
  • Switching to Tajawal, the smallest Sans family, would save 16.7 KB (49%) for the same two weights.
  • The variable Arabic file (31.7 KB) is 7% smaller than the two static weights combined, so it wins even for a regular-and-bold interface and covers intermediate weights too.
  • Latin is 52% of the mixed-script total: the Latin 400 and 700 files (37.2 KB) outweigh the Arabic ones. In a mostly-English interface, the Latin subset is the bigger cost.
  • Regular (17.0 KB) and bold (17.2 KB) are within 2% of each other.

Size rank and delivery totals

Rank 8 of 20 overall and 5 of 9 in Sans, smallest first by Arabic 400+700 bytes. Ties share a rank. Measured on . Starting role (editorial guidance): Mixed-script interfaces.

Rubik delivery scenarios
ScenarioExact bytesMeaning
Arabic 400 + 70035,060Two static WOFF2 files
Arabic + Latin 400 + 70073,108Four static WOFF2 files
Added Latin bytes38,048Mixed-script total minus Arabic total
Arabic variable weight file32,468One variable Arabic file, when available
Variable minus static-2,592 (-7%)Compared with Arabic 400+700; negative means smaller

Variable totals cover the selected Arabic weight-variable file, without a Latin variable file. Availability describes this snapshot’s package source. File sizes exclude CSS and do not predict latency, caching, rendering time or layout shift.

Arabic 400 preview

العربية لغة جميلة، وتصميمها الجيد يجعل القراءة أسهل.

Self-hosted Arabic subset, normal weight 400. Visual reference only; this sentence is not a complete shaping or language-coverage test.

Individual files and reproducibility

Static package: @fontsource/rubik@5.3.0. The SHA-256 digests below identify the exact Arabic files; Latin file sizes are reported separately.

Rubik per-weight WOFF2 bytes
SubsetWeightBytesRecorded file / SHA-256
Arabic40017,400
@fontsource/rubik/files/rubik-arabic-400-normal.woff2

SHA-256: 1e1a701be3e361cc048e788a09cf16ac7e051f15e2dcd43c45433ab1e5e03d10

Arabic70017,660
@fontsource/rubik/files/rubik-arabic-700-normal.woff2

SHA-256: 5cab633c7644d8683dd78ca3fd63d05fa9ee2cc57b3401df7af6fcb62c83d4fa

Latin40018,936@fontsource/rubik/files/rubik-latin-400-normal.woff2
Latin70019,112@fontsource/rubik/files/rubik-latin-700-normal.woff2

Recorded variable file: @fontsource-variable/rubik/files/rubik-arabic-wght-normal.woff2. The snapshot does not record a variable-package version or hash; the pinned installation below reproduces the static package only.

Install the measured static package

npm install --save-exact @fontsource/rubik@5.3.0

Import the selected subsets

// Application entry: Arabic subsets, normal 400 and 700
import "@fontsource/rubik/arabic-400.css";
import "@fontsource/rubik/arabic-700.css";

// Add these only for the measured mixed-script scenario:
// import "@fontsource/rubik/latin-400.css";
// import "@fontsource/rubik/latin-700.css";

// In your stylesheet:
// font-family: "Rubik", sans-serif;

The explicit subset imports reproduce the selected scenario. A bundler serves the package assets from your application; these snippets do not require a third-party font host. Use a fallback appropriate to your content and test it before deployment.

Declared coverage: 7/7

These checks inspect package-declared Unicode ranges, not the rendered font. They test seven representative characters, not all characters in a language.

Rubik declared-range checks
Representative checkCode pointDeclared inclusion
Arabic letterU+0627Pass
Persian letterU+067EPass
Urdu letterU+0679Pass
Arabic-Indic digitU+0661Pass
Eastern Arabic/Persian digitU+06F1Pass
Arabic diacriticU+064EPass
Arabic punctuationU+061FPass
Block ranges, script matching and actual font coverage

Similar fonts by classification and size

The nearest 3 alternatives, prioritizing Sans families and then absolute difference in Arabic 400+700 bytes. When fewer than three same-class alternatives exist, the list includes other classifications, identified below. This is a delivery-size shortlist, not a claim that the glyphs look alike.

  • Vazirmatn

    Sans · 42,816 bytes; 7,756 bytes difference.

  • Cairo

    Sans · 27,244 bytes; 7,816 bytes difference.

  • Alexandria

    Sans · 25,724 bytes; 9,336 bytes difference.

Comparisons involving Rubik

Method and limits

The benchmark measures filesystem bytes of normal 400 and 700 Arabic-subset WOFF2 files from installed Fontsource packages. It separately sums Latin files and records the Arabic variable file where available. The preview is a visual aid; readability is not scored.

Read the benchmark methodology · Download the snapshot

Questions and answers

How large is Rubik for Arabic regular and bold?

The Arabic 400 and 700 WOFF2 files total 35,060 bytes (34.2 KB), rank 8 of 20 measured families. Adding Latin brings it to 73,108 bytes. These are file sizes, not page-load timings.

Should I use the variable version of Rubik?

The variable Arabic file (31.7 KB) is 7% smaller than the two static weights combined, so it wins even for a regular-and-bold interface and covers intermediate weights too.

Does Rubik cover Persian and Urdu letters?

Rubik's declared Unicode ranges include the Persian (U+067E) and Urdu (U+0679) letters tested, passing 7 of 7 representative checks. All 20 measured families pass the same checks, so coverage does not separate them; test shaping with your own text.

Sources