blob: d77899afd9de65576c3f5c12ac488cb6276667c7 [file] [log] [blame]
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- This system may have turned off selection of bitmap fonts, but
we must turn it on again, because we want to be able to test that
bitmap fonts with no valid encodings are *never* selected regardless
of the Fontconfig settings. So force Fontconfig to select our cruddy
bitmap font -->
<selectfont>
<acceptfont>
<pattern>
<patelt name="family">
<string>FontWithNoValidEncoding</string>
</patelt>
</pattern>
</acceptfont>
</selectfont>
<!-- The sans-serif font should be Liberation Serif -->
<match target="pattern">
<test qual="any" name="family">
<string>serif</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Serif</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>Times</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Serif</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>Times New Roman</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Serif</string>
</edit>
</match>
<!-- Until we find good fonts to use for cursive and fantasy
just use our serif font. -->
<match target="pattern">
<test qual="any" name="family">
<string>cursive</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Serif</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>fantasy</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Serif</string>
</edit>
</match>
<!-- The sans-serif font should be Liberation Sans -->
<match target="pattern">
<test qual="any" name="family">
<string>sans serif</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Sans</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>sans</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Sans</string>
</edit>
</match>
<!-- We need to ensure that layout tests that use "Helvetica" don't
fall back to the default serif font -->
<match target="pattern">
<test qual="any" name="family">
<string>Helvetica</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Sans</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>Arial</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Sans</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>Lucida Grande</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Sans</string>
</edit>
</match>
<!-- The Monospace font should be Liberation Mono -->
<match target="pattern">
<test qual="any" name="family">
<string>monospace</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Mono</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Mono</string>
</edit>
</match>
<!-- We need to ensure that layout tests that use "Courier", "Courier New",
and "Monaco" (all monospace fonts) don't fall back to the default
serif font -->
<match target="pattern">
<test qual="any" name="family">
<string>Courier</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Mono</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>Courier New</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Mono</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>Monaco</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Mono</string>
</edit>
</match>
<!-- Apple Color Emoji should be Noto Color Emoji -->
<match target="pattern">
<test qual="any" name="family">
<string>Apple Color Emoji</string>
</test>
<edit name="family" mode="assign">
<string>Noto Color Emoji</string>
</edit>
</match>
<!-- The following hinting specializations are adapted from those in the
Chromium test_shell. We try to duplicate their incredibly thorough
testing here -->
<match target="pattern">
<test name="family" compare="eq">
<string>NonAntiAliasedSans</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Sans</string>
</edit>
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="pattern">
<test name="family" compare="eq">
<string>SlightHintedSerif</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Serif</string>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>hintslight</const>
</edit>
</match>
<match target="pattern">
<test name="family" compare="eq">
<string>NonHintedSans</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Sans</string>
</edit>
<!-- These deliberately contradict each other. The 'hinting' preference
should take priority -->
<edit name="hintstyle" mode="assign">
<const>hintfull</const>
</edit>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="pattern">
<test name="family" compare="eq">
<string>AutohintedSerif</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Serif</string>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="autohint" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>hintmedium</const>
</edit>
</match>
<match target="pattern">
<test name="family" compare="eq">
<string>HintedSerif</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Serif</string>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>hintmedium</const>
</edit>
</match>
<match target="pattern">
<test name="family" compare="eq">
<string>FullAndAutoHintedSerif</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Serif</string>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="autohint" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>hintfull</const>
</edit>
</match>
<match target="pattern">
<test name="family" compare="eq">
<string>SubpixelEnabledSans</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Sans</string>
</edit>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
</match>
<match target="pattern">
<test name="family" compare="eq">
<string>SubpixelDisabledSans</string>
</test>
<edit name="family" mode="assign">
<string>Liberation Sans</string>
</edit>
<edit name="rgba" mode="assign">
<const>none</const>
</edit>
</match>
<!-- We need to enable simulated bold to for DejaVu Serif to ensure that we interpret
this property correctly in: platform/gtk/fonts/fontconfig-synthetic-bold.html -->
<match target="font">
<test qual="any" name="family">
<string>DejaVu Serif</string>
</test>
<test name="weight" compare="less_eq">
<const>medium</const>
</test>
<test target="pattern" name="weight" compare="more">
<const>medium</const>
</test>
<edit name="embolden" mode="assign">
<bool>true</bool>
</edit>
<edit name="weight" mode="assign">
<const>bold</const>
</edit>
</match>
<!-- We need to enable simulated oblique to for DejaVu Serif to ensure that we interpret
this property correctly in: platform/gtk/fonts/fontconfig-synthetic-oblique.html -->
<match target="font">
<test qual="any" name="family">
<string>DejaVu Serif</string>
</test>
<test name="slant">
<const>roman</const>
</test>
<test target="pattern" name="slant" compare="not_eq">
<const>roman</const>
</test>
<edit name="matrix" mode="assign">
<times>
<name>matrix</name>
<matrix><double>1</double><double>0.2</double>
<double>0</double><double>1</double>
</matrix>
</times>
</edit>
<edit name="slant" mode="assign">
<const>oblique</const>
</edit>
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>
<!-- These fonts should be treated as identical by CSS font fallback. -->
<alias binding="same">
<family>FamilyStrongAliasedToFreeMono</family>
<accept>
<family>FreeMono</family>
</accept>
</alias>
<!-- These fonts should NOT be treated as identical by CSS font fallback. -->
<alias>
<family>FamilyWeakAliasedToFreeMono</family>
<accept>
<family>FreeMono</family>
</accept>
</alias>
<!-- If this font doesn't have a family name we are falling back. The fallback
font will certainly be one of the DejaVu fonts that we have in our
collection since they have a wide range of characters. Fontconfig might
choose DejaVu Sans or DejaVu Serif depending on the system, so we force
the use of DejaVu Sans in these situations to maintain consistency. -->
<match target="pattern">
<test qual="all" name="family" compare="eq">
<string></string>
</test>
<edit name="family" mode="append_last">
<string>DejaVu Sans</string>
</edit>
</match>
</fontconfig>