diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2019-06-16 02:38:02 +0200 |
---|---|---|
committer | Khaled Hosny <khaledhosny@eglug.org> | 2019-06-16 17:16:10 +0200 |
commit | 8fffb56940c6eb81674000cdb718edc79603a6c5 (patch) | |
tree | 6cbd9581e8aa8d5f26418da9681b6fea6afce06a /vcl/inc | |
parent | 96be3821f7dad19004a43696555eaa4fa2e1aef5 (diff) |
tdf#121486: Correct scale of broken fonts on Windows
Some fonts have negative tmAveCharWidth which makes no sense (fonts can't have
negative glyph width, so the average can't be negative) and it would cause our
code to apply negative scale to the glyphs of these fonts making them drawn on
the flipped horizontally.
Fix this by using the absolute value so it is always positive.
Change-Id: I731e7aad80dae734847679a1b08c6ac78111e16c
Reviewed-on: https://gerrit.libreoffice.org/74109
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
Diffstat (limited to 'vcl/inc')
-rw-r--r-- | vcl/inc/fontinstance.hxx | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/vcl/inc/fontinstance.hxx b/vcl/inc/fontinstance.hxx index 7c4c6d371804..fc3f206dba56 100644 --- a/vcl/inc/fontinstance.hxx +++ b/vcl/inc/fontinstance.hxx @@ -64,7 +64,7 @@ public: // TODO: make data members private void IgnoreFallbackForUnicode( sal_UCS4, FontWeight eWeight, const OUString& rFontName ); inline hb_font_t* GetHbFont(); - void SetAverageWidthFactor(double nFactor) { m_nAveWidthFactor = nFactor; } + void SetAverageWidthFactor(double nFactor) { m_nAveWidthFactor = std::abs(nFactor); } double GetAverageWidthFactor() const { return m_nAveWidthFactor; } const FontSelectPattern& GetFontSelectPattern() const { return m_aFontSelData; } |