There is a number of issues when it comes to the Arabic language support in the Linux terminal. I have reported some bugs here on Launchpad: https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/2002290
We figured out that the default font for GNOME Terminal in Ubuntu (which is Ubuntu Mono) is causing Arabic words and letters to be broken, turned apart and sometimes overlapping each other.
Changing the terminal font to Monospace (DejaVu Sans Mono, which is already installed by default) solved the issue, and the words can be read correctly.
I would like to ask if we can change the default system mono font from Ubuntu Mono to Monospace only when Arabic language (and perhaps other Arabic script-based languages) is set as the default language?
I have added the following font config to /etc/fonts/conf.d/56-language-selector-ar.conf:
<alias> <family>monospace</family> <prefer> <family>DejaVu Sans Mono</family> </prefer> </alias>
Which seemed to succeed in changing the Mono font to Monospace in places like Gedit, but the GNOME Terminal application was still using Ubuntu Mono for some reason. So I don’t know what is the correct configuration at the moment for font config.
For comparsion, this is the old font:
And this is the terminal with Monospace:
Which looks much better.
I hope we can find a way to make it there by default, just for Arabic language users.