From Fedora Project Wiki
 
(18 intermediate revisions by 2 users not shown)
Line 17: Line 17:
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: <tagoh AT redhat DOT com>
* Email: <tagoh AT redhat DOT com>
* Name: [[User:Pnemade|Parag Nemade]]
* Email: <pnemade AT redhat DOT com>
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
Line 48: Line 50:
== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
Currently there are multiple sources to manage what font packages should be installed for a Fedora release and spins, such as comps, langpacks, lorax, workstation-ostree-config, and fedora-kickstarts. This sometimes makes compilcated to update the default fonts.
Currently there are multiple sources to manage what font packages should be installed for a Fedora release and spins, such as comps, langpacks, lorax, workstation-ostree-config, and fedora-kickstarts, which makes it complicated to make default default fonts changes.
So we want to introduce new meta packages into langpacks and replace a list of font packages with it. We expect to improve such situations by updating langpacks only then.
So we want to introduce new meta packages into langpacks and replace a list of font packages with it. We expect to improve such situations by updating langpacks only then.


* langpacks-font-core-sans, langpacks-fonts-core-serif, langpacks-fonts-core-monospace, langpacks-fonts-core-emoji
* default-fonts-core-sans, default-fonts-core-serif, default-fonts-core-mono, default-fonts-core-emoji, default-fonts-core-math
** Metapackages to pull the default font for Latin characters and emoji
** Metapackages to pull the default font for Latin characters and emoji
* langpacks-font-default-cjk-sans, langpacks-fonts-default-cjk-serif, langpacks-fonts-default-cjk-monospace
* default-fonts-core
** Metapackages to pull  the default font for CJK
** Metapackage to pull all the default-fonts-core-{sans,serif,mono,emoji} packages
* langpacks-font-default-sans, langpacks-fonts-default-serif, langpacks-fonts-default-monospace
* default-fonts-cjk-sans, default-fonts-cjk-serif, default-fonts-cjk-mono
** Metapackages to pull the default fonts for other languages
** Metapackages to pull  the default fonts for CJK
* langpacks-font-extra-<language code>
* default-fonts-cjk
** Metapackages to pull extra fonts for certain languages if any
** Metapackage to pull the default-fonts-cjk-{sans,serif,mono} packages
* default-fonts-other-sans, default-fonts-other-serif, default-fonts-other-mono
** Metapackages to pull the default fonts for non-CJK languages
* default-fonts-other
** Metapackage to pull the default-fonts-other-{sans,serif,mono} packages.
* default-fonts-extra-<language code>
** Metapackages to pull a default font and extra fonts for certain languages if any


== Feedback ==
== Feedback ==
Line 96: Line 104:
== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners:
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
** update the fedora-comps @fonts group and workstation-ostree-config to use the new default-fonts packages
** fontconfig package default font dependency to be updated
** update lorax to pull in default-fonts


* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 105: Line 115:
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->


* Policies and guidelines: N/A (not needed for this Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines:
** Fonts Packaging Policy should be updated to not mention `font(:lang=en)` but instead `default-fonts-core` or so.
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. Please submit a pull request with the proposed changes before submitting your Change proposal. -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. Please submit a pull request with the proposed changes before submitting your Change proposal. -->


Line 115: Line 126:


== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==
Using default-fonts meta-packages means that users will get upgraded to new default fonts seamlessly going forward.
This should provide a more reliable font experience since default fonts should have higher fontconfig priority.
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


== How To Test ==
== How To Test ==
Line 134: Line 148:
3. What are the expected results of those actions?
3. What are the expected results of those actions?
-->
-->
# Install the above meta packages
# See what font packages will be pulled in


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


== User Experience ==
== User Experience ==
Line 149: Line 165:
  - Green has been scientifically proven to be the most relaxing color. The move to a default background color of green with green text will result in Fedora users being the most relaxed users of any operating system.
  - Green has been scientifically proven to be the most relaxing color. The move to a default background color of green with green text will result in Fedora users being the most relaxed users of any operating system.
-->
-->
Users will automatically be moved to any new/changed default system fonts when they upgrade to a newer version of Fedora.
It will be easier for users to remove CJK or non-core fonts from their system if they really want to, or to add them in minimal installations.


== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


== Contingency Plan ==
== Contingency Plan ==

Latest revision as of 13:24, 9 June 2023


Improve Default Font Handling

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Summary

This aims to make default fonts easier to update for all the variants on Fedora and reduce the maintenance costs to apply for them.

Owner


Current status

  • Targeted release: Fedora Linux 39
  • Last updated: 2023-06-09
  • [<will be assigned by the Wrangler> devel thread]
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

Currently there are multiple sources to manage what font packages should be installed for a Fedora release and spins, such as comps, langpacks, lorax, workstation-ostree-config, and fedora-kickstarts, which makes it complicated to make default default fonts changes. So we want to introduce new meta packages into langpacks and replace a list of font packages with it. We expect to improve such situations by updating langpacks only then.

  • default-fonts-core-sans, default-fonts-core-serif, default-fonts-core-mono, default-fonts-core-emoji, default-fonts-core-math
    • Metapackages to pull the default font for Latin characters and emoji
  • default-fonts-core
    • Metapackage to pull all the default-fonts-core-{sans,serif,mono,emoji} packages
  • default-fonts-cjk-sans, default-fonts-cjk-serif, default-fonts-cjk-mono
    • Metapackages to pull the default fonts for CJK
  • default-fonts-cjk
    • Metapackage to pull the default-fonts-cjk-{sans,serif,mono} packages
  • default-fonts-other-sans, default-fonts-other-serif, default-fonts-other-mono
    • Metapackages to pull the default fonts for non-CJK languages
  • default-fonts-other
    • Metapackage to pull the default-fonts-other-{sans,serif,mono} packages.
  • default-fonts-extra-<language code>
    • Metapackages to pull a default font and extra fonts for certain languages if any

Feedback

Benefit to Fedora

This Change provides the easier way to manage, and install our default fonts on Fedora. In current package sets, langpacks offers non-fonts packages to be installed even though one don't want to install them. After this Change, one don't need to install those extra dependencies for the purpose of the font installation.


Scope

  • Proposal owners:
    • update the fedora-comps @fonts group and workstation-ostree-config to use the new default-fonts packages
    • fontconfig package default font dependency to be updated
    • update lorax to pull in default-fonts
  • Other developers:
  • Policies and guidelines:
    • Fonts Packaging Policy should be updated to not mention font(:lang=en) but instead default-fonts-core or so.
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Community Initiatives:

Upgrade/compatibility impact

Using default-fonts meta-packages means that users will get upgraded to new default fonts seamlessly going forward.

This should provide a more reliable font experience since default fonts should have higher fontconfig priority.


How To Test

  1. Install the above meta packages
  2. See what font packages will be pulled in


User Experience

Users will automatically be moved to any new/changed default system fonts when they upgrade to a newer version of Fedora.

It will be easier for users to remove CJK or non-core fonts from their system if they really want to, or to add them in minimal installations.

Dependencies

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No


Documentation

N/A (not a System Wide Change)

Release Notes