class TestFontDelegate : public LinuxFontDelegate {
public:
TestFontDelegate() {}
- virtual ~TestFontDelegate() {}
+ ~TestFontDelegate() override {}
void set_params(const FontRenderParams& params) { params_ = params; }
- virtual FontRenderParams GetDefaultFontRenderParams() const OVERRIDE {
+ FontRenderParams GetDefaultFontRenderParams() const override {
return params_;
}
- virtual scoped_ptr<ScopedPangoFontDescription>
- GetDefaultPangoFontDescription() const OVERRIDE {
+ scoped_ptr<ScopedPangoFontDescription> GetDefaultPangoFontDescription()
+ const override {
NOTIMPLEMENTED();
return scoped_ptr<ScopedPangoFontDescription>();
}
- virtual double GetFontDPI() const OVERRIDE {
+ double GetFontDPI() const override {
NOTIMPLEMENTED();
return 96.0;
}
ClearFontRenderParamsCacheForTest();
}
- virtual ~FontRenderParamsTest() {
+ ~FontRenderParamsTest() override {
LinuxFontDelegate::SetInstance(
const_cast<LinuxFontDelegate*>(original_font_delegate_));
TearDownFontconfig();
};
TEST_F(FontRenderParamsTest, Default) {
- // Fontconfig needs to know about at least one font to return a match.
ASSERT_TRUE(LoadSystemFont("arial.ttf"));
ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
+ CreateFontconfigEditStanza("antialias", "bool", "true") +
+ CreateFontconfigEditStanza("autohint", "bool", "true") +
+ CreateFontconfigEditStanza("hinting", "bool", "true") +
+ CreateFontconfigEditStanza("hintstyle", "const", "hintslight") +
+ CreateFontconfigEditStanza("rgba", "const", "rgb") +
+ kFontconfigMatchFooter +
+ // Add a font match for Arial; it shouldn't be used when querying for
+ // default settings: http://crbug.com/421247
+ kFontconfigMatchFontHeader +
+ CreateFontconfigTestStanza("family", "eq", "string", "Arial") +
CreateFontconfigEditStanza("antialias", "bool", "true") +
CreateFontconfigEditStanza("autohint", "bool", "false") +
CreateFontconfigEditStanza("hinting", "bool", "true") +
CreateFontconfigEditStanza("hintstyle", "const", "hintfull") +
- CreateFontconfigEditStanza("rgba", "const", "rgb") +
kFontconfigMatchFooter +
kFontconfigFileFooter));
FontRenderParams params = GetFontRenderParams(
FontRenderParamsQuery(true), NULL);
EXPECT_TRUE(params.antialiasing);
- EXPECT_FALSE(params.autohinter);
+ EXPECT_TRUE(params.autohinter);
EXPECT_TRUE(params.use_bitmaps);
- EXPECT_EQ(FontRenderParams::HINTING_FULL, params.hinting);
+ EXPECT_EQ(FontRenderParams::HINTING_SLIGHT, params.hinting);
EXPECT_FALSE(params.subpixel_positioning);
EXPECT_EQ(FontRenderParams::SUBPIXEL_RENDERING_RGB,
params.subpixel_rendering);
ASSERT_TRUE(LoadSystemFont("arial.ttf"));
ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
CreateFontconfigEditStanza("antialias", "bool", "true") +
CreateFontconfigEditStanza("hinting", "bool", "true") +
CreateFontconfigEditStanza("hintstyle", "const", "hintfull") +
CreateFontconfigEditStanza("rgba", "const", "none") +
kFontconfigMatchFooter +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
CreateFontconfigTestStanza("pixelsize", "less_eq", "double", "10") +
CreateFontconfigEditStanza("antialias", "bool", "false") +
kFontconfigMatchFooter +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
CreateFontconfigTestStanza("size", "more_eq", "double", "20") +
CreateFontconfigEditStanza("hintstyle", "const", "hintslight") +
CreateFontconfigEditStanza("rgba", "const", "rgb") +
// hinting for italic text.
ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
CreateFontconfigEditStanza("antialias", "bool", "true") +
CreateFontconfigEditStanza("hinting", "bool", "true") +
CreateFontconfigEditStanza("hintstyle", "const", "hintslight") +
CreateFontconfigEditStanza("rgba", "const", "rgb") +
kFontconfigMatchFooter +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
CreateFontconfigTestStanza("weight", "eq", "const", "bold") +
CreateFontconfigEditStanza("rgba", "const", "none") +
kFontconfigMatchFooter +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
CreateFontconfigTestStanza("slant", "eq", "const", "italic") +
CreateFontconfigEditStanza("hinting", "bool", "false") +
kFontconfigMatchFooter +
}
TEST_F(FontRenderParamsTest, Scalable) {
- ASSERT_TRUE(LoadSystemFont("arial.ttf"));
// Load a config that only enables antialiasing for scalable fonts.
ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
CreateFontconfigEditStanza("antialias", "bool", "false") +
kFontconfigMatchFooter +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
CreateFontconfigTestStanza("scalable", "eq", "bool", "true") +
CreateFontconfigEditStanza("antialias", "bool", "true") +
kFontconfigMatchFooter +
// Load a config that enables embedded bitmaps for fonts <= 10 pixels.
ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
CreateFontconfigEditStanza("embeddedbitmap", "bool", "false") +
kFontconfigMatchFooter +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
CreateFontconfigTestStanza("pixelsize", "less_eq", "double", "10") +
CreateFontconfigEditStanza("embeddedbitmap", "bool", "true") +
kFontconfigMatchFooter +
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 +
+ kFontconfigMatchPatternHeader +
CreateFontconfigEditStanza("antialias", "bool", "false") +
CreateFontconfigEditStanza("hinting", "bool", "false") +
CreateFontconfigEditStanza("hintstyle", "const", "hintnone") +
// Load a Fontconfig config that enables antialiasing but doesn't say anything
// about subpixel rendering.
- ASSERT_TRUE(LoadSystemFont("arial.ttf"));
ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
std::string(kFontconfigFileHeader) +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
CreateFontconfigEditStanza("antialias", "bool", "true") +
kFontconfigMatchFooter +
kFontconfigFileFooter));
ASSERT_TRUE(LoadConfigDataIntoFontconfig(temp_dir_.path(),
std::string(kFontconfigFileHeader) +
CreateFontconfigAliasStanza("Helvetica", "Verdana") +
- kFontconfigMatchHeader +
+ kFontconfigMatchPatternHeader +
CreateFontconfigTestStanza("family", "eq", "string", "Arial") +
CreateFontconfigEditStanza("family", "string", "Verdana") +
kFontconfigMatchFooter +