Index: ui/gfx/font_render_params_linux_unittest.cc |
diff --git a/ui/gfx/font_render_params_linux_unittest.cc b/ui/gfx/font_render_params_linux_unittest.cc |
index a7924833234db3646a4808c978e956041878191d..a473f34cce41420814560cb620cffd528703ccbc 100644 |
--- a/ui/gfx/font_render_params_linux_unittest.cc |
+++ b/ui/gfx/font_render_params_linux_unittest.cc |
@@ -158,18 +158,19 @@ TEST_F(FontRenderParamsTest, Size) { |
TEST_F(FontRenderParamsTest, Style) { |
ASSERT_TRUE(LoadSystemFont("arial.ttf")); |
- // Load a config that disables antialiasing for bold text and disables |
+ // Load a config that disables subpixel rendering for bold text and disables |
// hinting for italic text. |
ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), |
std::string(kFontconfigFileHeader) + |
kFontconfigMatchHeader + |
CreateFontconfigEditStanza("antialias", "bool", "true") + |
CreateFontconfigEditStanza("hinting", "bool", "true") + |
- CreateFontconfigEditStanza("hintstyle", "const", "hintfull") + |
+ CreateFontconfigEditStanza("hintstyle", "const", "hintslight") + |
+ CreateFontconfigEditStanza("rgba", "const", "rgb") + |
kFontconfigMatchFooter + |
kFontconfigMatchHeader + |
CreateFontconfigTestStanza("weight", "eq", "const", "bold") + |
- CreateFontconfigEditStanza("antialias", "bool", "false") + |
+ CreateFontconfigEditStanza("rgba", "const", "none") + |
kFontconfigMatchFooter + |
kFontconfigMatchHeader + |
CreateFontconfigTestStanza("slant", "eq", "const", "italic") + |
@@ -180,23 +181,27 @@ TEST_F(FontRenderParamsTest, Style) { |
FontRenderParamsQuery query(false); |
query.style = Font::NORMAL; |
FontRenderParams params = GetFontRenderParams(query, NULL); |
- EXPECT_TRUE(params.antialiasing); |
- EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting); |
+ EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting); |
+ EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB, |
+ params.subpixel_rendering); |
query.style = Font::BOLD; |
params = GetFontRenderParams(query, NULL); |
- EXPECT_FALSE(params.antialiasing); |
- EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting); |
+ EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting); |
+ EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, |
+ params.subpixel_rendering); |
query.style = Font::ITALIC; |
params = GetFontRenderParams(query, NULL); |
- EXPECT_TRUE(params.antialiasing); |
EXPECT_EQ(FontRenderParams::HINTING_NONE, params.hinting); |
+ EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB, |
+ params.subpixel_rendering); |
query.style = Font::BOLD | Font::ITALIC; |
params = GetFontRenderParams(query, NULL); |
- EXPECT_FALSE(params.antialiasing); |
EXPECT_EQ(FontRenderParams::HINTING_NONE, params.hinting); |
+ EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, |
+ params.subpixel_rendering); |
} |
TEST_F(FontRenderParamsTest, Scalable) { |
@@ -242,6 +247,31 @@ TEST_F(FontRenderParamsTest, UseBitmaps) { |
EXPECT_TRUE(params.use_bitmaps); |
} |
+TEST_F(FontRenderParamsTest, ForceFullHintingWhenAntialiasingIsDisabled) { |
+ // Load a config that disables antialiasing and hinting while requesting |
+ // subpixel rendering. |
+ ASSERT_TRUE(LoadSystemFont("arial.ttf")); |
+ ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(), |
+ std::string(kFontconfigFileHeader) + |
+ kFontconfigMatchHeader + |
+ CreateFontconfigEditStanza("antialias", "bool", "false") + |
+ CreateFontconfigEditStanza("hinting", "bool", "false") + |
+ CreateFontconfigEditStanza("hintstyle", "const", "hintnone") + |
+ CreateFontconfigEditStanza("rgba", "const", "rgb") + |
+ kFontconfigMatchFooter + |
+ kFontconfigFileFooter)); |
+ |
+ // Full hinting should be forced. See the comment in GetFontRenderParams() for |
+ // more information. |
+ FontRenderParams params = GetFontRenderParams( |
+ FontRenderParamsQuery(false), NULL); |
+ EXPECT_FALSE(params.antialiasing); |
+ EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting); |
+ EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_NONE, |
+ params.subpixel_rendering); |
+ EXPECT_FALSE(params.subpixel_positioning); |
+} |
+ |
TEST_F(FontRenderParamsTest, OnlySetConfiguredValues) { |
// Configure the LinuxFontDelegate (which queries GtkSettings on desktop |
// Linux) to request subpixel rendering. |