Listening to a khmer song on the Internet, I saw that khmer Unicode characters were replaced by squares in my french Debian installation. Collecting what else was missing, it was also thaï, nepali... plenty of languages that are not displayed properly.

I am a bit jealous with Windows here. How can I install easily all the missing fonts my O.S. lacks to be able to display any page in the world on Firefox with it's due characters ?

Three questions inside this post :

  1. How can I detect all the language "Locale codes" that are lacking a font ? en, kh, kr, id, jp... automatically. All the missing ones.

  2. How to install their proper fonts.
    If there is a best font for each language, where is the list of the best font per language ?

  3. Does anyone wrote in the Debian community a script of apt-get install font.. script with all the fonts needed to ensure that it is able to display a text in any language, like Windows can ?

That summarizes in : "How can I get quickly a browser able to display a text in any language" easily ? Just that basic and classical Windows feature ?

  • Is it not possible to add languages under the Options > General > Language menu in Firefox?
    – kemotep
    Sep 30, 2019 at 17:25
  • Have you installed the fonts-khmeros package?
    – GAD3R
    Sep 30, 2019 at 18:10
  • @kemotep : no, firefox offers Deja Vu (Sans Serif) for every language. Sep 30, 2019 at 18:14
  • @GAD3R I can't choose each font one by one. Is it fonts-thaios for thaï, fonts-indiaos for India ? If my Firefox lacks 100 fonts, I can't find 100 packages names. Sep 30, 2019 at 18:16
  • @Marc You could start with the font meta packages. For Thai and Indian there are xfonts-thai and fonts-indic.
    – Freddy
    Sep 30, 2019 at 19:01

2 Answers 2


You just need to install fonts with character coverage for those scripts. The are two approaches you can take:

  • Install fonts specifically targeting the languages you're interested in. Debian has collected a bunch of these into task-«language»*. So, e.g., task-khmer-desktop recommends fonts-khmeros, so that's a good font to install to get Khmer text to display. Similarly, task-nepali-desktop recommends fonts-lohit-deva.

  • Install fonts targeting global coverage. The fonts-noto is one such package. There is also ttf-unifont (and the bitmap unifont its made from), but that's much lower quality.

There are also some other fonts you might be interested in (e.g., fonts-ancient-scripts, fonts-lg-aboriginal). And honestly the output of apt-cache search ^fonts-sil.

  • How can I check how many languages are lacking and automatize installation of packages that have various names ? How can I have Debian working like Windows that is able to display all the fonts of all the countries immediately, without needing 100 manual apt-get install fonts-language1os, font-langage2deva, where os, deva suffixes aren't prediciales ? Sep 30, 2019 at 18:19
  • This answer could highlight how vast are fonts-noto and unifont and that merely installing any of them solves what was asked, i.e. that Firefox will display all text at wikipedia.org, which lists all Wikipedia language versions, and similar sites. When I read this answer before, I misconcluded that those are just big font packages, but not big enough, so that installing each font separately is still the primary solution. Learning that LibreOffice bundles Noto made me return to this question. The font could make a Windows user "jealous", speaking in the terms of the question. Feb 20, 2022 at 8:13

There is a flavour of Debian which has preinstalled all fonts which are recommended for every supported language desktop version. It is the live system on the installation media. When you run your Debian from a USB flash drive, it has all the fonts ready because it has configured all supported localisations for desktop. On Debian, you can replicate this by installing live-task-localisation-desktop package. The package is not explicitly intended for non-live installation. According to its description:

This metapackage installs packages and documentation to help support Debian live graphical desktop environments for other languages.

Michael Biebl reported that if you install Debian using the live installation media for GNOME, all localisation tasks are installed. I also had a similar issue and had it resolved by removing some live packages. It was more than a year ago, but it should still be true for the current 10.5 release. You can use it to your benefit, but it can be considered a bug because it is safe to assume that a regular user will not need localisation for languages that such user has no command of and did not intentionally install. It also may cause inconvenience by cluttering the system.

  • For example, the fonts will be displayed as options in LibreOffice despite them being unused.

  • Fonts take up disk space. It may be an issue for some users.

  • Localisation also installs spellchecking support for those languages, which leads to further clutter, like too many dictionary options in Firefox and Thunderbird.

  • Localisation also installs other packages, not all of which are necessary for displaying fonts, such as Debian reference translations.

A solution to the last two could be a metapackage depending on recommended fonts only. At the moment there seems to be no such package. It would be nice to have one, so that all language-specific fonts show up correctly at all Wikipedia pages, for example.

You can preview the list of packages, which would be installed if you installed live-task-localisation-desktop like this:

$ sudo apt install live-task-localisation-desktop --assume-no

The fonts packages are grouped together and their names start with fonts-, so you can just copy them all together and install manually in one run if you wish.

If copied from terminal, you will need to remove new line characters \n first. You can do it in gedit or a different text editor by running find and replace of \n for an empty string.

The list of packages also contains fonts starting with xfonts-, but they are bitmap fonts which are mostly intended for use in terminal, so you do not need them for web.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .