summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2017-10-13 20:58:08 +0200
committerAdolfo Jayme Barrientos <fitojb@ubuntu.com>2017-10-14 01:10:44 +0200
commite056ff15aa371dca9b887471846a537e13c4214c (patch)
treedeb97fc70f93196e7b74bd7a10413b1558322366
parent2bb31e9ff5f5433f29ee02bc673193bc1093e0fe (diff)
tdf#107605: Fix reading version 0 OS/2 font table
The version 0 table os exactly 78 bytes since it does not have any of the extra fields from the later versions. Change-Id: Ie2e478bdefb201b988dc0844240d4ff193d66583 Reviewed-on: https://gerrit.libreoffice.org/43375 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
-rw-r--r--vcl/source/fontsubset/sft.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/vcl/source/fontsubset/sft.cxx b/vcl/source/fontsubset/sft.cxx
index 713494c640b3..0f031d055ae3 100644
--- a/vcl/source/fontsubset/sft.cxx
+++ b/vcl/source/fontsubset/sft.cxx
@@ -2413,7 +2413,7 @@ void GetTTFontMterics(const std::vector<uint8_t>& hhea,
* FIXME: horribly outdated comment and horrible code that uses hard-coded
* offsets to read the table.
*/
- if (os2.size() > 76 + 2)
+ if (os2.size() >= 76 + 2)
{
info->fsSelection = GetUInt16(os2.data(), 62);
info->typoAscender = GetInt16(os2.data(), 68);
@@ -2423,7 +2423,7 @@ void GetTTFontMterics(const std::vector<uint8_t>& hhea,
info->winDescent = GetUInt16(os2.data(), 76);
}
- if (hhea.size() > 8 + 2) {
+ if (hhea.size() >= 8 + 2) {
info->ascender = GetInt16(hhea.data(), 4);
info->descender = GetInt16(hhea.data(), 6);
info->linegap = GetInt16(hhea.data(), 8);