Excessive fonts installed by default

For me, we should be able to select regional fonts during installation. If someone select “Chinese” as primary language and localization, those fonts should be automatically installed. If not, people should be able to install them afterwards, during installation or maybe in a very much needed section in system settigs…

1 Like

Hi all, late in the topic…

In any Linux installation I make, first wasting time thing to do is getting rid of the dozens fonts which I don’t need given the languages I deal with.

Why do that ? Because all these fonts appear in any app’ ! And by chance I daily use at work LibreOffice, Gimp, Scribus and many other heavy editors where choosing / searching / installing / removing fonts is part of my daily tasks…

Why installing all alphabets since OS-installer asked your main language and area ? ? ?

I understand a distro should address any language in the world - and I love it - but it’s not needed in each installation of a distro.

Depending on Noto is both a good and a bad thing. Good because it covers almost any language. Bad for the same reason : does one user need to see the whole choice of alphabets in all his app’s ?

There should be a tool to mute the non-needed fonts without breaking further updating and dependencies.

If I don’t need Noto fonts, it’s quite a pain to remove them… And I need to remove them because I don’t want to see their whole list in my app’s, where I only want to see the dozens / hundreds fonts I personally choose to use in my projects.

cause I quite agree here :

…unless the fonts I won’t use because they’re not from languages I speak / read / understand.

It’s a real use-case and real questions here, no bitterness at all.

1 Like

It is about our international community and preference in
fonts is the at most importance for choice of each users
Ubuntu experience. That experience is the
upmost importance to derive the best experience to each
user of Ubuntu. This makes Ubuntu diverse of its own O.S…
In your terms I may not have the ability to change my font
to one you disprove of which could be my favorite?
…NO I say !
My apologies to our Community for being out spoken.
Ubuntu being diverse, cutting edge and security matters to me.
I hope that @sabdfl agrees.

even then you probably don’t want to see square boxes in websites … :wink:

6 Likes

I never have problems of fonts in website, would you believe ? For last 10 years more or so…
I may be wrong about that but I guess nowadays many if not most sites provide or delegate fonts displayed.

It’s quite easy to understand why it’s a pain in the whatever to have to scroll through dozens if not hundreds of unneeded fonts in LibreOffice or Gimp or Scribus or any editor for what matters here.

I don’t want Ubuntu to get rid of any fonts - I want as a user a safe and easy way to deal with only my favorite fonts, everywhere in my « workflow ».

Only not-so-easy way I’ve found is to uninstall the fonts I don’t need. But I don’t like that method.
And it’s not safe with some heavily « dependent » fonts ( Noto… )
In multi-user context I’m also happy all these fonts are there by default. But all the users of a system don’t need the full-set of them all, everywhere in all app’s.

I’d rather have an utility to manage fonts for :
⋅ muting some of them by « alphabet » or « language » or « family » without uninstalling,
⋅ « starring » some of them to tell the system, yes those ones I want everywhere for everyone,
⋅ matching some of them only to given app’s,
⋅ matching some of them only to given users or groups…

As is, having all these fonts installed by default implies never-ending list of fonts in all app’s while most of them won’t ever serve the user.

Of course people who never deal with fonts won’t care - so you may think it’s a narrowing use-case.
But it’s not, something’s lacking in fonts management. The all or nothing approach is not enough.

1 Like

I completely agree with @dandv.

1 Like

Diversity is good. Ubuntu and Libreoffice do a great job accommodating the international community. But the problem that most users have with excessive fonts are real! Why should a user in South America, who only writes in Spanish, have to deal with hundreds of useless fonts in Chinese, Hindi, or even Hebrew?

The Libreoffice installation program should ask first, What country are you living? Then install only the relevant language specific fonts.

2 Likes

Indeed. One would think that this is one basic function in the installation process.

2 Likes

Not by “default” – But by “Choice”

Covering the most world wide founts for an international default
languages and staying diverse at the same time…
That is where Ubuntu is now. Other languages can and may be added after the initial insulation. Including other additional Fonts listed in Synaptic. The Fonts are installed during the default initial install.
If fonts were installed at the same time with the language pack .
Then the fonts would be grouped with the install language.
Other extra fonts could be removed at the end on the install.
Which could be possible.

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