#46 F28 Live image size increased due to change of CJK fonts
Closed: Fixed 4 years ago Opened 4 years ago by petersen.

This has already been discussed on Fedora devel list but I just wanted to run this by the WS WG since it does increase the Live iso size noticeably (a couple of hundred of megs). (The main reason for the increase with the switch to the Google Noto CJK fonts is the 7 weight variants for each font and the larger mono fonts.)

The general consensus on devel list was that it is more important to have good quality global fonts coverage for Fedora so that overall it is worth the increase and better to bite the bullet (though the original poster was lamenting the size increase for KDE Live), but I just want to make sure that we are okay with this bump in the iso size for F28. For F29 we want to move to the more compact OpenType Collection (.ttc) fonts after more testing which will give a considerable size saving. But it is probably too late to make that switch now for F28 (though most modern apps should work fine with them)?

We had considered to use subpackaging of the weight variants to reduce the default fonts size but this would violate our Fonts Packaging Guidelines which prohibit dividing a font face across subpackages.

Metadata Update from @petersen:
- Issue tagged with: meeting

4 years ago

I think it's really important to both:

  • Maintain a reasonably-comprehensive set of international fonts, so that users do not have to install extra fonts to use Fedora comfortably
  • Maintain a reasonably-small ISO size, so users with limited bandwidth or metered connections can download Fedora easily.

The large ISO size increase jeopardizes the second point and seems really hard to accept. My question is: how important are the new fonts for CJKV users? Would users feel compelled to install these fonts manually, post-install, if we do not include them? That would jeopardize the first goal. If so, are there other CJKV fonts that we could remove in order to make room for the new ones? Or are they all really necessary?

My main concern is that we get both points right in the long term, for F29. It sounds like you already have a good plan for that ("move to the more compact OpenType Collection (.ttc) fonts after more testing which will give a considerable size saving").

I think a font family of this size clearly justifies revisiting the packaging rules, and considering adjustments to them.

@petersen Do you think it would be reasonable to simply revert this change, preserving the status quo from F27? Then once the switch to OpenType Collection fonts is working, Google Noto CJK could go in again?

To quantify this, our size increased from 1.6 GB in F27 to 1.9 GB in F28.

Let me add my analysis, based on rpm package and file sizes:

Release F27 F28 F28-F27 OTC [1] Subpackage [2]
CJK fonts rpms 166MB 358MB +197MB 190MB 191MB
CJK fonts files [3] 225MB 485MB +260MB 284MB 232MB
All locales rpm 7.6 MB 26.2 MB +18.6MB - -
Locales archive [4] 113MB 200MB +87MB - -

[1] using the OpenType Collection versions of Noto CJK, planned for F29
[2] Subpackaging with only Regular and Bold variants: https://copr.fedorainfracloud.org/coprs/petersen/google-noto-cjk-fonts/build/736682/
If we only installed the Regular weight by default the fonts file size would be under 120MB!
[3] See https://bugzilla.redhat.com/show_bug.cgi?id=1562315 for the fonts file sizes
[4] glibc locales increased in size noticeably due to major refresh in the collation data (from roughly Unicode 3 to 9)

I am not sure how RPM and Live compression compare.
Dunno if anything else is contributing to the overall Live size increase.

The Workstation WG discussed this in today's meeting and agreed that:

15:46 < kalev> #agreed juhp_ to investigate if we can improve the situation for F28 by subpackaging, and if it doesn't work out, revert to F27 fonts (+1:6, 0:0, -1:0)

Metadata Update from @kalev:
- Issue untagged with: meeting
- Issue assigned to petersen

4 years ago

Just a schedule note here: Final freeze is 2018-04-17 . I think we could reasonably consider freeze exceptions for well-considered and well-tested changes here, but it'd be really good to start trying to address this ASAP, so we have a little time for assessing the consequences.

Is the subpackage done and ready to go in a nightly?

What sort of OTC/.ttc testing has been done on Fedora so far? A lot? Not much?

From here:

The Noto CJK "Mega" OTC is quite complete, and depending on RPM compression (if any) it's 215MiB - 264MiB. For that matter, the Source Han + Noto CJK "Ultra" OTC for stress testing seems sane also, it's not that much bigger, 241MiB - 294MiB but contains a substantial pile of fonts.

We are reverting to the F27 fonts. ;-(
Comps PR was merged to F28.

(I had one crazy idea to remove the extra weight fonts from Live images but didn't propose that hack in the end.)

Not much testing of the OTC fonts done yet in Fedora, though I am running it myself now.)

Also it would be really useful to have a record of the daily WS iso size over time.

It's actually quite easy to do that, I've got a script lying around here somewhere that does it...I'll post something for you tomorrow.

I didn't forget about this, I'm just tidying up the script and radically over-engineering it. :P with you shortly.

OK, here you go - that's a (warning: quite large, 3.75MB) JSON file containing the sizes for just about every Fedora image it's still possible to find the size for. It has sizes from stable releases 1 thru 23, then sizes from nightly composes for 24 onwards plus Rawhide (from the ~F24 timeframe on; it's basically when we started doing composes with Pungi 4). It's organized by image, using productmd's 'unique image identifier' system (which is subvariant type format arch discnumber unified, for most Fedora images only the first four fields are significant, discnumber matters for a few old ones).

For your purposes you probably care about the images "Desktop live iso x86_64 1 False" and "Workstation live iso x86_64 1 False" (the latter obviously being the successor to the former).


Thanks a lot Adam, that's really useful.
It would be great if this kind of data could be updated daily and made visible going forward, like for F29+ also.

The latest F28 WS Live iso's are using the older CJK fonts now and should be smaller in size.
Also the more compact Noto CJK OTC (.ttc) fonts are default now in F29: so that can be tested now.

Metadata Update from @petersen:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

4 years ago

Login to comment on this ticket.