redhat-fonts/64-redhat-mono-vf-fontconfig.conf
Akira TAGOH c5c1f34048 Update variable font packages
* Use no VF in family name version of ttf for -vf packages.
* Adjust properties in VF to avoid confusion.
2024-06-04 17:19:12 +09:00

263 lines
8.9 KiB
XML

<?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 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 RedHatMono.ttf -->
<!-- For Light -->
<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>
<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>
<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 SemiBold -->
<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>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>
<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>
<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 -->
<alias>
<family>Red Hat Mono</family>
<default>
<family>monospace</family>
</default>
</alias>
<!-- Generic name aliasing -->
<alias>
<family>monospace</family>
<prefer>
<family>Red Hat Mono</family>
</prefer>
</alias>
</fontconfig>