diff options
author | Herbert Dürr <hdu@apache.org> | 2013-10-04 15:14:22 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-10-04 20:27:35 +0100 |
commit | 6489f97fc428446c53c17f885963776cdcc21490 (patch) | |
tree | fef576b4ed26debe7b5434b8b0f9edcdcd91f8e4 /vcl | |
parent | 507c1c9905ce02c376be4e57a937cde8d01d2c26 (diff) |
Resolves: #i123417# handle subsetting of empty ttf compound glyphs gracefully
(cherry picked from commit d519b07ecd4b67cedf1fe3e1860ef33a48a01ae4)
Conflicts:
vcl/source/fontsubset/sft.cxx
Change-Id: I51d4a97f1f01be49cb5ab058019cd153e23437bd
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/fontsubset/sft.cxx | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/vcl/source/fontsubset/sft.cxx b/vcl/source/fontsubset/sft.cxx index 4bdc48ec8202..38199c170a29 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++) |