Excessive fonts installed by default

Before valiantly jumping to help the poor defenceless people who rejoice at the Ubuntu fonts abundance, let’s define the issue, shall we?

Those poor babylonians in need of cuneiforms will get them at install time. Then, either they know about fonts and install them egyptian hieroglyphs when needed, either they don’t care. To be clear, I’m not kidding about cuneiforms and hieroglyphs, they are included by default.

As I see it, the issue is too many irrelevant choices in the font selection - for anyone.

One of rituals I do on every clean Kubuntu (my OS of choice) install is

sudo apt purge fonts-{noto-unhinted,noto-cjk,beng*,deva*,gargi,gujr*,guru*,indic,kacst*,kalapi,khmeros-core,knda,gubbi,lklug-sinhala,mlym,orya*,navilu,nakula,pagul,sahadeva,sarai,sil-*,smc*,taml,telu*,thai-tlwg,tlwg-*,yrsa-rasa,lohit*,samyak*}

Lots of fun, I even uninstalled Kubuntu at one time because I was too nervous to read the depedencies list :rofl:. Then I’m going into System Settings and disable or delete the Noto variants I don’t need. Because Noto variants cannot be uninstalled, just deleted. It’s good that every alphabet has several variants, but who can say the differences among them, let alone needing all of them. So, yeah, I’m willing to jump through those hoops to protect my sanity from the excessive scrolling.

Aside from blaming the apps for not being able to scroll through more than a hundred fonts while displaying them (I’m being sarcastic here), there is the cognitive load. The last thing I need when I feverishly scramble to put my last idea into design is to scroll through one hundred Noto fonts. Even someone using Bengali language on their system would appreciate not having to scroll so much when they need the Yrsa font.

What can be done to decrease the font selection choice burden? Obviously, there need to be fewer choices.

I expect most of the solutions coming from the GUI designers. I.e. many of the choices are only variants of Noto - collapsing them into a flyout menu would be a serious help.

Another option would be to have the fonts installed, but disabled. Then, during the system install, the user would be presented with a fonts list, just like the app list, and would be asked to choose what to enable (although enabling fonts is a KDE thing, I’m not sure how well it translates to other desktop environments)

Having a font install dialog structured by alphabets the same way countries are structured by continents would also help. Or having the font selection structured the same way.

On the one hand, the current situation affects people needing more than the system installation fonts or people working with fonts, usually in the design business. I’m not sure how many are they. Considering how common working with Word/Writer documents is, their numbers could be significant.

On the other hand, who would be affected by not having all the fonts pushed through the installation by default? The most important fonts are the ones used for the installation of the system and those are the ones most people care about. Whoever wants more fonts knows to cherry pick from list.

So, who needs hieroglyphs next to their cuneiforms and cannot install them? I cannot think of anyone.

1 Like

As long as I get what I want, it is great. No worries if other people suffer. Nice motto.

Build your own ISO if the default one is so poor at meeting your requirements.

1 Like

I’m not sure if this thread has value anymore.

It seems to have entered a cycle:

  • Person A says “There are too many fonts”
  • Person B says “There are reasons for those fonts”

And then the thread goes dormant until the next Person A shows up.

5 Likes

Person C shows up and suggests it’s less of a packaging, and more of a font consolidation issue. Let me explain.

Having a wide range Unicode glyphs available is undoubtedly a usability benefit. Having one font name per alphabet, isn’t.
This incurs a horrific usability drain on Inkscape, Scribus, OpenOffice, or any other font selection tool being bogged down. And this can’t be stressed enough, the Noto fonts are aggravatingly slow to prerender. Freetype doesn’t provide sufficient builtin caching. (Storing font previews as PNGs can’t reasonably be outsourced into the application-level realm.)

And there’s no reason they’re not coalesced into a Noto Sans Asia and … Arabic or similar such georegional truetype packages. Nor that that fonts-noto-core belies the package name. Of course there’s the question if freetype can manage a gigabyte-sized unified TTF, or if some fontconfig name coalescing would be more feasible (no idea, and at this point too riled up to investigate.)

The perception exposed in this thread is the long list of font names, not their existence. And usability-wise the five second delays in font Gtk/Qt CellRenderers kinda undermine the inherent benefits.


Quick python script.py > ~/.config/fontconfig/conf.d/99-DieNotoDie.conf for a little speed bump, whilst retaining actual “core” fonts:

#!/usr/bin/python3
import os, glob, re

print("""<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- Generated by Font Manager. Do NOT edit this file. -->
<fontconfig>
  <selectfont>
    <rejectfont>

""")

for fn in glob.glob("/usr/share/fonts/truetype/noto/*.ttf"):
    font = re.findall("/(Noto\w+)[-.]", fn)[0]
    if re.match("^Noto(Sans|Serif)?(Mono|Math|Music|Symbol\d?|Display|Linear[AB])?$", font):
        continue
    font = re.sub("(?<=\w)([A-Z])", " \\1", font)
    print(f"""
      <pattern>
        <patelt name="family">
          <string>{font}</string>
        </patelt>
      </pattern>\n""")

print("""
    </rejectfont>
  </selectfont>
</fontconfig>
""")
2 Likes

I got rid of all Noto fonts in Ubuntu 20.04 with this. Desktop icon fonts might have gone … but LibreOffice Writer seems to start up faster. Oh, and I can also browse the fonts, without the program stalls.

sudo apt purge fonts-noto fonts-noto-*

1 Like

Just wanting to leave an extra voice here. I’m also for less Noto fonts installed by default. fonts-noto-core needs to be repackaged into several smaller packages (each of which would be easier to maintain, update and remove, IMO). Noto Fonts already has a superb organization of fonts based on region. For those saying that if Ubuntu organizes fonts better people in India wouldn’t be able to read: browse the region “India” and see the fonts relevant to that region: are there any missing scripts? Go to “United States”: you’ll find not only the Latin script there (Chinese, Hebrew and Cherokee are also there). These are sensible categories. A better localization algorithm could work like this:

  1. Package and install the fonts that are relevant to the user’s region.

  2. If the user selects a default language that needs a font not contained in the selected region (e.g. foreigners) add an additional font region that would install the least amount of additional fonts.

The above would be more sophisticated and would very likely substantially reduce the default number of Noto fonts installed. The way that fonts-noto-core is packaged right now is not very smart, IMO.

Seems to come up about every 4 months now, and seems a bit heated at times. I’d be OK with locking it because, honestly, it’ll go nowhere and reach no conclusion.

Breaking news: Ubuntu does not install fonts-noto-core by default for most users.

Exceptions exist: Users who select Amharic, Arabic or Sinhala as language in the installer do get fonts-noto-core to start with, since it has been deemed useful for rendering text in those languages.

Another thing is that a couple of flavors — Kubuntu and Lubuntu I think — have chosen to install fonts-noto-core by default for all users. Since they also install most of the fonts which are included in a standard Ubuntu installation, I can imagine that some users think it’s too much. But that’s something which should be discussed with the leaders of the affected flavors at first hand.

1 Like

You can add Ubuntu Studio to this list as well. In fact, Ubuntu Studio has a whole metapackage for this: ubuntustudio-fonts. Why?

In Graphic Design, Video Production, Animation, and Desktop Publishing, FONTS ARE KING.

This is also true for Edubuntu (Revival) because, to learn the above skills, students want a nice selection of fonts. Of course, the selection is much smaller, but if they need more, the ubuntustudio-fonts metapackage is easily downloadable by themselves (if they’re the machine owner) or their system administrator.

So, if you want to avoid fonts, those are two flavors to avoid as well. Granted, one is unofficial as of now.

2 Likes

Maybe Ubuntu Studio is a special case, where “excessive fonts” is motivated. :slight_smile:

Personally, and as regards fonts-noto-core, I’m torn. My impression is that Noto generally offers fonts of higher quality than the alternatives for non-latin scripts. But the current packaging is an issue. And adding fonts-noto-core on top of an already comprehensive set of fonts is somewhat questionable IMO. If relying on fonts-noto-core, it would be better to drop quite a few other font packages which will then already be covered.

2 Likes

Please allow the conversation to continue. The very fact that it is still being discussed, shows the importance of the problem. Maybe some will be swayed by some arguments, and others by others. Some creative solutions have already been proposed.

1 Like

IMO, the Ubuntu installer should install by default fonts that match the locale but also provide a font installer to install extra fonts (If you really like one or need to type in another language). This would save on font bloat and let users quickly install as necessary.

I just ran this script in a new Ubuntu installation (in case you wanna try it, run it with bash, not with sh). It seems the situation is much worse than only the Noto fonts (which in any case could be better packaged). There are many non-Latin fonts installed by default that don’t belong to Noto fonts. I hadn’t even thought that even Libreoffice/Firefox’s help was also installed in many languages by default (which the above script made obvious). Could it be that these dependencies are forcing the installation of many non-Latin fonts so that help in Libreoffice and Firefox can be displayed in any conceivable language on Earth? If that is the case, then the packaging problem is not only regarding Noto fonts but also Libreoffice and Firefox being prepared to display help in every language irrespective of user’s language and region.

God Dammit - what a great idea!
Show me how!

I totally agree with Dandv and others who think along the same lines - been pressuring the people in Ubuntu, Libre Office and WPS office, to OFFER font selections based upon preferences instead of EVERY FONT in EVERY LANGUAGE under the sun - and thus ending up with hundreds of fonts to scroll through on choosing the very few fonts I actually need to use in documents.

In my travels I have saved every font set from every program I have owned or came for free on compuer magazine CD’s etc.,and I have picked up files - so cumulatively I have access to some 150,000 fonts.

And do you know what? I never use them.

I have long since figured out that the very fine art of LEGIBLE font design is based upon line weight, simplicity and openess of character, spacings etc., and the simpler the font is, the easier it is to read in bulk - think 20 to 2000 page court documents, AND the more elaborate and decorative they are, their use becomes very limited to book covers and artistic work, and they fail totally at legibility enmass.

So I only run my word processors with perhaps 3 to 6 different font sets… and that is it - based purely on ease of reading.

Bookman Old style, Courier New, MS Line Draw, Times New Roman etc…

So having to wade through HUNDREDS of fonts that come from the install of Ubuntu, and all the other word processing programs, I am beginning to think that the lack of simple programming in all their font installation components - is both a lack of forethought and consideration and respect - as well as just plain bad planning.

All the programs need in the installer process is LANGUAGE / s and FONTS of choice.

Instead of just installing 150 or 300 languages and dialects, and their 500 odd fonts, to cater for everyone…

My choice it to ONLY install one language, ENGLISH and only 4 or 5 fonts…

AND I know that most people in most countries - feel the same way.

But the multilingual - can pick out the number of languages that they speak or have to cater too.

And like in some areas they might have 12 or 14 different languages… but they don’t need to install the fonts for the the other 200 odd languages.

So - choices on the install people, choices.

Google helps a lot

https://www.youtube.com/watch?v=JvJb4aW9ZCA

Here is my solution among other scripts: https://github.com/alexmyczko/autoexec.bat/blob/master/config.sys/ubuntu-remove-fonts

That’s an awesome font library! Could you share it?

This? https://sid.ethz.ch/fonts/

I just posted Let selection of default fonts be based on Noto . While the starting point for that proposal was not to address this “excessive fonts issue”, I still think it would come with a nice side effect: You would be able to reduce the number of installed fonts significantly by uninstalling one single package.

Please read and let me know if you think the proposal would be a step in the right direction with respect to the problem discussed in this topic.

3 Likes