Malini is a variable typeface designed for reading — long-form Malayalam text set at body sizes, where clarity and typographic color matter most. The name means garland.

Built on variable font technology, a single font file spans four axes: Weight, Width, Slant, and Optical Size. There are nine named weights from Thin to Black, a Display variant for headings, and fine-grained control across every axis in between.

Download the latest fonts from the GitLab releases or smc.org.in.

മാലിനി

Weight

Nine weights from Thin (100) to Black (900), with smooth interpolation between any value. For light text on dark backgrounds, Regular (400) tends to sit well; for dark text on light backgrounds, Medium (500) gives a touch more presence.

തിരുവനന്തപുരം കൊല്ലം പത്തനംതിട്ട കോട്ടയം ആലപ്പുഴ

തിരുവനന്തപുരം കൊല്ലം പത്തനംതിട്ട കോട്ടയം ആലപ്പുഴ

തിരുവനന്തപുരം കൊല്ലം പത്തനംതിട്ട കോട്ടയം ആലപ്പുഴ

തിരുവനന്തപുരം കൊല്ലം പത്തനംതിട്ട കോട്ടയം ആലപ്പുഴ

തിരുവനന്തപുരം കൊല്ലം പത്തനംതിട്ട കോട്ടയം ആലപ്പുഴ

തിരുവനന്തപുരം കൊല്ലം പത്തനംതിട്ട കോട്ടയം ആലപ്പുഴ

തിരുവനന്തപുരം കൊല്ലം പത്തനംതിട്ട കോട്ടയം ആലപ്പുഴ

തിരുവനന്തപുരം കൊല്ലം പത്തനംതിട്ട കോട്ടയം ആലപ്പുഴ

തിരുവനന്തപുരം കൊല്ലം പത്തനംതിട്ട കോട്ടയം ആലപ്പുഴ

The opening of Vayalar Rama Varma's Ashwamedham — Bold for the title, Regular for the verse. Adjust weight, slant, and width to see how each axis shapes the tone of the passage.

അശ്വമേധം

ആരൊരാളെൻ കുതിരയെ കെട്ടുവാൻ ആരൊരാളതിൻ മാർഗ്ഗം മുടക്കുവാൻ ? ദിഗ്വിജയത്തിനെൻ സർഗ്ഗശക്തിയാ‌‌- മിക്കുതിരയെ വിട്ടയയ്ക്കുന്നു ഞാൻ! വിശ്വസംസ്കാരവേദിയിൽ പുത്തനാ- മശ്വമേധം നടത്തുകയാണു ഞാൻ! നിങ്ങൾ കണ്ടോ ശിരസ്സുയർത്തിപ്പായു- മെൻ കുതിരയെ, ചെമ്പൻ കുതിരയെ?

English

Carl Sagan's Pale Blue Dot. Weight, width, slant, optical size, and size — all axes available on a single passage to explore how each one changes the texture of text.

Look again at that dot. That's here. That's home. That's us. On it everyone you love, everyone you know, everyone you ever heard of, every human being who ever was, lived out their lives. The aggregate of our joy and suffering, thousands of confident religions, ideologies, and economic doctrines, every hunter and forager, every hero and coward, every creator and destroyer of civilization, every king and peasant, every young couple in love, every mother and father, hopeful child, inventor and explorer, every teacher of morals, every corrupt politician, every "superstar," every "supreme leader," every saint and sinner in the history of our species lived there — on a mote of dust suspended in a sunbeam.

Optical Size

Malini adjusts its internal geometry based on the intended rendering size. At small sizes, strokes gain weight and spacing opens up for legibility. At display sizes, contrast sharpens and details become more pronounced. Browsers apply this automatically through the opsz axis.

സംഗീതം കരിയിലക്കര communicate

Display

Malini Display is tuned for heading sizes — sharper stroke contrast, tighter spacing, more pronounced details. It can also be used as body text for a more calligraphic feel.

പനകേറ്റക്കാരന്റെ ഇതിഹാസം.

പണ്ട്, പറന്നു പറന്ന് ചിറകുകടയുന്ന നാഗത്താന്മാർ പനങ്കുരലിൽ മാണിക്യമിറക്കിവെച്ചു ക്ഷീണം തീർക്കാറുണ്ടായിരുന്നു. നാഗത്താന്മാർക്കായി പനകേറ്റക്കാരൻ കള്ളു നേർന്നു വെച്ചു. പനഞ്ചോട്ടിലാകട്ടെ, അവൻ കുലദൈവങ്ങൾക്കു തെച്ചിപ്പൂ നേർന്നിട്ടു. ദൈവങ്ങളെയും പിതൃക്കളെയും ഷെയ്ഖ് തമ്പുരാനെയും സ്‌മരിച്ചേ പന കയറുകയുള്ളൂ.

OpenType Features

Malini ships with 12 layout features. Toggle each one below to see the difference.

Reph signs

The pres feature controls whether the reph form (് + ര) is conjoined or rendered separately.

പ്രകാശം ഗ്രാമം ശ്രമം അക്രമം പുത്രൻ

Postbase substitutions

The psts feature controls the conjoined or disjoined rendering of vowel signs ു, ൂ, and ൃ.

കൂലി സംതൃപ്തി കുസുമം കൃത്യം പൂവ്

Ligatures

The liga feature applies standard ligatures — English forms like fi, fl, ffi are handled automatically.

difficult ff fi fl ffi office after effect

Old-style numerals

With the onum feature enabled, numerals adopt proportional, variable-height forms that blend into running text.

0123456789

Stylistic alternates

The aalt feature provides alternate glyph forms for select characters.

പച്ച വെള്ളം കള്ളു് അങ്ങാടി കൂടെവിടെ

Variation Axes

AxisTagRangeDescription
Weightwght100–900, default 400Thin to Black. Also controllable via CSS font-weight.
Slantslnt0 to −15, default 0Upright to slanted (15° clockwise).
Widthwdth75–125%, default 100Condensed to Expanded. Also controllable via CSS font-stretch.
Optical Sizeopsz10–48, default 12Adjusts contrast and spacing for the target rendering size.

Language Support

All Malayalam characters in Unicode 15 are present. Latin script is included. Malini supports approximately 294 languages covering ~2.8 billion speakers (per hyperglot).

Using on the web

Load the variable font and define ranges for weight, width, and slant in @font-face. Fine-tune with font-variation-settings where needed. Optical sizing is automatic by default — disable with font-optical-sizing: none if you want manual control.

License

Malini is licensed under the SIL Open Font License, Version 1.1. Copyright 2024 The Malini Project Authors (source).