Wiki - https://fedoraproject.org/wiki/Changes/SubstituteSansForMono
Discussion thread -
https://discussion.fedoraproject.org/t/f43-change-proposal-substitute-sans-for-mono-self-contained/155255

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 ==
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 ==

* Name: [[User:Tagoh|Akira TAGOH]]
* Email: tagoh AT redhat DOT com


== 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: N/A

* 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:
<pre>
<fontconfig>
  <match>
    <test name="family"><string>monospace</string></test>
    <test name="lang"><string>langcode-such-as-en</string></test>
    <edit name="family" mode="prepend"
binding="same"><string>family-name-you-prefer</string></edit>
  </match>
</fontconfig>
</pre>

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


== How To Test ==
To make sure this Change don't affect our default fontsets, we are
tracking the default font changes at
https://fedora-i18n.github.io/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:
<pre>
$ sudo dnf install fontquery
$ fontquery-diff --loose-comparison 43
</pre>

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)


== Documentation ==

N/A (not a System Wide Change)

== Release Notes ==


-- 
Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney

-- 
_______________________________________________
devel-announce mailing list -- devel-annou...@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-annou...@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue
-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to