Monday, November 30, 2015

Fix Urdu font rendering in Chrome in ubuntu 14.04

You might have faced a problem in Ubuntu using chrome when you visit a website that has text in Urdu and it doesn't render properly. Mostly the letter "ے" is not rendered and connected correctly with other letters.

Now font rendering is a very complex process which involves (but not limited to) positioning (pen algorithm), layout and Bidirectional text processing. The problem mentioned above is related to layout and seems like some layout information in the font being used is wrong or missing.

Now this is very annoying and becomes very difficult, and sometimes you even feel like that you are deciphering an encoded text by analysing the broken Urdu text.

This can be easily fixed by first installing a proper Urdu font by executing the following command,

sudo apt-get install fonts-nafees

After installing this you have to change the standard font in your browser. Ubuntu by default uses the font "Abyssinica SIL".

To change the font go to Chrome settings, in settings search field search for "Web Content" and client on "Customize Fonts".

Now change the Standard font to "Nafees". This  should correct the rendering of Urdu text in chrome.

This problem only occurs in the websites which do not explicitly specify the font that they want to use.