summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorKhaled Hosny <khaled@aliftype.com>2023-02-07 16:40:49 +0200
committerCaolán McNamara <caolanm@redhat.com>2023-02-07 20:10:11 +0000
commitd955b1916d12ea6648a17f109a4d717f4bd94c0f (patch)
treea083bbb37546c3001782d81b87ffc84cc55c7b5b /vcl
parent0bde6c12f88fa352cbc39a92db5c828d93a76112 (diff)
tdf#153376: Fix reading USE_TYPO_METRICS flag
Font data is big endian while SvStream defaults to little endian. Regression from: commit fb417ee082afdd2e80a1f48aa420bb8d5cb97686 Author: Khaled Hosny <khaled@aliftype.com> Date: Fri Sep 30 12:35:10 2022 +0200 vcl: Apply variations to font metrics Change-Id: I474ec2a76057baca93f350e23c3779985abdf9da Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146615 Tested-by: خالد حسني <khaled@aliftype.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/font/fontmetric.cxx2
1 files changed, 2 insertions, 0 deletions
diff --git a/vcl/source/font/fontmetric.cxx b/vcl/source/font/fontmetric.cxx
index 4ee3020b23f4..84c783b83474 100644
--- a/vcl/source/font/fontmetric.cxx
+++ b/vcl/source/font/fontmetric.cxx
@@ -520,6 +520,8 @@ void ImplFontMetricData::ImplCalcLineSpacing(LogicalFontInstance* pFontInstance)
auto aOS2(pFace->GetRawFontData(HB_TAG('O', 'S', '/', '2')));
SvMemoryStream aStream(const_cast<uint8_t*>(aOS2.data()), aOS2.size(),
StreamMode::READ);
+ // Font data are big endian.
+ aStream.SetEndian(SvStreamEndian::BIG);
if (aStream.Seek(vcl::OS2_fsSelection_offset) == vcl::OS2_fsSelection_offset)
aStream.ReadUInt16(fsSelection);
bUseTypoMetrics = fsSelection & (1 << 7);