RIT Rachana: a classic typeface reimagined

It was around 2006 I started reading and writing Malayalam (my native language) text widely on the computer, thanks to Unicode and proliferation of Malayalam blogs. It was also at the same time that I noticed Malayalam text was not ‘shaped’ correctly in many cases on my primary operating system — GNU/Linux. A number of Unicode fonts were available under libre license, of which I liked Rachana the most.

Cut to chase: few years later, I ended up co-maintaining Rachana, trying to fix all the known bugs and succeeded to a large extent; among many other things.

In 2020, with new insights into the design metrics of Malayalam fonts, the designer of Rachana — KH Hussain redrew all the glyphs of Rachana, completely overhauled Bold variant and freshly designed Italic & BoldItalic styles. All fonts in the new typeface contain more than 1100 glyphs with entire Malayalam characters encoded in Unicode version 13.0 and all conjuncts/ligatures in the definitive character set of Malayalam traditional orthography. The Latin glyphs are adapted from TeX Gyre Schola with express permission from GUST. These make the font suitable to typeset contemporary text, novels, poetry, scholarly works, Sanskrit text, Bible, archaic books and everything in between.

Fig. 1: RIT Rachana glyph redesign samples.

Not satisfied with solutions on how to fix some remaining shaping bugs in Rachana, I have researched and ventured to try radically different approach to complex advanced text shaping rules for traditional Malayalam script fonts. Following the v2 version of Indic OpenType specification (mlm2), a completely new set of shaping rules were written from the scratch. Though it was bit of a struggle to get Uniscribe/Windows with its idiosyncrasies to shape correctly, and Adobe InDesign need this fix, it proved to be a great success. The new set of rules fix all known shaping bugs to my knowledge. The development of this shaping rule program is a blog entry for another time.

A comparison of problematic shaping combinations can be found in Fig. 2. Note that two “സ്വാതന്ത്ര്യം” differ in code points in their order of “ര്യ” and “യ്ര” and their shaping should be different.

Fig. 2: RIT Rachana improved shaping of problematic conjuncts.

In the process, the build script and test cases were also written from scratch.

The result is a new font named RIT Rachana, released under libre Open Font License free to download and use by individuals, designers, organizations, institutions, government departments and media houses.

Fig. 3: RIT Rachana variants/styles.

All four variants of RIT Rachana can be downloaded from the website for desktop and web usage. If you notice any issues, report them at the source repository.

The typeface is a fruit of months of labour of many, including the designers and developers, early users and testers and feedbacks from those: especially Ashok Kumar, CVR, Sayahna typesetters and sysadmins.

New packages in Fedora/EPEL: screenkey & python-secure_cookie

TLDR: Two software packages — screenkey and python-secure_cookie are available in Fedora and EPEL repositories.


Screenkey is a tool that displays the keys one type, on the screen. It is quite useful for screen recording/casting for video tutorials and such. I use it particularly to record tutorial sessions on Vim where keystrokes are important.

Fig. 1: Screenkey in action. Source: screenkey.


The Python module secure-cookie — which provides secure session and cookie management — is split from Werkzeug WGSI module as of version 1.0. Odoo depends on python-werkzeug and currently keeps a vendor copy of the functionality in 14.0; they haven’t migrated to use secure-cookie mostly because many distros including Arch and Fedora — who have a reputation to ship latest software — haven’t packaged secure-cookie yet.

I have packaged both software for Fedora & EPEL and will be hitting release version repositories soon.

HarfBuzz shaping engine in InDesign

Since the release of Ezhuthu, I received a few reports that in Adobe InDesign/Photoshop some matras appear outside the margin and the ു‘u’/ൂ‘uu’ matras appear disjoint from the base conjunct/consonant. First issue is worked around in the font (in version 1.1); but the second issue cannot be worked around per se.

Fig. 1: InDesign shaping issues. Source: Abdul Azeez Vengara, CC-BY-SA.

Adobe products use their own shaping engine known as ‘lipika’ for advanced text layout. The ‘world ready composer’ uses it by default when text with complex scripts such as Malayalam (and other Indic scripts) is used.

Lipika has various issues in properly shaping advanced conjunct forms and has its own quirks. Certain issues are worked around in fonts, but certain issues cannot be. There were reports that Adobe products might eventually integrate the gold standard of shaping engines — libre software HarfBuzz.

Since mid July 2020, HarfBuzz shaping engine can be used instead of lipika shaper in Adobe InDesign. To enable it, follow these steps:

  1. Download this file: HarfbuzzOverride.js
  2. Copy it to ../Scripts/Scripts Panel of InDesign root folder
  3. Close InDesign first. Open InDesign and go to WindowUtilitiesScripts
  4. Double click on HarfbuzzOverride.js to enabled HarfBuzz shaper
  5. Use the traditional script Malayalam fonts from RIT with perfect advanced text shaping.
  6. If you have already laid out text, you may need to reapply style/font to see the effect.
Fig. 2: Ezhuthu font with perfect advanced text shaping.