diff -Nru ghostscript-9.04~dfsg/debian/changelog ghostscript-9.04~dfsg/debian/changelog --- ghostscript-9.04~dfsg/debian/changelog 2011-10-06 11:18:37.000000000 +0200 +++ ghostscript-9.04~dfsg/debian/changelog 2011-11-14 17:28:09.000000000 +0100 @@ -1,3 +1,19 @@ +ghostscript (9.04~dfsg-0ubuntu11.1) oneiric-proposed; urgency=low + + * debian/patches/020111114-4258227-lzw-encode-filter-fix.patch: In the LZW + encoder filter increment the code size before writing out EOD when the + last code reaches the current limit code. Fix incorrect bytes or decoding + errors at the end of some LZW-encoded streams. Fixes problems of + ps2write producing PostScript output with spurious extra bytes + (LP: #890270, upstream bug #692679). + * debian/patches/029111114-08dc129-ps2write-truetype-fix.patch: Improved + the TrueType composite glyph handling of the "ps2write" output device. + This way PDF output of LibreOffice gets correctly converted to PostScript + for PostScript printers and PostScript-based drivers (LP: #879977, upstream + bug #879977). + + -- Till Kamppeter Mon, 14 Nov 2011 17:27:59 +0100 + ghostscript (9.04~dfsg-0ubuntu11) oneiric; urgency=low * debian/patches/020111005-d5f1e72-clist-fix-for-rgbw-color-mode.patch: diff -Nru ghostscript-9.04~dfsg/debian/patches/020111114-4258227-lzw-encode-filter-fix.patch ghostscript-9.04~dfsg/debian/patches/020111114-4258227-lzw-encode-filter-fix.patch --- ghostscript-9.04~dfsg/debian/patches/020111114-4258227-lzw-encode-filter-fix.patch 1970-01-01 01:00:00.000000000 +0100 +++ ghostscript-9.04~dfsg/debian/patches/020111114-4258227-lzw-encode-filter-fix.patch 2011-11-14 17:30:05.000000000 +0100 @@ -0,0 +1,11 @@ +--- a/base/slzwe.c ++++ b/base/slzwe.c +@@ -183,6 +183,8 @@ + else + { if ( code != code_eod ) + { q = lzw_put_code(ss, q, code); /* put out final code */ ++ if (ss->next_code == limit_code && ss->next_code != encode_max) ++ ss->code_size++; + } + q = lzw_put_code(ss, q, code_eod); + if ( ss->bits_left < 8 ) diff -Nru ghostscript-9.04~dfsg/debian/patches/029111114-08dc129-ps2write-truetype-fix.patch ghostscript-9.04~dfsg/debian/patches/029111114-08dc129-ps2write-truetype-fix.patch --- ghostscript-9.04~dfsg/debian/patches/029111114-08dc129-ps2write-truetype-fix.patch 1970-01-01 01:00:00.000000000 +0100 +++ ghostscript-9.04~dfsg/debian/patches/029111114-08dc129-ps2write-truetype-fix.patch 2011-11-14 17:31:02.000000000 +0100 @@ -0,0 +1,21 @@ +--- a/base/gxfcopy.c ++++ b/base/gxfcopy.c +@@ -2168,6 +2168,18 @@ + (options & ~COPY_GLYPH_NO_OLD) | COPY_GLYPH_BY_INDEX); + if (code < 0) + return code; ++ /* if code > 0 then we already have the glyph, so no need to process further. ++ * If the original glyph was not a CID then we are copying by name, not by index. ++ * But the copy above copies by index which means we don't have an entry for ++ * the glyp-h component in the name table. If we are using names then we ++ * absolutely *must* have an entry in the name table, so go ahead and add ++ * one here. Note that the array returned by psf_add_subset_pieces has the ++ * GIDs with an offset of GS_MIN_GLYPH_INDEX added. ++ */ ++ if (code == 0 && glyph < GS_MIN_CID_GLYPH && glyphs[i] > GS_MIN_GLYPH_INDEX) { ++ code = copy_glyph_name(font, glyphs[i] - GS_MIN_GLYPH_INDEX, copied, ++ glyphs[i]); ++ } + } + /* + * Because 'seac' accesses the Encoding of the font as well as the diff -Nru ghostscript-9.04~dfsg/debian/patches/series ghostscript-9.04~dfsg/debian/patches/series --- ghostscript-9.04~dfsg/debian/patches/series 2011-10-06 08:52:11.000000000 +0200 +++ ghostscript-9.04~dfsg/debian/patches/series 2011-11-14 17:26:30.000000000 +0100 @@ -10,3 +10,5 @@ 020110817-766df64-cups-raster-suppress-warnings.patch 1001_dont-crash-when-not-finding-icc-profile.patch 020111005-d5f1e72-clist-fix-for-rgbw-color-mode.patch +020111114-4258227-lzw-encode-filter-fix.patch +029111114-08dc129-ps2write-truetype-fix.patch