27const char kRenderableEngLigatureText[] =
"fidelity effigy ſteep";
30static PangoFontMap *font_map;
37 font_map = pango_cairo_font_map_new_for_font_type(CAIRO_FONT_TYPE_FT);
39 pango_cairo_font_map_set_default(PANGO_CAIRO_FONT_MAP(font_map));
43 static std::locale system_locale(
"");
44 std::locale::global(system_locale);
46 FLAGS_fonts_dir = TESTING_DIR;
47 FLAGS_fontconfig_tmpdir = FLAGS_test_tmpdir;
55 EXPECT_GT(lig_table_->norm_to_lig_table().size(), 0);
56 EXPECT_GT(lig_table_->lig_to_norm_table().size(), 0);
60TEST_F(LigatureTableTest, DoesAddLigatures) {
64TEST_F(LigatureTableTest, DoesAddLigaturesWithSupportedFont) {
66 EXPECT_TRUE(font.ParseFontDescriptionName(
"Verdana"));
67 printf(
"1:%s\n", kRenderableEngLigatureText);
73TEST_F(LigatureTableTest, DoesNotAddLigaturesWithUnsupportedFont) {
75 EXPECT_TRUE(font.ParseFontDescriptionName(
"Lohit Hindi"));
79TEST_F(LigatureTableTest, DoesRemoveLigatures) {
85 const char *kTestCases[] = {
86 "act",
"a\uE003",
"publiſh",
"publi\uE006",
"ſince",
87 "\uE007nce",
"aſleep",
"a\uE008eep",
"neceſſary",
"nece\uE009ary",
89 for (
size_t i = 0;
i <
countof(kTestCases);
i += 2) {
90 EXPECT_STREQ(kTestCases[
i + 1], lig_table_->AddLigatures(kTestCases[
i],
nullptr).c_str());
91 EXPECT_STREQ(kTestCases[
i], lig_table_->RemoveLigatures(kTestCases[
i + 1]).c_str());
92 EXPECT_STREQ(kTestCases[
i], lig_table_->RemoveCustomLigatures(kTestCases[
i + 1]).c_str());
97TEST_F(LigatureTableTest, TestRemovesCustomLigatures) {
98 const char *kTestCases[] = {
103 for (
size_t i = 0;
i <
countof(kTestCases);
i += 3) {
104 EXPECT_STREQ(kTestCases[
i + 1], lig_table_->AddLigatures(kTestCases[
i],
nullptr).c_str());
105 EXPECT_STREQ(kTestCases[
i + 2], lig_table_->RemoveCustomLigatures(kTestCases[
i + 1]).c_str());
#define EXPECT_GT(val1, val2)
#define EXPECT_TRUE(condition)
#define EXPECT_STREQ(s1, s2)
const char kEngNonLigatureText[]
constexpr size_t countof(T const (&)[N]) noexcept
const char kEngLigatureText[]
TEST_F(EuroText, FastLatinOCR)
static LigatureTable * Get()
static void SoftInitFontConfig()
static void SetUpTestCase()
LigatureTable * lig_table_