You are not logged in.

#1 2023-09-27 17:27:03

gcb
Member
Registered: 2014-02-12
Posts: 213

Removing garbage fonts but keeping virtual package consistency?

Using KDE i get forced to use google overkill font package. kde-desktop requires plasma-workspace which requires plasma-integration[1] which requires noto-fonts which includes 627 fonts

noto-fonts includes everything under the sun. While i welcome the internationalization, there are things there that are clearly garbage. Like old scripts that nobody uses. And ironically, the only international glyphs i need is in another package, noto-fonts-cjk. while the noto-fonts gives me pearls such as Vithkuqi... which is a toy glyph set invented by a german for the armenian alphabet in 1820 that someone found in an old library with the last mention of it by name (not even by usage) made in 1844! And someone at google decided to include it in the main noto package. great.

I have a background in linguistics and font design, and even I consider 40% of what is included in noto-fonts pure useless garbage.

But disk space is small... well, I thought so for years and ignored that, but now we have graphical designers to support in the team. And we normalized one laptop model with arch kde for everyone. The first second of graphical design is pure pain because they have to scroll 120932498570189234 noto fonts to select fonts for each element. Of course they found reddit posts full of people asking about this annoyance, and the solution is always "uninstall noto-fonts"... but if i do that now i have a "broken" virtual package for kde-desktop. sigh. if it was one machine it would be done already.

thanks for reading my blog post. any solution to this annoyance? This makes kde/plasma looks really bad for any graphical designer that ever tries it.


[1] plasma-integration: which smells like garbage on it's own self and would be nice to get rid of, if it is easier than the fonts... i don't have many qt-but-not-kde applications anyway, which is what this package aludes to improve but even the source's readme fails to say anything concrete. i don't think anybody have many qt apps. and even if we had they would not be using the interfaces this code overrides. seems like very nitty-picky for very specific edge cases the kde devs happens to care about. little hacks like optimizing global menu button prefence and such (not even fixing or changing anything, just adding a global var check optimization before the regular code)... anyway, in the end, that package just requires two fonts, perl and have a bunch of hacky scripts replacing "Oxygen-sans" with "noto-sans" all over the place. lol

Offline

#2 2023-09-27 17:36:14

gcb
Member
Registered: 2014-02-12
Posts: 213

Re: Removing garbage fonts but keeping virtual package consistency?

found this convoluted workaround https://bbs.archlinux.org/viewtopic.php?id=230195 for now but still unsure if `pacman -Rdd` will screw things over next update. either by preventing update of the hacky plasma-integration package or reinstalling the fonts later on...

Offline

#3 2023-09-27 17:38:49

Awebb
Member
Registered: 2010-05-06
Posts: 6,688

Re: Removing garbage fonts but keeping virtual package consistency?

Build your own noto-fonts, the PKGBUILD is available. There are also a bunch of noto-fonts packages in the AUR. Then there is teh NoExtract directive for pacman.conf.

EDIT: A more permanent solution would be to ask the maintainer of the noto-fonts package to split it. A lack of granularity in KDE has lead to the foundation of a KDE-mod repository and even a whole distro in the past.

Last edited by Awebb (2023-09-27 17:42:08)

Offline

#4 2023-09-27 18:50:41

gcb
Member
Registered: 2014-02-12
Posts: 213

Re: Removing garbage fonts but keeping virtual package consistency?

> lack of granularity in KDE has lead to the foundation of a KDE-mod repository and even a whole distro in the past.

oh! that's not reassuring.

on arch side, a fix is apparently not welcome (though the reporters didn't attempt to formulate an argument or provide patches)
https://bugs.archlinux.org/task/68650
https://bugs.archlinux.org/task/69522
... i will try to talk with the fonts maintainer, if not the same person.


The NoExtract hack is not very good. it is *global*, not limited to a single package. it is sure to bite me later on when i least expect and will be a pain to find out the reason. ...i tried it a while ago and when built an new image to test already had one font i care about missing (from a different package heh, extra/noto-fonts-emoji) /usr/share/fonts/noto/NotoColorEmoji.ttf

If i had added that package to our systems next year, i would never recall i had that noExtract there and would waste a lot of time trying to figure out why i'm not seeing the emojis.

Offline

#5 2023-09-27 19:44:45

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,093

Re: Removing garbage fonts but keeping virtual package consistency?

It's a font roll
Any hard dependency on a specific font is technical nonsense, it's a dependecy so you can have the plasma-experience or whatever.

You can drop the package and put it onto the ignore list or install a dummy package that provides "noto-fonts" and does nothing else. You need *some* font, not a specific one.

If you wanna be extra careful and adhere to the reasoning in https://bugs.archlinux.org/task/68650 you could depend the dummy on your preferred font package and add a fontconfig that aliases noto to that font.
But that reason isn't entirely technical either, I doubt (hope) that anything KDE crashes if you cannot resolve Noto (because fontconfig will resolve anything that's not there to the local default, typically DejaVu but really anything that's available)

Online

#6 2023-09-27 19:46:20

Awebb
Member
Registered: 2010-05-06
Posts: 6,688

Re: Removing garbage fonts but keeping virtual package consistency?

Then delete them with a pacman hook. Don't go overboard with globbing and generate a file list.

Offline

#7 2023-09-28 13:26:19

gcb
Member
Registered: 2014-02-12
Posts: 213

Re: Removing garbage fonts but keeping virtual package consistency?

agree with both of you. what i'm doing for now, since this is voluntary work for a non-profit and we have tons of machines, is to just ship a `-Rdd` update to everyone and deal with whatever when it happens smile

i asked around and absolutely no one cares for the noto fonts :shrug

Offline

#8 2023-09-28 13:44:55

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,462
Website

Re: Removing garbage fonts but keeping virtual package consistency?

gcb wrote:

The NoExtract hack is not very good. it is *global*, not limited to a single package.

What does this mean?  You specify files to not extract.  Any given file is generally owned by a single package.


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

#9 2023-09-28 13:58:58

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,093

Re: Removing garbage fonts but keeping virtual package consistency?

Given the noto-emoji reference OP probably got self-owned by globbing

@gcb

# Maintainer: Me <me at here>

pkgname=noto-dummy
pkgver=1
pkgrel=1
pkgdesc="nono noto font"
arch=('any')
license=('GPL')
depends=('ttf-font')
provides=(noto-fonts)

The dummy will fulfill the requirement and ensure that some font is installed.

Online

#10 2023-09-28 14:02:28

Awebb
Member
Registered: 2010-05-06
Posts: 6,688

Re: Removing garbage fonts but keeping virtual package consistency?

Trilby wrote:
gcb wrote:

The NoExtract hack is not very good. it is *global*, not limited to a single package.

What does this mean?  You specify files to not extract.  Any given file is generally owned by a single package.

OP found some patterns for NoExtract behind the provided link that'll hit other not so unwanted noto packages as well and does not seem to be very confident about modifying those patterns. That's why I suggested writing a hook that'll delete an explicit list of unwanted files on updates of that package.

Offline

#11 2023-09-28 15:20:56

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,462
Website

Re: Removing garbage fonts but keeping virtual package consistency?

Awebb wrote:

That's why I suggested writing a hook that'll delete an explicit list of unwanted files on updates of that package.

Whether it's a NoExtract or a hook is orthogonal to this problem.  If there is an explicit list, NoExtract would work fine.  If there is a faulty glob, it'd be just as problematic in a hook or NoExtract.


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

#12 2023-09-28 16:09:27

Awebb
Member
Registered: 2010-05-06
Posts: 6,688

Re: Removing garbage fonts but keeping virtual package consistency?

That is correct. I recommended a hook with an explicit file list, because it's easy to drop a single file even under "the user has to do it" circumstances than editing an unknown number of pacman.confs in a seemingly uncontrolled environment. I'd also not want to contaminate my pacman.conf with 300-600 entries for NoExtract.

Last edited by Awebb (2023-09-28 16:09:40)

Offline

Board footer

Powered by FluxBB