| <?xml version="1.0"?> |
| <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> |
| <fontconfig> |
| |
| <!-- Due to patent (http://freetype.sourceforge.net/patents.html) |
| issues hinting gives different results depending on the |
| freetype version of the linux distribution, avoiding hinting |
| gives more consistent results. When all the distributions |
| release freetype the 2.4, which enables by default the |
| hinting method that was patented, we could undo this change |
| and try the hinting again. --> |
| <match target="font"> |
| <edit name="hinting" mode="assign"> |
| <bool>false</bool> |
| </edit> |
| </match> |
| |
| <!-- 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> |
| |
| <!-- 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> |
| |
| <!-- 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> |
| |
| <config> |
| <!-- These are the default Unicode chars that are expected to be blank |
| in fonts. All other blank chars are assumed to be broken and won't |
| appear in the resulting charsets --> |
| <blank> |
| <int>0x0020</int> <!-- SPACE --> |
| <int>0x00A0</int> <!-- NO-BREAK SPACE --> |
| <int>0x00AD</int> <!-- SOFT HYPHEN --> |
| <int>0x034F</int> <!-- COMBINING GRAPHEME JOINER --> |
| <int>0x0600</int> <!-- ARABIC NUMBER SIGN --> |
| <int>0x0601</int> <!-- ARABIC SIGN SANAH --> |
| <int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER --> |
| <int>0x0603</int> <!-- ARABIC SIGN SAFHA --> |
| <int>0x06DD</int> <!-- ARABIC END OF AYAH --> |
| <int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK --> |
| <int>0x115F</int> <!-- HANGUL CHOSEONG FILLER --> |
| <int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER --> |
| <int>0x1680</int> <!-- OGHAM SPACE MARK --> |
| <int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ --> |
| <int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA --> |
| <int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR --> |
| <int>0x2000</int> <!-- EN QUAD --> |
| <int>0x2001</int> <!-- EM QUAD --> |
| <int>0x2002</int> <!-- EN SPACE --> |
| <int>0x2003</int> <!-- EM SPACE --> |
| <int>0x2004</int> <!-- THREE-PER-EM SPACE --> |
| <int>0x2005</int> <!-- FOUR-PER-EM SPACE --> |
| <int>0x2006</int> <!-- SIX-PER-EM SPACE --> |
| <int>0x2007</int> <!-- FIGURE SPACE --> |
| <int>0x2008</int> <!-- PUNCTUATION SPACE --> |
| <int>0x2009</int> <!-- THIN SPACE --> |
| <int>0x200A</int> <!-- HAIR SPACE --> |
| <int>0x200B</int> <!-- ZERO WIDTH SPACE --> |
| <int>0x200C</int> <!-- ZERO WIDTH NON-JOINER --> |
| <int>0x200D</int> <!-- ZERO WIDTH JOINER --> |
| <int>0x200E</int> <!-- LEFT-TO-RIGHT MARK --> |
| <int>0x200F</int> <!-- RIGHT-TO-LEFT MARK --> |
| <int>0x2028</int> <!-- LINE SEPARATOR --> |
| <int>0x2029</int> <!-- PARAGRAPH SEPARATOR --> |
| <int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING --> |
| <int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING --> |
| <int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING --> |
| <int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE --> |
| <int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE --> |
| <int>0x202F</int> <!-- NARROW NO-BREAK SPACE --> |
| <int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE --> |
| <int>0x2060</int> <!-- WORD JOINER --> |
| <int>0x2061</int> <!-- FUNCTION APPLICATION --> |
| <int>0x2062</int> <!-- INVISIBLE TIMES --> |
| <int>0x2063</int> <!-- INVISIBLE SEPARATOR --> |
| <int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING --> |
| <int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING --> |
| <int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING --> |
| <int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING --> |
| <int>0x206E</int> <!-- NATIONAL DIGIT SHAPES --> |
| <int>0x206F</int> <!-- NOMINAL DIGIT SHAPES --> |
| <int>0x3000</int> <!-- IDEOGRAPHIC SPACE --> |
| <int>0x3164</int> <!-- HANGUL FILLER --> |
| <int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE --> |
| <int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER --> |
| <int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR --> |
| <int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR --> |
| <int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR --> |
| </blank> |
| </config> |
| </fontconfig> |