#36 Use Noto Sans UI font as fallback in F28
Closed: Fixed by catanzaro. Opened by kalev.

We have a redesigned Canterell font in F28 (it's the main UI font for GNOME). It has smaller glyph coverage compared to old Canterell, in particular Cyrillic glyphs are missing. Upstream suggests to use Noto Sans UI as a fallback as it's the best match for Cantarell.

https://bugzilla.redhat.com/show_bug.cgi?id=1556854

Can we get the official image updated with Noto Sans UI as a fallback? Anyone who knows how to do that?


The difference between Noto Sans UI and Noto Sans is that UI keeps the vertical height the same across all scripts, so text height doesn't jump when multiple scripts turn up on the same line or you switch from one script to the next.

Noto Sans (UI) should be the default (fallback) font for everything anyway, as it is the most-well funded professional, open-source, active font development effort spanning the most languages. The alternatives for different languages commonly shipping with distros don't even compare in quality.

Can we get the official image updated with Noto Sans UI as a fallback? Anyone who knows how to do that?

Fontconfig is hideously complicated. You need Bastien or Matthias for this.

Look into given bugzilla 1556854 for any further discussion.

Just to clear up any misunderstandings, what I am suggesting here is switching from Dejavu Sans to Noto Sans UI on the Workstation install media as a fallback as it's better match to Cantarell, as Cantarell upstream says.

@pnemade Do you know what we need to change to make that happen? Is it just as simple as changing google-noto-sans-ui-fonts to be "default" in the comps fonts group? Is there any tweaking needed to fontconfig priorities?

Anything else I'm missing?

It'd be nice to see this discussed with the Fonts SIG and other desktops and co-ordinated somewhat.

https://fedoraproject.org/wiki/Category:Fonts_SIG

It is still, at least, technically, the case that DejaVu is the default Fedora font. This was specifically decided by policy way back in FC6 / Fedora 9. Workstation already differs by using Cantarell, but it'd be nice to avoid any more differences which aren't necessary.

If Noto is actually better than DejaVu, why not propose it as a default for everything?

(Heck, if Noto is great, why not consider just making it the Workstation font? Is this whole 'GNOME has its own font' thing really still an idea worth chasing, if we have good fonts with wide glyph coverage being maintained by professionals?)

agreed. we should open and discuss on the list first if we want to change the default font. not like making this change in upstream and then just follow on it without any notice.

Sorry, I didn't mean to step on anyone's toes here. I just wanted to make sure we consider what our default font's (Cantarell's) maintainer says should be the fallback, and not just keep using whatever happens to be there. I am no fonts expert and I'll defer to other people's opinions here.

@tagoh Mailing list discussion makes sense: did you mean the fonts mailing list? Could you kick that off please? I'm not subscribed.

However, at the same time, I don't think we need huge coordination with other desktops. Fedora Editions were created precisely to be able to differentiate and I think we don't need to keep waiting for Fedora spins to catch up if there's a need to change a fallback font. Our default font is already different from other desktops (Cantarell); this is just about changing the fallback now.

@kalev you can start on fedora-devel for more wider audience since this would affects everyone.

Using Noto instead of DejaVu also has a side-effect: it appears smaller. If
we go the noto-everything road (and I think the wider distribution
landscape should), every website that assumes DejaVu is the default
sans-serif needs to think about increasing the font size one or two pts ;)

I see that on Workstation edition we have all these three fonts default installed. Cantarell, DejaVu, "Noto Sans" but not "Noto Sans UI" (we need to .have Noto Sans UI default installed first)

I think we need to check if fontconfig fallback rule can be created like this Cantarell -> Noto Sans UI -> DejaVu to fix the user reported issue https://bugzilla.redhat.com/show_bug.cgi?id=1556854#c7

@tagoh Done, https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/3QCT6MI6N24X63QYTBCU2KR7Q6FBIRM4/

Is there a way to set Noto Sans UI only for UI use? In a normal document, using the non-UI fonts is preferred. Probably something for a global system-font alias that toolkits then use as a fallback.

"every website that assumes DejaVu is the default sans-serif"

I doubt there are very many websites at all that do that; presumably if they consider it at all, they consider the default fonts in Windows, macOS, Android and iOS.

How do Cantarell, DejaVu and Noto's glyph sizes compare to those? Is DejaVu unusually big, or are Cantarell and Noto unusually small?

(Heck, if Noto is great, why not consider just making it the Workstation font? Is this whole 'GNOME has its own font' thing really still an idea worth chasing, if we have good fonts with wide glyph coverage being maintained by professionals?)

Yes it is. Why would we give up on that now that the font is actually improving ?!

And I hope you didn't mean to imply that Nicholas is an amateur, or that fonts or software done by non-payed people is somehow inferior.

The significant point was mainly the 's' on the end of the word. :P anyway, that is a little off-topic for this ticket, so let's not discuss it any further here.

[ written quickly without testing anything ]

I don't think making Noto Sans UI preferred in the sans-serif alias is a good idea, because the definition of the "UI" style of Noto is that it has been compressed vertically for certain scripts where the natural vertical size doesn't fit comfortably in a button, etc.

So is it possible to make Noto Sans UI a fallback specifically for Cantarell ?- a key point is that in 31-cantarell.conf we do:

<!-- Generic name assignment -->
<match target="pattern">
  <test qual="any" name="family">
      <string>Cantarell</string>
  </test>
  <edit name="family" mode="assign" binding="weak">
    <string>Cantarell</string>
  </edit>
</match>

Which means that "Cantarell" is actually a weak alias like "sans-serif" or "monospace". So adding:

    <alias binding="weak">
      <family>Cantarell</family>
      <accept><family>Noto Sans UI</family></accept>
    </alias>

to that file should produce the desired effect. This effect will be that if "Cantarell" completely covers the target language, it is used, otherwise "Noto Sans UI" is used.

Figuring out what to do about things like google-noto-sans-devanagari-ui-fonts is left as an exercise to the reader :-)

Awesome, thanks Owen!

btw, wouldn't you also have to pull all the zillions of noto-sans subpackages into the Workstation package set?

btw, wouldn't you also have to pull all the zillions of noto-sans subpackages into the Workstation package set?

Yep. All of them. Or at least all in which Fedora ships a translation or provides some kind of (online) document that uses it. Or just everything, to be truly i18n.

I think you could make a meta-package that packaged many of the fonts into a hundred MBs large TTC file to keep the package count low :D

This effect will be that if "Cantarell" completely covers the target language, it is used, otherwise "Noto Sans UI" is used.

Good thinking. We should still set the non-UI fonts as the default sans and serif fonts.

(Heck, if Noto is great, why not consider just making it the Workstation font? Is this whole 'GNOME has its own font' thing really still an idea worth chasing, if we have good fonts with wide glyph coverage being maintained by professionals?)

Yes it is. Why would we give up on that now that the font is actually improving ?!
And I hope you didn't mean to imply that Nicholas is an amateur, or that fonts or software done by non-payed people is somehow inferior.

While "amateur" can have several meanings, I'm not sure there's a commonly used definition of "professional" that would apply in this case. In his own words:

I'm no type designer, so I'd love to get some feedback!

Absolutely no disrespect intended to Nicholas.
Picking a single, distinct from upstream font for Fedora makes sense from a branding, design, and usability perspective. IMHO, we should strive to privilege as few linguistic groups as possible, and that is exactly what doesn't happen when your preferred font has massive unicode script gaps.

Someone with write access to the wiki could open a change proposal to make Noto the fallback, whether upstream Cantarell should be patched out can be decided later :)

Hey, @tagoh, what's the status on this?

Is anyone interested in creating that change proposal? (It's too late for F29 at this point, but could still happen for F30.)

I'm willing to help to propose this for f30 though, we need to collect some objective things to indicate how this is better than Cantarell but not just subjective things.

I think the idea is rather to use Noto instead of DejaVu as the fallback or default font (for massiveley increased language coverage with a more coherent look than if you stitched together different families) and have e.g. GNOME layer Cantarell on top if they so desire.

Sure. in eithe way we need to spend a time to collect some information for Noto vs Something, like glyph coverages, font sizes, images to compare perhaps and so on. and also need to think about unified families like we did for Google Droid fonts...

Anyway, good to start to work on drafting Changes proposal.

I think the idea is rather to use Noto instead of DejaVu as the fallback or default font (for massiveley increased language coverage with a more coherent look than if you stitched together different families) and have e.g. GNOME layer Cantarell on top

Yes, Cantarell isn't going away.

I think the idea is rather to use Noto instead of DejaVu as the fallback or default font (for massiveley increased language coverage with a more coherent look than if you stitched together different families) and have e.g. GNOME layer Cantarell on top if they so desire.

Kalev's intent seems to have been as you say.
Just so that I'm not mischaracterized, my comment was declared with the view that we should be working towards unifying Fedora's design story as much as possible.

just FYI, I've tried to figure out how Noto's coverage are. see https://tagoh.fedorapeople.org/fonts/f29-noto.html

Apparently DejaVu still has wider coverage than Noto unfortunately as you can see its name in some languages. thus, the idea for fallback of DejaVu won't work as expected and we may missed one of advertising for this proposal then.

Though having common design among languages is really great idea.

Hm, why are different fonts listed for Yiddish, Thai, Urdu, Uyghur, Sidamo, Sindhi and others when https://www.google.com/get/noto/ lists them as supported? 🤔

Also, is there a general way in FC to use the UI variants of the fonts in UIs?

Hm, why are different fonts listed for Yiddish, Thai, Urdu, Uyghur, Sidamo, Sindhi and others when https://www.google.com/get/noto/ lists them as supported? 🤔

Well, that's my bad. it happened because those fonts had a priority more than Noto families. so I ran my script again with Noto families only. see https://tagoh.fedorapeople.org/fonts/f29-noto-pure.html
still, Noto Mono seems not having enough coverage, and some variants for languages too because appearing Sans name in serif and monospace would means falling back to it due to missing language coverage, or something wrong in fontconfig config file. not yet checking carefully so need to track it down later.

Also, is there a general way in FC to use the UI variants of the fonts in UIs?

No.

To make the review easy:
https://tagoh.fedorapeople.org/fonts/f29-noto-pure-color.html

https://developer.mozilla.org/en-US/docs/Web/CSS/font-family
https://www.w3.org/TR/css-fonts-4/#valdef-font-family-system-ui

Hm, we could have system-ui as a generic family name for UI perhaps.

A generic name is what I had in mind. That way, third party applications
can use that (e.g. Electron apps, Firefox, Qt) instead of setting the
actual font name.

The mono variant is the newest with the least coverage. I can ask Crossland
what the status on newer versions is.

Just updated google-noto-fonts to the latest snapshot in rawhide and re-generated the table:
https://tagoh.fedorapeople.org/fonts/f29-latest-noto.html

Somewhat better than before. may need to update some config files for languages which has unexpected results. just FYI.

I don't think you want the display variants as the default :D Those
sport a finer design for larger text sizes like headings and such. Go
for the "UI" ones.

Yes, the priority can be improved but some UI fonts for languages are still available though, Noto Sans UI and such has been gone and they added the Display variant instead. dunno what that really means.

Huh. Display font are for larger text sizes like headings. You may
want to ask the package maintainer where the UI stuff went. The UI
variants have specially spaced and sometimes slightly redesigned
glyphs that make it easier to use the fonts in places with limited
vertical space like UIs. Otherwise an Arabic menu might e.g. be twice
as high as in other languages.

This seems to be the reason why they removed UI fonts from repo:
https://github.com/googlei18n/noto-fonts/pull/985

Indeed fontconfig may needs to support system-ui generic family.

A system-ui label would be most helpful! 3rd party software (e.g. VS Code), websites and GUI toolkits could use that instead of hardcoding fonts.

So from that issue, use the UI variant first and the non-UI one if one doesn't exist. Do not use the "Display" variants, as they are made for headings, etc.

Yes, this is a proposal enhancement for system-ui thing. https://gitlab.freedesktop.org/tagoh/fontconfig/commit/4733f726007b2463552fcbed0237da0a99aaaaac

No explicit changes for fallback there though, if no better fonts matched with system-ui, then they will be fell back to sans-serif as other generic families do.

Additional work would be needed to make Noto the default font for documents, i.e. the first thing to check for when something requests sans/serif/mono, no?

Yes, you're right if the plan is to make Noto the default. we will need to update dejavu and noto packages to update the priority of config files.

The comparison table for DajaVu to Noto: https://tagoh.fedorapeople.org/fonts/diff/dejavu-noto.html

looks good for sans-serif. no serif nor monospace available in some languages. is it worth proposing this change at this moment? if you guys agree on it, I'll make a draft of the changes proposal for replacing DajaVu to Noto on f30.

I don't understand some of the Serif entries, e.g. Sindhi, Uyghur, Ottoman Turkish, ku_iq, non-old Persian: according to https://www.google.com/get/noto/, these scripts have "Serif" variants (not sure Serif has a meaning for Arabic scripts, but Naskh would come close in look). Maybe Naskh needs to be recognized as Serif? Inuktitut has Serif for at least the Latin script. Berber has it for non-Tifinagh. Not sure how bad that is. Yes, Mono has the smallest coverage unfortunetely...

Thanks. I've updated fontconfig config in google-noto-fonts. will update the table once the updated package is mirrored.

Thanks for your efforts!

By the way, I found that the Noto fonts are being prepared for a release with variable fonts. There's a test site with a few of the supported scripts at https://notovartest.glitch.me/. Even has a variable Mono font. Very nice!

Aha. that would be really nice.

BTW just wrote a rendering comparison page with WOFF2: https://tagoh.fedorapeople.org/fonts/noto/webfont.html

File size estimations is here which may affects ISO size:

Overall: 165MiB increased (88MiB without serif)

sans-serif

  • The number of packages added: 28
    • google-noto-sans-fonts google-noto-sans-ethiopic-fonts google-noto-sans-arabic-fonts google-noto-sans-armenian-fonts google-noto-sans-bengali-fonts google-noto-sans-tifinagh-fonts google-noto-sans-devanagari-fonts google-noto-sans-myanmar-fonts google-noto-sans-cherokee-fonts google-noto-sans-thaana-fonts google-noto-sans-tibetan-fonts google-noto-sans-georgian-fonts google-noto-gujarati-fonts google-noto-sans-hebrew-fonts google-noto-sans-canadian-aboriginal-fonts google-noto-serif-kannada-fonts google-noto-sans-khmer-fonts google-noto-sans-lao-fonts google-noto-sans-malayalam-fonts google-noto-sans-yi-fonts google-noto-sans-nko-fonts google-noto-oriya-fonts google-noto-sans-gurmukhi-fonts google-noto-sans-syriac-eastern-fonts google-noto-sans-tamil-fonts google-noto-sans-telugu-fonts google-noto-sans-thai-fonts google-noto-sans-mongolian-fonts
  • The total of file size: +85MiB
  • The number of packages can be removed: 18
    • dejavu-sans-fonts lohit-assamese-fonts lohit-bengali-fonts gnu-free-sans-fonts lohit-devanagari-fonts sil-padauk-fonts jomolhari-fonts lohit-gujarati-fonts lohit-kannada-fonts khmeros-base-fonts smc-meera-fonts sil-nuosu-fonts lohit-odia-fonts lohit-gurmukhi-fonts lohit-tamil-fonts lohit-telugu-fonts thai-scalable-waree-fonts paktype-naskh-basic-fonts
  • The total of file size: -15MiB

serif

  • The number of packages added: 17
    • google-noto-serif-fonts google-noto-serif-ethiopic-fonts google-noto-serif-armenian-fonts google-noto-serif-devanagari-fonts google-noto-serif-myanmar-fonts google-noto-serif-georgian-fonts google-noto-serif-gujarati-fonts google-noto-serif-hebrew-fonts google-noto-serif-kannada-fonts google-noto-nastaliq-urdu-fonts google-noto-serif-khmer-fonts google-noto-serif-lao-fonts google-noto-serif-malayalam-fonts google-noto-serif-sinhala-fonts google-noto-serif-tamil-fonts google-noto-serif-telugu-fonts google-noto-serif-thai-fonts
  • The total of file size: +86MiB
  • The number of packages can be removed: 3 (excluded duplicate packages from sans-serif)
    • gnu-free-serif-fonts dejavu-serif-fonts sil-abyssinica-fonts
  • The total of file size: -9MiB

monospace

  • The number of packages added: 1
    • google-noto-sans-mono-fonts
  • The total of file size: +17MiB
  • The number of packages can be removed: 2
    • gnu-free-sans-mono-fonts dejavu-sans-mono-fonts
  • The total of file size: -1MiB

Apparently file size increase looks difficult to propose this. for minimal plans:

Minimal size estimation:

sans-serif (google-noto-sans-fonts)

  • File size: +32MiB
  • Language coverages: Abkhazian, Afar, Afrikaans, Akan, Albanian, Aragonese, Asturian, Avaric, Aymara, Bambara, Bashkir, Basque, Belarusian, Bislama, Bosnian, Breton, Bulgarian, Buryat, Catalan, Chamorro, Chechen, Church Slavonic, Chuvash, Cornish, Corsican, Crimean Turkish, Croatian, Cusco Quechua, Czech, Danish, Dutch, Edo, English, Esperanto, Estonian, Ewe, Fantse, Faroese, Fijian, Filipino, Finnish, French, Friulian, Fulah, Galician, Ganda, German, Greek, Guarani, Haitian Creole, Hausa, Hawaiian, Herero, Hiri Motu, Hungarian, Icelandic, Ido, Igbo, Inari Sami, Indonesian, Interlingua, Interlingue, Inupiaq, Irish, Italian, Javanese, Kabyle, Kalaallisut, Kanuri, Karakalpak, Kashubian, Kazakh, Kikuyu, Kinyarwanda, Kirundi, Komi, Kumyk, Kwambi, Kwanyama, Kyrgyz, Latin, Latvian, Lezgian, Limburgish, Lingala, Lithuanian, Low German, Lule Sami, Luxembourgish, Macedonian, Malagasy, Malay, Maltese, Manx, Maori, Mari, Marshallese, Moldovan, Nauruan, Navajo, Ndonga, Northern Sami, Northern Sotho, Norwegian, Norwegian BokmĂĄl, Norwegian Nynorsk, Nyanja, Occitan, Oromo, Ossetic, Polish, Portuguese, Quechua, Romanian, Romansh, Russian, Sakha, Samoan, Sango, Sardinian, Scots, Scottish Gaelic, Serbian, Serbo-Croatian, Shona, Shuswap language, Skolt Sami, Slovak, Slovenian, Somali, Sorbian Languages, South Ndebele, Southern Sami, Southern Sotho, Spanish, Sundanese, Swahili, Swati, Swedish, Tagalog, Tahitian, Tajik, Tatar, Tongan, Tsonga, Tswana, Turkish, Turkmen, Tuvan, Twi, Ukrainian, Upper Sorbian, Uzbek, Venda, Vietnamese, VolapĂĽk, Votic, Walloon, Welsh, Western Frisian, Wolof, Xhosa, Yapese, Yoruba, Zhuang, Zulu, az-az, ber-dz, ku-am, ku-tr, mn-mn, pap-an, pap-aw, sel
  • The number of packages can be removed: 1
    • dejavu-sans-fonts
  • File size: -5MiB

serif (google-noto-serif-fonts)

  • File size: +40MiB
  • Language coverages: Abkhazian, Afar, Afrikaans, Akan, Albanian, Aragonese, Asturian, Avaric, Aymara, Bambara, Bashkir, Basque, Belarusian, Bislama, Bosnian, Breton, Bulgarian, Buryat, Catalan, Chamorro, Chechen, Church Slavonic, Chuvash, Cornish, Corsican, Crimean Turkish, Croatian, Cusco Quechua, Czech, Danish, Dutch, Edo, English, Esperanto, Estonian, Ewe, Fantse, Faroese, Fijian, Filipino, Finnish, French, Friulian, Fulah, Galician, Ganda, German, Greek, Guarani, Haitian Creole, Hausa, Hawaiian, Herero, Hiri Motu, Hungarian, Icelandic, Ido, Igbo, Inari Sami, Indonesian, Interlingua, Interlingue, Inupiaq, Irish, Italian, Javanese, Kabyle, Kalaallisut, Kanuri, Karakalpak, Kashubian, Kazakh, Kikuyu, Kinyarwanda, Kirundi, Komi, Kumyk, Kwambi, Kwanyama, Kyrgyz, Latin, Latvian, Lezgian, Limburgish, Lingala, Lithuanian, Low German, Lule Sami, Luxembourgish, Macedonian, Malagasy, Malay, Maltese, Manx, Maori, Mari, Marshallese, Moldovan, Nauruan, Navajo, Ndonga, Northern Sami, Northern Sotho, Norwegian, Norwegian BokmĂĄl, Norwegian Nynorsk, Nyanja, Occitan, Oromo, Ossetic, Polish, Portuguese, Quechua, Romanian, Romansh, Russian, Sakha, Samoan, Sango, Sardinian, Scots, Scottish Gaelic, Serbian, Serbo-Croatian, Shona, Shuswap language, Skolt Sami, Slovak, Slovenian, Somali, Sorbian Languages, South Ndebele, Southern Sami, Southern Sotho, Spanish, Sundanese, Swahili, Swati, Swedish, Tagalog, Tahitian, Tajik, Tatar, Tongan, Tsonga, Tswana, Turkish, Turkmen, Tuvan, Twi, Ukrainian, Upper Sorbian, Uzbek, Venda, Vietnamese, VolapĂĽk, Votic, Walloon, Welsh, Western Frisian, Wolof, Xhosa, Yapese, Yoruba, Zhuang, Zulu, az-az, ber-dz, ku-am, ku-tr, mn-mn, pap-an, pap-aw, sel
  • The number of packages can be removed: 1
    • dejavu-serif-fonts
  • File size: -2MiB

I'll leave the decision to WG as this was brought up on WS ticket.

Woah, that's a lot. Maybe I can get an estimate on when the variable fonts will be released, they should cut down on size significantly.

Hmm, the F29 live image is 1.9 GB. (The website says 1.8 GB, but that's simply wrong as it's 1,931,476,992 bytes. 1.8 GiB would be accurate. Reported #86.) So +165 MB is going to push us over the 2 GB boundary. I'm willing do to a significant size increase for Noto, but passing the 2 GB mark when we were at 1.5 GB quite recently will be disappointing. I think we need to at least understand how the size of the live image has increased so much recently.

If variable fonts are coming soon, that would be lovely....

There are a few ways to decrease the file sizes.

First, with the default settings in Workstation (slight hinting), FreeType autohints TTF fonts and ignores the hints provided in the fonts. So the google-noto-fonts packages could ship the unhinted TTFs, which makes a 31% reduction in size.

Second, the unhinted OTFs are smaller than the unhinted TTFs, presumably because “cubic Béziers are able to represent a wide variety of curves with fewer points than quadratic Béziers”. So the packages could ship the unhinted OTFs, which makes an additional 22% reduction in size.

One problem with shipping unhinted OTFs (but not TTFs) is Firefox. Firefox does no hinting for OTFs that provide no hints. It is the only application in Workstation that does no hinting of these fonts. (I don’t know why, but this is a bug.)

Third, the unhinted variable TTFs are 31 MiB. Some of the languages covered by the Noto fonts are not available in variable versions of the fonts, but most are, by far. Comparing only the fonts available as unhinted TTFs and unhinted variable TTFs, the variable versions offer a 87% reduction in size, in addition to the 31% mentioned above.

There are no variable OTFs because fontmake can’t generate those yet.

The only issue I encountered with the variable Noto fonts in Workstation is wrong rendering of the bold weight in Firefox, and that was in Fedora 28.

Thanks for interesting comments.

There are a few ways to decrease the file sizes.
First, with the default settings in Workstation (slight hinting), FreeType autohints TTF fonts and ignores the hints provided in the fonts. So the google-noto-fonts packages could ship the unhinted TTFs, which makes a 31% reduction in size.

google-noto-fonts package mixes up all of hinted/unhinted fonts into one. so that needs to be improved first. I'll take a look at it.

Second, the unhinted OTFs are smaller than the unhinted TTFs, presumably because “cubic Béziers are able to represent a wide variety of curves with fewer points than quadratic Béziers”. So the packages could ship the unhinted OTFs, which makes an additional 22% reduction in size.
One problem with shipping unhinted OTFs (but not TTFs) is Firefox. Firefox does no hinting for OTFs that provide no hints. It is the only application in Workstation that does no hinting of these fonts. (I don’t know why, but this is a bug.)

If we can fix it in a timely manner, that would be good. otherwise that sounds a bit risky to me even though it is a firefox bug.

Third, the unhinted variable TTFs are 31 MiB. Some of the languages covered by the Noto fonts are not available in variable versions of the fonts, but most are, by far. Comparing only the fonts available as unhinted TTFs and unhinted variable TTFs, the variable versions offer a 87% reduction in size, in addition to the 31% mentioned above.
There are no variable OTFs because fontmake can’t generate those yet.
The only issue I encountered with the variable Noto fonts in Workstation is wrong rendering of the bold weight in Firefox, and that was in Fedora 28.

Aha. let me test it too.

Unhinted OTFs might need some fontconfig nudging for hinting, as FreeType defaults to the native CFF renderer for OTFs that does no hinting of its own if the font lacks baked in hints. Forcing slight hinting plus autohinting should do the job. Maybe that fixes the Firefox problem, too?

Me and a colleague are working on bringing CFF2/variable OTFs support to fontmake and friends, the foundation has been laid in fontTools. No ETA yet.

I have the bold rendering problem in Firefox, too, when using VFs. Stuff that should be bold is often regular. Not sure what the problem is, it seems to work in GTK apps?

Noto Mono VF isn't recognized as a Mono font, so I can't select it in the terminal. This seems to be a known bug even with the static fonts? https://github.com/googlei18n/noto-fonts/issues/1128

Maybe it's worth considering shipping VFs for scripts where they are available and static fonts for the rest.

https://koji.fedoraproject.org/koji/buildinfo?buildID=1175855

Updated google-noto-fonts for variable fonts which names google-noto-*-vf-fonts.

Updated the table: https://tagoh.fedorapeople.org/fonts/diff/29-noto-vf.html

And the size estimations here:

  • sans-serif
    • The number of packages added: 28
      • oogle-noto-sans-vf-fonts google-noto-sans-ethiopic-vf-fonts google-noto-sans-arabic-vf-fonts google-noto-sans-armenian-vf-fonts google-noto-sans-bengali-vf-fonts google-noto-sans-tifinagh-fonts google-noto-sans-devanagari-vf-fonts google-noto-sans-myanmar-vf-fonts google-noto-sans-cherokee-vf-fonts google-noto-sans-thaana-vf-fonts google-noto-sans-tibetan-fonts google-noto-sans-georgian-vf-fonts google-noto-sans-gujarati-fonts google-noto-sans-hebrew-vf-fonts google-noto-sans-canadian-aboriginal-vf-fonts google-noto-sans-kannada-vf-fonts google-noto-sans-khmer-vf-fonts google-noto-sans-lao-vf-fonts google-noto-sans-malayalam-vf-fonts google-noto-sans-yi-fonts google-noto-sans-nko-fonts google-noto-sans-oriya-fonts google-noto-sans-gurmukhi-fonts google-noto-sans-syriac-eastern-fonts google-noto-sans-tamil-vf-fonts google-noto-sans-telugu-fonts google-noto-sans-thai-vf-fonts google-noto-sans-mongolian-fonts
    • File size: +10.8MiB
    • The number of packages can be removed: 18
      • dejavu-sans-fonts lohit-assamese-fonts lohit-bengali-fonts gnu-free-sans-fonts lohit-devanagari-fonts sil-padauk-fonts jomolhari-fonts lohit-gujarati-fonts lohit-kannada-fonts khmeros-base-fonts smc-meera-fonts sil-nuosu-fonts lohit-odia-fonts lohit-gurmukhi-fonts lohit-tamil-fonts lohit-telugu-fonts thai-scalable-waree-fonts paktype-naskh-basic-fonts
    • File size: -15.8MiB
  • serif
    • The number of packages added: 19
      • google-noto-serif-vf-fonts google-noto-serif-ethiopic-vf-fonts google-noto-nastaliq-urdu-fonts google-noto-serif-armenian-vf-fonts google-noto-serif-bengali-fonts google-noto-serif-devanagari-fonts google-noto-serif-myanmar-vf-fonts google-noto-serif-tibetan-vf-fonts google-noto-serif-gujarati-vf-fonts google-noto-serif-hebrew-vf-fonts google-noto-serif-kannada-vf-fonts google-noto-serif-khmer-vf-fonts google-noto-serif-lao-vf-fonts google-noto-serif-malayalam-fonts google-noto-serif-gurmukhi-vf-fonts google-noto-serif-sinhala-vf-fonts google-noto-serif-tamil-slanted-vf-fonts google-noto-serif-telugu-fonts google-noto-serif-thai-vf-fonts
    • File size: +11.5MiB
    • The number of packages can be removed: 3 (excluded duplicate packages from sans-serif)
      • gnu-free-serif-fonts dejavu-serif-fonts sil-abyssinica-fonts
    • File size: -9.7MiB
  • monospace
    • The number of packages added: 2
      • google-noto-sans-mono-vf-fonts google-noto-sans-syriac-fonts
    • File size: +1.9MiB
    • The number of packages can be removed: 2
      • gnu-free-sans-mono-fonts dejavu-sans-mono-fonts
    • File size: -1.1MiB

For remaining tasks:

  1. Submit Changes proposal by 8th of Jan
  2. Submit a PR to update comps
  3. Update google-noto-fonts package to change the priority of fontconfig config
  4. Improve fontconfig config for hinting?
  5. default fonts in anaconda?
  6. Update spins' .ks?
  7. Tests

draft proposal: https://fedoraproject.org/wiki/Changes/DefaultFontsToNoto

This definitely has to be polished and improved.

I don't have access to my Fedora Workstation until the 8th, so I can't look at the config stuff and test the packages :disappointed:

As the system wide changes proposal deadline is coming tomorrow, this may be better deferring to f31.

Created copr repo for testing: https://copr.fedorainfracloud.org/coprs/tagoh/google-noto-fonts-default/

Thanks! One thing I noticed when having variable fonts is that LibreOffice 6.1 doesn't support them. It will only display the default outline.

Thanks for testing. I've confirmed it and filed a bug: https://bugzilla.redhat.com/show_bug.cgi?id=1690732
also updates are pushed to testing: https://bodhi.fedoraproject.org/updates/FEDORA-2019-fe17ded9fe

@tagoh could you update us on the status of this issue, please?

Well, Noto VF is the unhinted though, there are no way to enable autohinting in a smart way, because both non-VF and VF has same family - it can be done with font file name though. it may have a trouble on flatpaks, but anyway - fontconfig may needs to have a property to see if it is hinted or non-hinted and then enable autohinting if not.
Also we may want to see the custom style support in Pango to use VF effectively.

I don't have anything else to wait for.

OK, I assume this doesn't require further WG tracking.

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

This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/workstation/tickets/issues/36

Please continue any further discussion there.

Metadata