diff options
-rw-r--r-- | utils/viewer-pangocairo.c | 4 | ||||
-rw-r--r-- | utils/viewer-render.c | 3 | ||||
-rw-r--r-- | utils/viewer-render.h | 1 |
3 files changed, 8 insertions, 0 deletions
diff --git a/utils/viewer-pangocairo.c b/utils/viewer-pangocairo.c index f82bd72d..ac3b49c3 100644 --- a/utils/viewer-pangocairo.c +++ b/utils/viewer-pangocairo.c @@ -36,6 +36,7 @@ typedef struct PangoFontMap *fontmap; cairo_font_options_t *font_options; + gboolean subpixel_positions; } CairoViewer; static gpointer @@ -73,6 +74,8 @@ pangocairo_view_create (const PangoViewer *klass G_GNUC_UNUSED) if (opt_antialias != ANTIALIAS_DEFAULT) cairo_font_options_set_antialias (instance->font_options, (cairo_antialias_t)opt_antialias); + instance->subpixel_positions = opt_subpixel_positions; + return instance; } @@ -100,6 +103,7 @@ pangocairo_view_get_context (gpointer instance) context = pango_font_map_create_context (c->fontmap); pango_cairo_context_set_font_options (context, c->font_options); + pango_context_set_round_glyph_positions (context, !c->subpixel_positions); return context; } diff --git a/utils/viewer-render.c b/utils/viewer-render.c index 36cee596..82b30f05 100644 --- a/utils/viewer-render.c +++ b/utils/viewer-render.c @@ -63,6 +63,7 @@ HintMode opt_hinting = HINT_DEFAULT; HintMetrics opt_hint_metrics = HINT_METRICS_DEFAULT; SubpixelOrder opt_subpixel_order = SUBPIXEL_DEFAULT; Antialias opt_antialias = ANTIALIAS_DEFAULT; +gboolean opt_subpixel_positions = FALSE; PangoWrapMode opt_wrap = PANGO_WRAP_WORD_CHAR; gboolean opt_wrap_set = FALSE; static const char *opt_pangorc = NULL; /* Unused */ @@ -800,6 +801,8 @@ parse_options (int argc, char *argv[]) "Antialiasing", "none/gray/subpixel"}, {"hint-metrics", 0, 0, G_OPTION_ARG_CALLBACK, &parse_hint_metrics, "Hint metrics", "on/off"}, + { "subpixel-positions", 0, 0, G_OPTION_ARG_NONE, &opt_subpixel_positions, + "Subpixel positioning", NULL}, {"subpixel-order", 0, 0, G_OPTION_ARG_CALLBACK, &parse_subpixel_order, "Subpixel order", "rgb/bgr/vrgb/vbgr"}, {"indent", 0, 0, G_OPTION_ARG_INT, &opt_indent, diff --git a/utils/viewer-render.h b/utils/viewer-render.h index bfb50e55..3ffc42e4 100644 --- a/utils/viewer-render.h +++ b/utils/viewer-render.h @@ -107,6 +107,7 @@ extern HintMode opt_hinting; extern SubpixelOrder opt_subpixel_order; extern Antialias opt_antialias; extern HintMetrics opt_hint_metrics; +extern gboolean opt_subpixel_positions; extern PangoColor opt_fg_color; extern guint16 opt_fg_alpha; extern gboolean opt_bg_set; |