diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2006-07-31 15:17:15 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2006-07-31 15:17:15 -0400 |
commit | 2fa709d6af58713f7b362748a728a6f8c983d2ec (patch) | |
tree | e20d9d932d74d48d5af323339156d66f657f5abf | |
parent | 9fcb3c32c1f16fe6ab913e27eb54d18b7d9a06b0 (diff) |
Set font options in the test context and make tests not do that
This should help with not requiring many backend-specific reference
images, and some should be removed now.
-rw-r--r-- | test/cairo-test.c | 10 | ||||
-rw-r--r-- | test/clip-operator.c | 9 | ||||
-rw-r--r-- | test/font-matrix-translation.c | 9 | ||||
-rw-r--r-- | test/ft-font-create-for-ft-face.c | 2 | ||||
-rw-r--r-- | test/ft-text-antialias-none.c | 3 | ||||
-rw-r--r-- | test/ft-text-vertical-layout.c | 5 | ||||
-rw-r--r-- | test/glyph-cache-pressure.c | 10 | ||||
-rw-r--r-- | test/operator-clear.c | 9 | ||||
-rw-r--r-- | test/operator-source.c | 9 | ||||
-rw-r--r-- | test/select-font-face.c | 11 | ||||
-rw-r--r-- | test/show-glyphs-many.c | 9 | ||||
-rw-r--r-- | test/show-text-current-point.c | 10 | ||||
-rw-r--r-- | test/text-antialias-gray.c | 5 | ||||
-rw-r--r-- | test/text-antialias-none.c | 5 | ||||
-rw-r--r-- | test/text-antialias-subpixel.c | 8 | ||||
-rw-r--r-- | test/text-pattern.c | 9 | ||||
-rw-r--r-- | test/text-rotate.c | 3 | ||||
-rw-r--r-- | test/unbounded-operator.c | 9 |
18 files changed, 19 insertions, 116 deletions
diff --git a/test/cairo-test.c b/test/cairo-test.c index ea580bed..0bda5609 100644 --- a/test/cairo-test.c +++ b/test/cairo-test.c @@ -1481,6 +1481,7 @@ cairo_test_for_target (cairo_test_t *test, char *format; cairo_test_status_t ret; cairo_content_t expected_content; + cairo_font_options_t *font_options; /* Get the strings ready that we'll need. */ format = _cairo_test_content_name (target->content); @@ -1567,6 +1568,15 @@ cairo_test_for_target (cairo_test_t *test, cairo_paint (cr); cairo_restore (cr); + /* Set all components of font_options to avoid backend differences + * and reduce number of needed reference images. */ + font_options = cairo_font_options_create (); + cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); + cairo_font_options_set_hint_metrics (font_options, CAIRO_HINT_METRICS_ON); + cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); + cairo_set_font_options (cr, font_options); + cairo_font_options_destroy (font_options); + status = (test->draw) (cr, test->width, test->height); /* Then, check all the different ways it could fail. */ diff --git a/test/clip-operator.c b/test/clip-operator.c index 52cbba61..4d262f85 100644 --- a/test/clip-operator.c +++ b/test/clip-operator.c @@ -144,7 +144,6 @@ draw (cairo_t *cr, int width, int height) { int j, x, y; cairo_operator_t op; - cairo_font_options_t *font_options; cairo_pattern_t *pattern; cairo_select_font_face (cr, "Bitstream Vera Sans", @@ -152,14 +151,6 @@ draw (cairo_t *cr, int width, int height) CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size (cr, 0.9 * HEIGHT); - font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - - cairo_set_font_options (cr, font_options); - cairo_font_options_destroy (font_options); - for (j = 0; j < ARRAY_SIZE (draw_funcs); j++) { for (op = CAIRO_OPERATOR_CLEAR; op < N_OPERATORS; op++) { x = op * (WIDTH + PAD) + PAD; diff --git a/test/font-matrix-translation.c b/test/font-matrix-translation.c index dbdeb873..067cbb5b 100644 --- a/test/font-matrix-translation.c +++ b/test/font-matrix-translation.c @@ -64,7 +64,6 @@ box_text (cairo_t *cr, const char *utf8, double x, double y) static cairo_test_status_t draw (cairo_t *cr, int width, int height) { - cairo_font_options_t *font_options; cairo_text_extents_t extents; cairo_matrix_t matrix; @@ -76,14 +75,6 @@ draw (cairo_t *cr, int width, int height) CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size (cr, TEXT_SIZE); - font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - - cairo_set_font_options (cr, font_options); - cairo_font_options_destroy (font_options); - cairo_translate (cr, PAD, PAD); cairo_set_line_width (cr, 1.0); diff --git a/test/ft-font-create-for-ft-face.c b/test/ft-font-create-for-ft-face.c index 64a32241..066b175d 100644 --- a/test/ft-font-create-for-ft-face.c +++ b/test/ft-font-create-for-ft-face.c @@ -80,6 +80,8 @@ draw (cairo_t *cr, int width, int height) font_options = cairo_font_options_create (); + cairo_get_font_options (cr, font_options); + scaled_font = cairo_scaled_font_create (font_face, &font_matrix, &ctm, diff --git a/test/ft-text-antialias-none.c b/test/ft-text-antialias-none.c index 55a6fa3c..e4a34e96 100644 --- a/test/ft-text-antialias-none.c +++ b/test/ft-text-antialias-none.c @@ -55,8 +55,7 @@ create_scaled_font (cairo_t * cr) font_options = cairo_font_options_create (); - /* disable hinting */ - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); + cairo_get_font_options (cr, font_options); pattern = FcPatternCreate (); diff --git a/test/ft-text-vertical-layout.c b/test/ft-text-vertical-layout.c index d7638eee..334fe601 100644 --- a/test/ft-text-vertical-layout.c +++ b/test/ft-text-vertical-layout.c @@ -55,10 +55,7 @@ create_scaled_font (cairo_t * cr) font_options = cairo_font_options_create (); - /* disable hinting */ - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); - /* enable antialias and override screen settings */ - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); + cairo_get_font_options (cr, font_options); pattern = FcPatternCreate (); diff --git a/test/glyph-cache-pressure.c b/test/glyph-cache-pressure.c index 5b5e6c45..ba90fa36 100644 --- a/test/glyph-cache-pressure.c +++ b/test/glyph-cache-pressure.c @@ -61,8 +61,6 @@ cairo_test_t test = { static cairo_test_status_t draw (cairo_t *cr, int width, int height) { - cairo_font_options_t *font_options; - /* We draw in the default black, so paint white first. */ cairo_save (cr); cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */ @@ -76,14 +74,6 @@ draw (cairo_t *cr, int width, int height) CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size (cr, TEXT_SIZE); - font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - - cairo_set_font_options (cr, font_options); - cairo_font_options_destroy (font_options); - cairo_set_source_rgb (cr, 0, 0, 0); /* black */ cairo_move_to (cr, 1, TEXT_SIZE); diff --git a/test/operator-clear.c b/test/operator-clear.c index 575ce1d0..ea9fcf8f 100644 --- a/test/operator-clear.c +++ b/test/operator-clear.c @@ -159,21 +159,12 @@ static cairo_test_status_t draw (cairo_t *cr, int width, int height) { int i, j, x, y; - cairo_font_options_t *font_options; cairo_pattern_t *pattern; cairo_select_font_face (cr, "Bitstream Vera Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); - font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - - cairo_set_font_options (cr, font_options); - cairo_font_options_destroy (font_options); - for (j = 0; j < ARRAY_SIZE (draw_funcs); j++) { for (i = 0; i < ARRAY_SIZE (pattern_funcs); i++) { x = i * (WIDTH + PAD) + PAD; diff --git a/test/operator-source.c b/test/operator-source.c index 6784622e..4bea7935 100644 --- a/test/operator-source.c +++ b/test/operator-source.c @@ -198,21 +198,12 @@ static cairo_test_status_t draw (cairo_t *cr, int width, int height) { int i, j, x, y; - cairo_font_options_t *font_options; cairo_pattern_t *pattern; cairo_select_font_face (cr, "Bitstream Vera Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); - font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - - cairo_set_font_options (cr, font_options); - cairo_font_options_destroy (font_options); - for (j = 0; j < ARRAY_SIZE (draw_funcs); j++) { for (i = 0; i < ARRAY_SIZE (pattern_funcs); i++) { x = i * (WIDTH + PAD) + PAD; diff --git a/test/select-font-face.c b/test/select-font-face.c index 30daf25d..57120ca1 100644 --- a/test/select-font-face.c +++ b/test/select-font-face.c @@ -39,23 +39,12 @@ cairo_test_t test = { static cairo_test_status_t draw (cairo_t *cr, int width, int height) { - cairo_font_options_t *font_options; - /* We draw in the default black, so paint white first. */ cairo_save (cr); cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */ cairo_paint (cr); cairo_restore (cr); - font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); - cairo_font_options_set_hint_metrics (font_options, CAIRO_HINT_METRICS_OFF); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - - cairo_set_font_options (cr, font_options); - cairo_font_options_destroy (font_options); - cairo_set_source_rgb (cr, 0, 0, 0); /* black */ cairo_select_font_face (cr, "Bitstream Vera Serif", diff --git a/test/show-glyphs-many.c b/test/show-glyphs-many.c index f9137e6c..9931a259 100644 --- a/test/show-glyphs-many.c +++ b/test/show-glyphs-many.c @@ -91,7 +91,6 @@ static cairo_test_status_t draw (cairo_t *cr, int width, int height) { cairo_glyph_t glyphs[NUM_GLYPHS]; - cairo_font_options_t *font_options; int i; /* Initialize our giant array of glyphs. */ @@ -110,14 +109,6 @@ draw (cairo_t *cr, int width, int height) CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size (cr, TEXT_SIZE); - font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - - cairo_set_font_options (cr, font_options); - cairo_font_options_destroy (font_options); - cairo_show_glyphs (cr, glyphs, NUM_GLYPHS); return CAIRO_TEST_SUCCESS; diff --git a/test/show-text-current-point.c b/test/show-text-current-point.c index ebd36445..5ff36758 100644 --- a/test/show-text-current-point.c +++ b/test/show-text-current-point.c @@ -39,8 +39,6 @@ cairo_test_t test = { static cairo_test_status_t draw (cairo_t *cr, int width, int height) { - cairo_font_options_t *font_options; - /* We draw in the default black, so paint white first. */ cairo_save (cr); cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */ @@ -52,14 +50,6 @@ draw (cairo_t *cr, int width, int height) CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size (cr, TEXT_SIZE); - font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - - cairo_set_font_options (cr, font_options); - cairo_font_options_destroy (font_options); - cairo_set_source_rgb (cr, 0, 0, 0); /* black */ cairo_move_to (cr, 0, TEXT_SIZE); diff --git a/test/text-antialias-gray.c b/test/text-antialias-gray.c index 0c9f30dd..8090d8e0 100644 --- a/test/text-antialias-gray.c +++ b/test/text-antialias-gray.c @@ -57,12 +57,9 @@ draw (cairo_t *cr, int width, int height) cairo_set_font_size (cr, TEXT_SIZE); font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); + cairo_get_font_options (cr, font_options); cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - cairo_set_font_options (cr, font_options); - cairo_font_options_destroy (font_options); cairo_set_source_rgb (cr, 0, 0, 0); /* black */ cairo_text_extents (cr, black, &extents); diff --git a/test/text-antialias-none.c b/test/text-antialias-none.c index 32f7a0ed..f9c86a9a 100644 --- a/test/text-antialias-none.c +++ b/test/text-antialias-none.c @@ -57,12 +57,9 @@ draw (cairo_t *cr, int width, int height) cairo_set_font_size (cr, TEXT_SIZE); font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); + cairo_get_font_options (cr, font_options); cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_NONE); - cairo_set_font_options (cr, font_options); - cairo_font_options_destroy (font_options); cairo_set_source_rgb (cr, 0, 0, 0); /* black */ cairo_text_extents (cr, black, &extents); diff --git a/test/text-antialias-subpixel.c b/test/text-antialias-subpixel.c index aba98908..af0112a8 100644 --- a/test/text-antialias-subpixel.c +++ b/test/text-antialias-subpixel.c @@ -53,16 +53,12 @@ draw (cairo_t *cr, int width, int height) CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size (cr, TEXT_SIZE); - /* Sub-pixel antialiasing with unhinted glyphs can be pretty ugly - * (bad color fringing). The reason we turn off hints here is to - * try to get repeatable glyph shapes on multiple systems, not for - * any aesthetic reason. */ font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); + cairo_get_font_options (cr, font_options); cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_SUBPIXEL); cairo_font_options_set_subpixel_order (font_options, CAIRO_SUBPIXEL_ORDER_RGB); cairo_set_font_options (cr, font_options); + cairo_font_options_destroy (font_options); cairo_set_source_rgb (cr, 0, 0, 0); /* black */ diff --git a/test/text-pattern.c b/test/text-pattern.c index 40a2a454..02feb228 100644 --- a/test/text-pattern.c +++ b/test/text-pattern.c @@ -40,17 +40,8 @@ cairo_test_t test = { static cairo_test_status_t draw (cairo_t *cr, int width, int height) { - cairo_font_options_t *font_options; cairo_pattern_t *pat; - font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - - cairo_set_font_options (cr, font_options); - cairo_font_options_destroy (font_options); - cairo_select_font_face (cr, "Bitstream Vera Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); diff --git a/test/text-rotate.c b/test/text-rotate.c index abc6baa5..50d907b2 100644 --- a/test/text-rotate.c +++ b/test/text-rotate.c @@ -110,9 +110,8 @@ draw (cairo_t *cr, int width, int height) font_options = cairo_font_options_create (); - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); + cairo_get_font_options (cr, font_options); cairo_font_options_set_hint_metrics (font_options, CAIRO_HINT_METRICS_OFF); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); cairo_set_font_options (cr, font_options); cairo_font_options_destroy (font_options); diff --git a/test/unbounded-operator.c b/test/unbounded-operator.c index 70dab83f..d3a6f354 100644 --- a/test/unbounded-operator.c +++ b/test/unbounded-operator.c @@ -145,21 +145,12 @@ static cairo_test_status_t draw (cairo_t *cr, int width, int height) { int i, j, x, y; - cairo_font_options_t *font_options; cairo_pattern_t *pattern; cairo_select_font_face (cr, "Bitstream Vera Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); - font_options = cairo_font_options_create (); - - cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE); - cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY); - - cairo_set_font_options (cr, font_options); - cairo_font_options_destroy (font_options); - for (j = 0; j < ARRAY_SIZE (draw_funcs); j++) { for (i = 0; i < ARRAY_SIZE (operators); i++) { x = i * (WIDTH + PAD) + PAD; |