Package: freetype User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu natty Version: 2.4.2-2.1 Tags: patch
The issue has been reported on https://bugs.launchpad.net/ubuntu/+source/freetype/+bug/709229 Example file: https://bugs.launchpad.net/ubuntu/+source/freetype/+bug/709229/+attachment/1814822/+files/oclpdf.zip Comments from launchpad: "Thanks for the document, I can reproduce the issue, not only with evince (document viewer) but also with okular and epdfview (but not with xpdf). It seems to be a font issue, evince and epdfview print: some font thing failed Error: could not create truetype face okular prints: Error: Couldn't create a font for 'WPCUBE+Arial-Bold' Error: Couldn't create a font for 'WPCUBE+Arial-Italic' Error: Couldn't create a font for 'WPCUBE+Arial' pdffonts gives the following info: name type emb sub uni object ID ------------------------------------ ----------------- --- --- --- --------- WPCUBE+Arial-Bold CID TrueType yes yes yes 4913 0 WPCUBE+Arial CID TrueType yes yes yes 4915 0 WPCUBE+Arial-Italic CID TrueType yes yes yes 4917 0 WPCUBE+Verdana CID TrueType yes yes yes 4919 0 WPCUBE+Symbol CID TrueType yes yes yes 4921 0 WPCUBE+Verdana-Bold CID TrueType yes yes yes 4923 0 WPCUBE+Courier New CID TrueType yes yes yes 4925 0 WPCUBE+Courier New-Bold CID TrueType yes yes yes 4927 0 WPCUBE+Verdana-Italic CID TrueType yes yes yes 4929 0 WPCUBE+Arial-BoldItalic CID TrueType yes yes yes 4931 0 WPCUBE+Verdana-BoldItalic CID TrueType yes yes yes 4933 0 Maybe also relevant: The pdf document is encrypted Encrypted: yes (print:yes copy:yes change:no addNotes:no) The bug should be reported to the devoelopers of the software. I did this already, you can track the bug and make comments at: https://bugs.freedesktop.org/show_bug.cgi?id=33972 It is a bug in freetype, bisecting shows it is fixed in this commit: http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=ec4372f56552b7370d6693db8b4d44d412e2dd6a" It would be nice if you apply this fix to the current version until a new version is available upstream and in Debian. Cheers, Sebastien Bacher
>From ec4372f56552b7370d6693db8b4d44d412e2dd6a Mon Sep 17 00:00:00 2001 From: Werner Lemberg <w...@gnu.org> Date: Thu, 18 Nov 2010 19:34:22 +0000 Subject: [truetype] Fix `loca' handling for inconsistent number of glyphs. Reported by Johnson Y. Yan <yinsen_...@foxitsoftware.com>. * src/truetype/ttpload.c (tt_face_load_loca): While sanitizing, handle case where `loca' is the last table in the font. --- diff --git a/ChangeLog b/ChangeLog index 10d4631..2b292ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2010-11-18 Werner Lemberg <w...@gnu.org> + [truetype] Fix `loca' handling for inconsistent number of glyphs. + Reported by Johnson Y. Yan <yinsen_...@foxitsoftware.com>. + + * src/truetype/ttpload.c (tt_face_load_loca): While sanitizing, + handle case where `loca' is the last table in the font. + +2010-11-18 Werner Lemberg <w...@gnu.org> + [sfnt] Ignore all errors while loading `OS/2' table. Suggested by Johnson Y. Yan <yinsen_...@foxitsoftware.com>. diff --git a/src/truetype/ttpload.c b/src/truetype/ttpload.c index c531733..68a5453 100644 --- a/src/truetype/ttpload.c +++ b/src/truetype/ttpload.c @@ -4,7 +4,7 @@ /* */ /* TrueType-specific tables loader (body). */ /* */ -/* Copyright 1996-2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009 by */ +/* Copyright 1996-2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -137,6 +137,12 @@ dist = diff; } + if ( entry == limit ) + { + /* `loca' is the last table */ + dist = stream->size - pos; + } + if ( new_loca_len <= dist ) { face->num_locations = face->root.num_glyphs; @@ -307,7 +313,7 @@ FT_Short* limit = cur + face->cvt_size; - for ( ; cur < limit; cur++ ) + for ( ; cur < limit; cur++ ) *cur = FT_GET_SHORT(); } -- cgit v0.8.3.2