Index: components/test_runner/resources/fonts/fonts.conf |
diff --git a/components/test_runner/resources/fonts/fonts.conf b/components/test_runner/resources/fonts/fonts.conf |
index d337b12431d40127639bd7703d963f11d268412c..7ed6e12e17eb36f10b9e1fb9d926ce32fee9a0d7 100644 |
--- a/components/test_runner/resources/fonts/fonts.conf |
+++ b/components/test_runner/resources/fonts/fonts.conf |
@@ -249,4 +249,29 @@ |
</edit> |
</match> |
+ <!-- When we encounter a character that the current font doesn't |
+ support, gfx::GetFallbackFontForChar() returns the first font |
+ that does have a glyph for the character. The list of fonts is |
+ sorted by a pattern that includes the current locale, but doesn't |
+ include a font family (which means that the fallback font depends |
+ on the locale but not on the current font). |
+ |
+ DejaVu Sans is commonly the only font that supports some |
+ characters, such as "⇧", and even when other candidates are |
+ available, DejaVu Sans is commonly first among them, because of |
+ the way Fontconfig is ordinarily configured. For example, the |
+ configuration in the Fonconfig source lists DejaVu Sans under the |
+ sans-serif generic family, and appends sans-serif to patterns |
+ that don't already include a generic family (such as the pattern |
+ in gfx::GetFallbackFontForChar()). |
+ |
+ To get the same fallback font in the layout tests, we could |
+ duplicate this configuration here, or more directly, simply |
+ append DejaVu Sans to all patterns. --> |
+ <match target="pattern"> |
+ <edit name="family" mode="append_last"> |
+ <string>DejaVu Sans</string> |
+ </edit> |
+ </match> |
+ |
</fontconfig> |