summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2019-06-16 02:38:02 +0200
committerAdolfo Jayme Barrientos <fitojb@ubuntu.com>2019-06-17 18:40:38 +0200
commit9f095d0bc6b091ca8e0522533c981374d0648c09 (patch)
tree880111df6f283b2dcf9c98bdc58f980c62f7ae84
parentae0b98975706e98865d129e8ac8c24ce5b55e89c (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> (cherry picked from commit 8fffb56940c6eb81674000cdb718edc79603a6c5) Reviewed-on: https://gerrit.libreoffice.org/74150 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
-rw-r--r--vcl/inc/fontinstance.hxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/vcl/inc/fontinstance.hxx b/vcl/inc/fontinstance.hxx
index 58bcd07927a0..f8199669952f 100644
--- a/vcl/inc/fontinstance.hxx
+++ b/vcl/inc/fontinstance.hxx
@@ -63,7 +63,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; }