UTF-8 – Fixing Telugu Text Rendering Issues in Terminal

command linefontslocalepythonutf-8

I am trying to process telugu text with Python. Text is rendering correctly in chrome browser like this.

enter image description here

Unfortunately it is not rendering correctly in default terminal or python shell in terminal.

enter image description here

enter image description here

Can you help in finding what is causing the problem?

What I have tried so far:

Installed all available telugu fonts

sudo apt-get install fonts-telu-extra fonts-telu fonts-lohit-telu

Setup unicode support in terminal

locale             
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

Enable te_IN in /etc/locale.gen

Setup telugu language from Language Support.

Download custom telugu fonts and load them.

None of these have solved the problem. Without proper rendering, it is very hard to understand text. Any help in troubleshooting this is highly appreciated.

Best Answer

Turns out gnome-terminal doesn't support CTL(Complex Text Layout) yet. There is an open issue for this.

For now, we can use Konsole which handles CTL.

Related Question