From Fedora Project Wiki

Revision as of 18:49, 17 January 2023 by Bcotton (talk | contribs) (Change approved by FESCo)

Noto Fonts For More Languages

Summary

Changes the default font for more languages to Noto Fonts.

Owner

Current status

  • Targeted release: Fedora Linux 38
  • Last updated: 2023-01-17
  • devel thread
  • FESCo issue: #2931
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

We have changed our default fonts to Noto in f36 though, some languages was still missing even though Noto Fonts provides fonts for their languages. This Change continues to accomplish consistent text rendering across our supported languages as far as possible.

The following languages are targeted in this Change:

  • Khmer
  • Thai

Feedback

Benefit to Fedora

We would get better text rendering on applications and desktops for the above languages as well as languages we have already migrated. Also this change should save about 344kB on the fresh install.

$ rpm -qlv khmer-os-system-fonts thai-scalable-waree-fonts | awk 'BEGIN{a=0}{a+=$5}END{print a}'
504660
$ rpm -qlv google-noto-sans-khmer-vf-fonts google-noto-sans-thai-vf-fonts | awk 'BEGIN{a=0}{a+=$5}END{print a}'
160573

Scope

  • Proposal owners:
    • Update google-noto-fonts and fonts packages currently used as default, to change the priority of fontconfig config.
    • Update langpacks to update dependencies
    • Update comps to update default fonts sets
    • Update lorax templates
  • Other developers: Nothing
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives: Nothing

Upgrade/compatibility impact

The migration will be done by updating langpacks. after upgrading and rebooting, the default font will be Noto instead of Khmer OS System/Waree.

Since this change aims to switch non-variable fonts to variable fonts, it may not works with legacy applications as expected such as missing some variants. in that case, you can install non-variable fonts packages. the package name will be similar and simply drop -vf from the variable fonts packages.

How To Test

  • This change can be simply tested by fc-match command like fc-match sans:lang=<your langauge>, fc-match serif:lang=<your language> and fc-match monospace:lang=<your language>. :lang=km for Khmer and :lang=th for Thai.
  • Test the text rendering in your favorite application, which use the system default font.

User Experience

Khmer/Thai Users will see the default font is changed to Noto by this change.

Dependencies

Only khmer-os-system-fonts, thai-scalable-waree-fonts, langpacks, and fontconfig are required to update. Other packages which explicitly has a dependency to above fonts packages are basically optional to update.

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) Revert the relevant packages updated.
  • Contingency deadline: Beta freeze
  • Blocks release? No

Documentation

None

Release Notes

The default fonts for Khmer and Thai will be Google Noto Fonts to keep consistency on the text rendering and to provide better quality among languages.