1

The fonts that come by-default with elementary OS do not support Urdu language text. So I had to install supporting font to render Urdu text properly.

Then, I go to Google Chrome settings, set Standard Font as Noto Naskh Arabic UI (supporting font) and Urdu texts are rendered properly in Chrome. Similarly, I set system fonts (Window Title, Interface, Document, and Monospace) to Noto Naskh Arabic UI using Gnome Tweaks. This makes Urdu text in the operating system's notification panel appear properly.

However, other apps (e.g. Ephiphany, Station, Rambox; I use the later two apps to use Whatsapp and Facebook Messenger on the laptop) still do not render Urdu text properly. There is no option to specify the fonts within these apps and they do not seem to import system fonts (set using Tweaks) themselves.

Is there a way I can force these apps to use system fonts?

By the way, here are two examples of what I mean from proper and improper Urdu text rendering.

Operating system: elementary OS 5.1.2
Laptop: Thinkpad E585

Edit: In Windows 10, Rambox renders Urdu text properly. So I think it imports system fonts there and system fonts of Windows 10 by-default support Urdu.

2 Answers 2

1

You're going to need to edit your Fontconfig settings. Sadly, Fontconfig is very complex, so I normally only recommend this for experts, but seems you really need to. This guide shows how to do it with a GUI tool, which might be slightly easier than editing XML manually. Good luck.

Note that WebKit might have other rendering bugs with Urdu fonts; if so, they should be reported on WebKit Bugzilla against the WebKitGTK component.

5
  • So I tried to install the GUI tool---Fonts Tweak Tool. Apparently, this has been developed for Redhat-based distributions since I could only find .rpm file for it. I installed a .rpm file directly using Alien but I get this error upon running it. Commented Mar 28, 2020 at 18:39
  • (By the way, I read that installing .rpm packages on debian-based system is not recommended so I am nervous). I also found the source file of this GUI tool but after installation I get this error. I understand editing XML is also difficult. Commented Mar 28, 2020 at 18:40
  • How should I proceed: try more to install Fonts Tweak Tool on debian-based elementary OS or start getting familiar with XML? Commented Mar 28, 2020 at 18:40
  • Don't try installing RPM packages on elementary. Just edit the Fontconfig XML manually. You'll have to become a Fontconfig expert in order to make simple changes, and Fontconfig is very complex, so I don't normally recommend this. But it seems like your only good option here. I would see if the bug occurs in a fresh install of Fedora 31 (which uses upstream default font configuration) and, if so, report a bug to the upstream Fontconfig developers to complain that Urdu isn't working properly in their selected fonts. Otherwise, report a bug to the elementary developers.
    – Michael C.
    Commented Mar 30, 2020 at 14:06
  • I tried editting fontconfig XML but you're right: it is very complex. I also reported the bug to elementary developers at github.com/elementary/stylesheet/issues/601 Commented Mar 30, 2020 at 19:33
1

Here's another approach:

"Uniform theme and fonts for Qt apps in GTK environments" provided by the EndeavourOS-guys (recommended for fonts only in this case): Instead of the the given arch-linux install cmd ('pacman -S pkg-name') you have to replace it with your normal install cmd ('apt install pkg-name'), and then follow the given instructions for user-space-setup (quickest).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.