[Libreoffice-commits] core.git: vcl/source
Herbert Dürr
hdu at apache.org
Fri Oct 4 12:29:04 PDT 2013
vcl/source/fontsubset/sft.cxx | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
New commits:
commit 6489f97fc428446c53c17f885963776cdcc21490
Author: Herbert Dürr <hdu at apache.org>
Date: Fri Oct 4 15:14:22 2013 +0000
Resolves: #i123417# handle subsetting of empty ttf compound glyphs gracefully
(cherry picked from commit d519b07ecd4b67cedf1fe3e1860ef33a48a01ae4)
Conflicts:
vcl/source/fontsubset/sft.cxx
Change-Id: I51d4a97f1f01be49cb5ab058019cd153e23437bd
diff --git a/vcl/source/fontsubset/sft.cxx b/vcl/source/fontsubset/sft.cxx
index 4bdc48e..38199c1 100644
--- a/vcl/source/fontsubset/sft.cxx
+++ b/vcl/source/fontsubset/sft.cxx
@@ -720,7 +720,10 @@ static int GetCompoundTTOutline(TrueTypeFont *ttf, sal_uInt32 glyphID, ControlPo
} while (flags & MORE_COMPONENTS);
-
+ // #i123417# some fonts like IFAOGrec have no outline points in some compound glyphs
+ // so this unlikely but possible scenario should be handled gracefully
+ if( myPoints.empty() )
+ return 0;
np = myPoints.size();
@@ -2595,7 +2598,7 @@ GlyphData *GetTTRawGlyphData(TrueTypeFont *ttf, sal_uInt32 glyphID)
/* now calculate npoints and ncontours */
ControlPoint *cp;
n = GetTTGlyphPoints(ttf, glyphID, &cp);
- if (n != -1)
+ if (n > 0)
{
int m = 0;
for (int i = 0; i < n; i++)
More information about the Libreoffice-commits
mailing list