F43 Change Proposal: Substitute Sans For Mono (self-contained)

Substitute Sans For Mono

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.

Wiki
Announced

Summary

Currently monospace fonts are implicitly substituted with sans-serif fonts by default configuration file in fontconfig if missing. However, this is unpredictable behavior and it just happened to work. this behavior might be changed once one install other font packages. This Change aims to make it predictable and assign a tentative default monospace font for languages which is missing them.

Owner

Detailed Description

We have the following langugages which don’t have a dedicated default monospace font:

  • Amharic
  • Arabic
  • Assamese
  • Bangla
  • Burmese
  • Georgian
  • Gujarati
  • Hebrew
  • Hindi
  • Kannada
  • Khmer
  • Malayalam
  • Marathi
  • Odia
  • Persian
  • Punjabi
  • Sinhala
  • Tamil
  • Telugu
  • Thai
  • Urdu

They are what we currently have a translation for anaconda and that implies that we might have more.

The font selection behavior of monospace for those languages might be changed when other font packages for them is installed. That isn’t a good experience. We have never ever added substitution config for monospace to such sans-serif font packages because they are NOT a monospace font. That’s true but the actual behavior isn’t like it. fontconfig tries to substitute a font to avoid a missing font situation.

So this Change don’t change anything in most cases. this just make sure we have same behavior with default fontsets no matter what extra font packages is installed. We can drop it once we have a dedicated monospace font package for them.

Feedback

Benefit to Fedora

This Change provides consistent behavior to users for monospace font selection.

Scope

  • Proposal owners:

    • Add substitution config for monospace to the following font packages:
      • google-noto-sans-arabic-vf-fonts
      • google-noto-sans-bengali-vf-fonts
      • google-noto-sans-devanagari-vf-fonts
      • google-noto-sans-ethiopic-vf-fonts
      • google-noto-sans-georgian-vf-fonts
      • google-noto-sans-gujarati-vf-fonts
      • google-noto-sans-hebrew-vf-fonts
      • google-noto-sans-kannada-vf-fonts
      • google-noto-sans-khmer-vf-fonts
      • google-noto-sans-oriya-vf-fonts
      • google-noto-sans-sinhala-vf-fonts
      • google-noto-sans-tamil-vf-fonts
      • google-noto-sans-telugu-vf-fonts
      • google-noto-sans-thai-vf-fonts
      • paktype-naskh-basic-fonts
      • rit-meera-new-fonts
      • sil-padauk-fonts
      • vazirmatn-vf-fonts
  • Other developers: N/A

  • Release engineering: #Releng issue number

  • Policies and guidelines: N/A (not needed for this Change)

  • Trademark approval: N/A (not needed for this Change)

  • Alignment with the Fedora Strategy: N/A

Upgrade/compatibility impact

The default monospace font might be changed for those who rely on this unpredictable behavior. To get this back, they will need to write their own extra fontconfig configuration file to override the default monospace font such as:

monospace langcode-such-as-en family-name-you-prefer

Or use fonts-tweak-tool to change the default monospace font for a certain language.

Early Testing (Optional)

Do you require ‘QA Blueprint’ support? N

How To Test

To make sure this Change don’t affect our default fontsets, we are tracking the default font changes at Font Status page | font-status . the difference will be visible there if something is changed. For extra font packages, describing all the patterns here may be difficult though, you could try installing langpacks-fonts-ll_cc and then:

$ sudo dnf install fontquery $ fontquery-diff --loose-comparison 43

Assuming that you are running on Fedora 43 with some extra font packages that pulled in by langpacks. the above command will show you difference between default fontsets and your local machine.

User Experience

This Change don’t affect most users who just use default fontsets or experts who use a custom font with proper substitution config to change their default monospace font. this may affects an user who use this unpredictable behavior to change the default monospace font, particularly without having a substitution config explicitly.

Dependencies

No

Contingency Plan

No contingency plans for this Change because this won’t change anything compared to current expected behavior with minimal defult fontsets. We simply need to fix something in extra font packages which affect our default fontsets.

  • 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

Last edited by @amoloney 2025-06-07T13:45:59Z

Last edited by @amoloney 2025-06-07T13:45:59Z

1 Like

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.

We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what you’d like to express, please simply give that post a :heart: instead of reiterating. You can even do this by email, by replying with the heart emoji or just “+1”. This will make long topics easier to follow.

Please note that this is an advisory “straw poll” meant to gauge sentiment. It isn’t a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.