summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2022-07-26 13:20:19 +0100
committerMiklos Vajna <vmiklos@collabora.com>2022-07-27 09:15:39 +0200
commitd51b00f635e665c19cec078979210df9f79a3aa3 (patch)
tree32fa9c0b92e0054a7747ff307e9ccc062e3d8d68
parent1583cbe00ccccca56663398001137870bc78b799 (diff)
tdf#150145 text appears to have a row of pixels cropped out
which is very similar sounding to https://gitlab.freedesktop.org/cairo/cairo/-/issues/390 seems to be a bad interaction of slight hinting and sub pixel positioning with hints_metrics disabled with CAIRO_HINT_METRICS_OFF. lets continue to assume we desire CAIRO_HINT_METRICS_OFF most and disable hinting rather than use slight Change-Id: Id7b35d0e4f9291987e8ab96814936700374c6e16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137431 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r--vcl/unx/generic/gdi/cairotextrender.cxx6
1 files changed, 3 insertions, 3 deletions
diff --git a/vcl/unx/generic/gdi/cairotextrender.cxx b/vcl/unx/generic/gdi/cairotextrender.cxx
index 0be33e9436c9..7300562d5d68 100644
--- a/vcl/unx/generic/gdi/cairotextrender.cxx
+++ b/vcl/unx/generic/gdi/cairotextrender.cxx
@@ -199,7 +199,7 @@ void CairoTextRender::DrawTextLayout(const GenericSalLayout& rLayout, const SalG
const bool bResolutionIndependentLayoutEnabled = rGraphics.getTextRenderModeForResolutionIndependentLayoutEnabled();
cairo_hint_style_t eHintStyle = cairo_font_options_get_hint_style(pFontOptions);
cairo_hint_metrics_t eHintMetricsStyle = cairo_font_options_get_hint_metrics(pFontOptions);
- bool bAllowedHintStyle = !bResolutionIndependentLayoutEnabled || (eHintStyle == CAIRO_HINT_STYLE_NONE || eHintStyle == CAIRO_HINT_STYLE_SLIGHT);
+ bool bAllowedHintStyle = !bResolutionIndependentLayoutEnabled || (eHintStyle == CAIRO_HINT_STYLE_NONE);
bool bAllowedHintMetricStyle = !bResolutionIndependentLayoutEnabled || (eHintMetricsStyle == CAIRO_HINT_METRICS_OFF);
if (bDisableAA || !bAllowedHintStyle || !bAllowedHintMetricStyle)
@@ -209,10 +209,10 @@ void CairoTextRender::DrawTextLayout(const GenericSalLayout& rLayout, const SalG
cairo_font_options_t* pOptions = cairo_font_options_copy(pFontOptions);
if (bDisableAA)
cairo_font_options_set_antialias(pOptions, CAIRO_ANTIALIAS_NONE);
- if (!bAllowedHintStyle)
- cairo_font_options_set_hint_style(pOptions, CAIRO_HINT_STYLE_SLIGHT);
if (!bAllowedHintMetricStyle)
cairo_font_options_set_hint_metrics(pOptions, CAIRO_HINT_METRICS_OFF);
+ if (!bAllowedHintStyle)
+ cairo_font_options_set_hint_style(pOptions, CAIRO_HINT_STYLE_NONE);
cairo_set_font_options(cr, pOptions);
cairo_font_options_destroy(pOptions);
}