Update variable font packages

* Use no VF in family name version of ttf for -vf packages.
* Adjust properties in VF to avoid confusion.
This commit is contained in:
Akira TAGOH 2024-05-14 11:23:43 +09:00 committed by Akira TAGOH
parent 7362b7c36d
commit c5c1f34048
7 changed files with 410 additions and 27 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- Generic name assignment -->
<alias>

View File

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<!--
-- This scan pattern aims to correct properties to:
-- * keep consistency between RedHatDisplay and RedHatDisplay-Italic
-- * provide single family name e.g. Red Hat Display
-- * provide single familylang because of the above
-- * provide single style name e.g. like :family=Red Hat Display:style=Light
-- but :family=Red Hat Display Light:style=Regular
-- * provide single stylelang because of the above
-- * set different family name of the variable font pattern to avoid conflict
-->
<fontconfig>
<!-- Try to workaround broken family name in RedHatDisplay-Italic.ttf -->
<!-- For Light -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Display</string>
</test>
<test name="style" compare="eq">
<string>Italic</string>
</test>
<test name="style" compare="eq">
<string>Light Italic</string>
</test>
<edit name="style" mode="delete" /> <!-- Drop Italic -->
<edit name="stylelang" mode="delete" /> <!-- Drop all stylelang once -->
<edit name="stylelang" mode="append"> <!-- Add single stylelang again -->
<string>en</string>
</edit>
</match>
<!-- For variable font -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Display</string>
</test>
<test name="slant">
<const>italic</const>
</test>
<test name="variable">
<bool>true</bool>
</test>
<edit name="family" mode="assign">
<!-- Set Italic in family name to avoid confusion for Red Hat Display -->
<string>Red Hat Display Italic</string>
</edit>
</match>
<!-- Try to workaround broken family name in RedHatDisplay.ttf -->
<!-- For Light -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Display</string>
</test>
<test name="style" compare="eq">
<string>Regular</string>
</test>
<test name="style" compare="eq">
<string>Light</string>
</test>
<edit name="style" mode="delete" /> <!-- Drop Regular -->
<edit name="stylelang" mode="delete" /> <!-- Drop all stylelang once -->
<edit name="stylelang" mode="append"> <!-- Add single stylelang again -->
<string>en</string>
</edit>
</match>
<!-- Generic name assignment -->
<alias>
<family>Red Hat Display</family>
<default>
<family>sans-serif</family>
</default>
</alias>
<!-- Generic name aliasing -->
<alias>
<family>sans-serif</family>
<prefer>
<family>Red Hat Display</family>
</prefer>
</alias>
</fontconfig>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- Generic name assignment -->
<alias>

View File

@ -1,28 +1,248 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<!--
-- This scan pattern aims to correct properties to:
-- * keep consistency between RedHatMono and RedHatMono-Italic
-- * provide single family name e.g. Red Hat Mono
-- * provide single familylang because of the above
-- * provide single style name e.g. like :family=Red Hat Mono:style=Light
-- but :family=Red Hat Mono Light:style=Regular
-- * provide single stylelang because of the above
-- * set different family name of the variable font pattern to avoid conflict
-->
<fontconfig>
<!-- Try to workaround broken family name in RedHatMonoVF.ttf -->
<!-- Try to workaround broken family name in RedHatMono.ttf -->
<!-- For Light -->
<match target="scan">
<test name="style">
<test name="family" compare="eq">
<string>Red Hat Mono Light</string>
</test>
<test name="family" compare="eq">
<string>Red Hat Mono</string>
</test>
<test name="style" compare="eq">
<string>Regular</string>
</test>
<test name="style" compare="eq">
<string>Light</string>
</test>
<edit name="family" mode="delete" /> <!-- Drop Red Hat Mono Light -->
<edit name="familylang" mode="delete" /> <!-- Drop familylang once -->
<edit name="familylang" mode="append"> <!-- Add single familylang again -->
<string>en</string>
</edit>
<edit name="stylelang" mode="delete" /> <!-- Drop stylelang once -->
<edit name="stylelang" mode="append"> <!-- Add single stylelang again -->
<string>en</string>
</edit>
<edit name="style" mode="delete" /> <!-- Drop Regular -->
</match>
<!-- For Medium -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Mono Light</string>
</test>
<test name="family" compare="eq">
<string>Red Hat Mono</string>
</test>
<test name="style" compare="eq">
<string>Medium</string>
</test>
<test name="family">
<string>Red Hat Mono VF Light</string>
</test>
<edit name="family" mode="prepend">
<string>Red Hat Mono VF</string>
<edit name="family" mode="delete" /> <!-- Drop Red Hat Mono Light -->
<edit name="familylang" mode="delete" /> <!-- Drop familylang once -->
<edit name="familylang" mode="append"> <!-- Add single familylang again -->
<string>en</string>
</edit>
</match>
<!-- Try to workaround broken family name in RedHatMonoVF-Italic.ttf -->
<!-- For SemiBold -->
<match target="scan">
<test name="style">
<test name="family" compare="eq">
<string>Red Hat Mono Light</string>
</test>
<test name="family" compare="eq">
<string>Red Hat Mono</string>
</test>
<test name="style" compare="eq">
<string>SemiBold</string>
</test>
<edit name="family" mode="delete" /> <!-- Drop Red Hat Mono Light -->
<edit name="familylang" mode="delete" /> <!-- Drop familylang once -->
<edit name="familylang" mode="append"> <!-- Add single familylang again -->
<string>en</string>
</edit>
</match>
<!-- For Bold -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Mono Light</string>
</test>
<test name="family" compare="eq">
<string>Red Hat Mono</string>
</test>
<test name="style" compare="eq">
<string>Bold</string>
</test>
<edit name="family" mode="delete" /> <!-- Drop Red Hat Mono Light -->
<edit name="familylang" mode="delete" /> <!-- Drop familylang once -->
<edit name="familylang" mode="append"> <!-- Add single familylang again -->
<string>en</string>
</edit>
</match>
<!-- For Regular -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Mono Light</string>
</test>
<test name="family" compare="eq">
<string>Red Hat Mono</string>
</test>
<test name="style" compare="eq">
<string>Regular</string>
</test>
<edit name="family" mode="delete" /> <!-- Drop Red Hat Mono Light -->
<edit name="familylang" mode="delete" /> <!-- Drop familylang once -->
<edit name="familylang" mode="append"> <!-- Add single familylang again -->
<string>en</string>
</edit>
</match>
<!-- For variable font -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Mono Light</string>
</test>
<test name="family" compare="eq">
<string>Red Hat Mono</string>
</test>
<test name="variable">
<bool>true</bool>
</test>
<edit name="family" mode="delete" /> <!-- Drop Red Hat Mono Light -->
<edit name="familylang" mode="delete" /> <!-- Drop familylang once -->
<edit name="familylang" mode="append"> <!-- Add single familylang again -->
<string>en</string>
</edit>
</match>
<!-- Try to workaround broken family name in RedHatMono-Italic.ttf -->
<!-- For Light -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Mono Light Italic</string>
</test>
<test name="family" compare="eq">
<string>Red Hat Mono</string>
</test>
<test name="style" compare="eq">
<string>Regular</string>
</test>
<test name="style" compare="eq">
<string>Light Italic</string>
</test>
<edit name="family" mode="delete" /> <!-- Drop Red Hat Mono Light Italic -->
<edit name="familylang" mode="delete" /> <!-- Drop familylang once -->
<edit name="familylang" mode="append"> <!-- Add single familylang again -->
<string>en</string>
</edit>
<edit name="stylelang" mode="delete" /> <!-- Drop stylelang once -->
<edit name="stylelang" mode="append"> <!-- Add single stylelang again -->
<string>en</string>
</edit>
<edit name="style" mode="delete" /> <!-- Drop Regular -->
</match>
<!-- For Medium -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Mono Light Italic</string>
</test>
<test name="family" compare="eq">
<string>Red Hat Mono</string>
</test>
<test name="style" compare="eq">
<string>Medium Italic</string>
</test>
<test name="family">
<string>Red Hat Mono VF Light Italic</string>
<edit name="family" mode="delete" /> <!-- Drop Red Hat Mono Light Italic -->
<edit name="familylang" mode="delete" /> <!-- Drop familylang once -->
<edit name="familylang" mode="append"> <!-- Add single familylang again -->
<string>en</string>
</edit>
</match>
<!-- For SemiBold -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Mono Light Italic</string>
</test>
<edit name="family" mode="prepend">
<string>Red Hat Mono VF</string>
<test name="family" compare="eq">
<string>Red Hat Mono</string>
</test>
<test name="style" compare="eq">
<string>SemiBold Italic</string>
</test>
<edit name="family" mode="delete" /> <!-- Drop Red Hat Mono Light Italic -->
<edit name="familylang" mode="delete" /> <!-- Drop familylang once -->
<edit name="familylang" mode="append"> <!-- Add single familylang again -->
<string>en</string>
</edit>
</match>
<!-- For Bold -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Mono Light Italic</string>
</test>
<test name="family" compare="eq">
<string>Red Hat Mono</string>
</test>
<test name="style" compare="eq">
<string>Bold Italic</string>
</test>
<edit name="family" mode="delete" /> <!-- Drop Red Hat Mono Light Italic -->
<edit name="familylang" mode="delete" /> <!-- Drop familylang once -->
<edit name="familylang" mode="append"> <!-- Add single familylang again -->
<string>en</string>
</edit>
</match>
<!-- For Regular -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Mono Light Italic</string>
</test>
<test name="family" compare="eq">
<string>Red Hat Mono</string>
</test>
<test name="style" compare="eq">
<string>Italic</string>
</test>
<edit name="family" mode="delete" /> <!-- Drop Red Hat Mono Light Italic -->
<edit name="familylang" mode="delete" /> <!-- Drop familylang once -->
<edit name="familylang" mode="append"> <!-- Add single familylang again -->
<string>en</string>
</edit>
</match>
<!-- For variable font -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Mono Light Italic</string>
</test>
<test name="variable">
<bool>true</bool>
</test>
<edit name="family" mode="assign">
<!-- Rewrite family name to Red Hat Mono Italic to avoid confusion for Red Hat Mono -->
<string>Red Hat Mono Italic</string>
</edit>
</match>
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Mono</string>
</test>
<test name="family" compare="eq">
<string>Red Hat Mono Italic</string>
</test>
<test name="variable">
<bool>true</bool>
</test>
<edit name="family" mode="delete" /> <!-- Drop Red Hat Mono -->
<edit name="familylang" mode="delete" /> <!-- Drop familylang once -->
<edit name="familylang" mode="append"> <!-- Add single familylang again -->
<string>en</string>
</edit>
</match>
<!-- Generic name assignment -->

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- Generic name assignment -->
<alias>

View File

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<!--
-- This scan pattern aims to correct properties to:
-- * keep consistency between RedHatText and RedHatText-Italic
-- * provide single family name e.g. Red Hat Text
-- * provide single familylang because of the above
-- * provide single style name e.g. like :family=Red Hat Text:style=Light
-- but :family=Red Hat Text Light:style=Regular
-- * provide single stylelang because of the above
-- * set different family name of the variable font pattern to avoid conflict
-->
<fontconfig>
<!-- Try to workaround broken family name in RedHatText-Italic.ttf -->
<!-- For Light -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Text</string>
</test>
<test name="style" compare="eq">
<string>Italic</string>
</test>
<test name="style" compare="eq">
<string>Light Italic</string>
</test>
<edit name="style" mode="delete" /> <!-- Drop Italic -->
<edit name="stylelang" mode="delete" /> <!-- Drop stylelang once -->
<edit name="stylelang" mode="append"> <!-- Add single stylelang again -->
<string>en</string>
</edit>
</match>
<!-- For variable font -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Text</string>
</test>
<test name="slant">
<const>italic</const>
</test>
<test name="variable">
<bool>true</bool>
</test>
<edit name="family" mode="assign">
<!-- Rewrite family name to Red Hat Text Italic to avoid confusion for Red Hat Text -->
<string>Red Hat Text Italic</string>
</edit>
</match>
<!-- Try to workaround broken family name in RedHatText.ttf -->
<!-- For Light -->
<match target="scan">
<test name="family" compare="eq">
<string>Red Hat Text</string>
</test>
<test name="style" compare="eq">
<string>Regular</string>
</test>
<test name="style" compare="eq">
<string>Light</string>
</test>
<edit name="style" mode="delete" /> <!-- Drop Regular -->
<edit name="stylelang" mode="delete" /> <!-- Drop stylelang once -->
<edit name="stylelang" mode="append"> <!-- Add single stylelang again -->
<string>en</string>
</edit>
</match>
<!-- Generic name assignment -->
<alias>
<family>Red Hat Text</family>
<default>
<family>sans-serif</family>
</default>
</alias>
<!-- Generic name aliasing -->
<alias>
<family>sans-serif</family>
<prefer>
<family>Red Hat Text</family>
</prefer>
</alias>
</fontconfig>

View File

@ -26,7 +26,7 @@ and designed by Jeremy Mickel / MCKL for the new Red Hat identity.
Name: %{fontname}-fonts
Version: 4.0.3
Release: 7%{?dist}
Release: 8%{?dist}
Summary: Red Hat Typeface fonts
# Only the metainfo files are CC-BY-SA
License: OFL-1.1-RFN and CC-BY-SA-4.0
@ -36,7 +36,9 @@ Source0: %{url}/archive/%{version}/%{projname}-%{version}.tar.gz
Source1: %{fontconf}-display-fontconfig.conf
Source2: %{fontconf}-text-fontconfig.conf
Source3: %{fontconf}-mono-fontconfig.conf
Source4: %{fontconf}-mono-vf-fontconfig.conf
Source4: %{fontconf}-display-vf-fontconfig.conf
Source5: %{fontconf}-text-vf-fontconfig.conf
Source6: %{fontconf}-mono-vf-fontconfig.conf
BuildArch: noarch
BuildRequires: %{_bindir}/appstream-util
@ -105,10 +107,7 @@ This package provides the variable font version of the Monospace fonts variant.
# Install fonts
install -m 0755 -d %{buildroot}%{_fontdir}
install -m 0644 -p fonts/*/static/otf/*.otf %{buildroot}%{_fontdir}
rm -f fonts/*/*\[wght\].ttf fonts/mono/RedHatMono{,-Italic}.ttf
for i in fonts/*/*Modified.ttf; do
rm ${i/Modified/}
done
rm -f fonts/*/*VF*.ttf fonts/mono/RedHatMono.ttf fonts/mono/RedHatMono-Italic.ttf
install -m 0755 -d %{buildroot}%{_fontdir}-vf
install -m 0644 -p fonts/*/*.ttf %{buildroot}%{_fontdir}-vf
@ -123,11 +122,11 @@ install -m 0644 -p %{SOURCE2} \
install -m 0644 -p %{SOURCE3} \
%{buildroot}%{_fontconfig_templatedir}/%{fontconf}-mono.conf
install -m 0644 -p %{SOURCE1} \
%{buildroot}%{_fontconfig_templatedir}/%{fontconf}-display-vf.conf
install -m 0644 -p %{SOURCE2} \
%{buildroot}%{_fontconfig_templatedir}/%{fontconf}-text-vf.conf
install -m 0644 -p %{SOURCE4} \
%{buildroot}%{_fontconfig_templatedir}/%{fontconf}-display-vf.conf
install -m 0644 -p %{SOURCE5} \
%{buildroot}%{_fontconfig_templatedir}/%{fontconf}-text-vf.conf
install -m 0644 -p %{SOURCE6} \
%{buildroot}%{_fontconfig_templatedir}/%{fontconf}-mono-vf.conf
for fconf in %{fontconf}-display %{fontconf}-text %{fontconf}-mono; do
@ -182,6 +181,10 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.metainf
%changelog
* Tue May 14 2024 Akira TAGOH <tagoh@redhat.com> - 4.0.3-8
- Use no VF in family name version of ttf for -vf packages.
- Adjust properties in VF to avoid confusion.
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild