summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMamoru Komachi <usata@gentoo.org>2003-07-25 16:26:26 +0000
committerMamoru Komachi <usata@gentoo.org>2003-07-25 16:26:26 +0000
commitdb903aa6ce0f85da119198ac7de79f486b2b39e8 (patch)
treea93103e3025413f03dec8e854300bd9101a82256 /app-text/ghostscript
parentFixed kochi-substitute rendering crash issue (diff)
downloadgentoo-2-db903aa6ce0f85da119198ac7de79f486b2b39e8.tar.gz
gentoo-2-db903aa6ce0f85da119198ac7de79f486b2b39e8.tar.bz2
gentoo-2-db903aa6ce0f85da119198ac7de79f486b2b39e8.zip
Fixed kochi-substitute rendering crash issue
Diffstat (limited to 'app-text/ghostscript')
-rw-r--r--app-text/ghostscript/ChangeLog6
-rw-r--r--app-text/ghostscript/Manifest4
-rw-r--r--app-text/ghostscript/files/gs7.05.6-kochi-substitute.patch117
-rw-r--r--app-text/ghostscript/ghostscript-7.05.6-r3.ebuild7
4 files changed, 129 insertions, 5 deletions
diff --git a/app-text/ghostscript/ChangeLog b/app-text/ghostscript/ChangeLog
index e74eada2601a..bddc4f54043a 100644
--- a/app-text/ghostscript/ChangeLog
+++ b/app-text/ghostscript/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for app-text/ghostscript
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/ghostscript/ChangeLog,v 1.36 2003/07/16 17:42:54 lanius Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-text/ghostscript/ChangeLog,v 1.37 2003/07/25 16:26:18 usata Exp $
+
+ 26 Jul 2003; Mamoru KOMACHI <usata@gentoo.org> ghostscript-7.05.6-r3.ebuild,
+ files/gs7.05.6-kochi-substitute.patch:
+ Fixed kochi-substitute rendering crash issue
16 Jul 2003; <lanius@gentoo.org> ghostscript-7.05.6-r3.ebuild:
fixed missing ${S} (#24595)
diff --git a/app-text/ghostscript/Manifest b/app-text/ghostscript/Manifest
index cc22e3e7cf31..7462e3c6662c 100644
--- a/app-text/ghostscript/Manifest
+++ b/app-text/ghostscript/Manifest
@@ -1,6 +1,6 @@
-MD5 98785eda10f9306eca52d80aa6814aa4 ChangeLog 6616
+MD5 f696b477ebd72fb8d4b86bbc48ff3f12 ChangeLog 6783
MD5 26b4b081d538c195dc39bcb2ec8e6f3a metadata.xml 161
-MD5 9289d145a4f9896a525ded2bcbebf3d8 ghostscript-7.05.6-r3.ebuild 3115
+MD5 35e4e0acfc419f03cbae66044308a0f1 ghostscript-7.05.6-r3.ebuild 3114
MD5 823888ea04fc2c6c118a752107fe6607 ghostscript-7.05.6-r2.ebuild 2718
MD5 5f1b04ca58928a339b749703e067e2ba files/gs7.05.6-kochi-substitute.patch 3774
MD5 c63f6d71a403dbc72265831386b84eb0 files/digest-ghostscript-7.05.6-r2 359
diff --git a/app-text/ghostscript/files/gs7.05.6-kochi-substitute.patch b/app-text/ghostscript/files/gs7.05.6-kochi-substitute.patch
new file mode 100644
index 000000000000..70f8e1fda27f
--- /dev/null
+++ b/app-text/ghostscript/files/gs7.05.6-kochi-substitute.patch
@@ -0,0 +1,117 @@
+--- lib/gs_ttf.ps.orig Sat Apr 12 23:02:38 2003
++++ lib/gs_ttf.ps Fri Jul 25 13:25:33 2003
+@@ -575,7 +575,7 @@
+ (maxp) 1 index
+ (name) 1 index
+ (OS/2) 1 index
+- (post) 1 index
++ (post) { .readbigtable }
+ (vhea) 1 index
+ % Big tables
+ (glyf) { .readbigtable }
+@@ -918,10 +918,17 @@
+ DEBUG { (fontname ) print fontname = } if
+ % Stack: ... /FontInfo mark key1 value1 ...
+ post null ne {
+- /ItalicAngle post 4 gets32 65536.0 div
+- /isFixedPitch post 12 getu32 0 ne
+- /UnderlinePosition post 8 gets16 upem div
+- /UnderlineThickness post 10 gets16 upem div
++ post type /arraytype eq {
++ % this post table is a big table. /post should be [(...) ...]
++ % data we actually need here should be first one in array.
++ /posttable post 1 get def
++ } {
++ /posttable post def
++ } ifelse
++ /ItalicAngle posttable 4 gets32 65536.0 div
++ /isFixedPitch posttable 12 getu32 0 ne
++ /UnderlinePosition posttable 8 gets16 upem div
++ /UnderlineThickness posttable 10 gets16 upem div
+ } if
+ counttomark 0 ne { .dicttomark } { pop pop } ifelse
+ /XUID [orgXUID 42 curxuid]
+@@ -1119,41 +1126,52 @@
+ %(gsubofl: ) print gsubofl =
+ (gsuboll: ) print gsuboll =
+ } if
+- dup /gsubfmt exch gsuboll 0 add getu16 def
++ % /gsuboll should be pointed out the LookupList table, but not Lookup table.
++ % so this is wrong: dup /gsubfmt exch gsuboll 0 add getu16 def
++ dup /gsublc exch gsuboll 0 add getu16 def
+ DEBUG {
+- (gsubfmt: ) print gsubfmt =
++ (gsublc: ) print gsublc =
+ } if
+-% gsubver 16#00010000 eq { % ifelse
+- gsubfmt 2 eq { % ifelse
+- dup /gsubocv exch gsuboll 2 add getu16 def
+- dup /gsubglc exch gsuboll 4 add getu16 def
+- % hacked by suzuki toshiya at 2001/3/6
+- %dup /gsubvog exch gsuboll 6 add gsubglc getinterval def
+- %dup /gsubhog exch gsuboll gsubocv add 4 add gsubglc getinterval def
+- dup /gsubvog exch gsuboll 6 add gsubglc 2 mul getinterval def
+- dup /gsubhog exch gsuboll gsubocv add 4 add gsubglc 2 mul getinterval def
++ gsublc 0 ne {
++ 0 1 gsublc 1 sub {
++ 2 mul /gsubolt exch 2 index exch gsuboll 2 add add getu16 gsuboll add def
++ dup /gsubfmt exch gsubolt 0 add getu16 def
+ DEBUG {
+- (gsubocv: ) print gsubocv =
+- (gsubglc: ) print gsubglc =
+-
+- (gsubhog->gsubvog ) =
+- 0 2 gsubhog length 2 sub { % for
+- dup
+- gsubhog exch getu16 =only
+- (->) =only
+- gsubvog exch getu16 =
+- } for
++ (gsubfmt: ) print gsubfmt =
+ } if
+- /gsubh2v << 0 2 gsubhog length 2 sub {
+- dup gsubhog exch getu16
+- exch gsubvog exch getu16
+- } for >> def
+- } {
+- %(UNKNOWN GSUB FORMAT.) = flush
+- } ifelse
+-% } {
+-% (ILLEGAL GSUB VERSION.) = flush
+-% } ifelse
++% gsubver 16#00010000 eq { % ifelse
++ gsubfmt 2 eq { % ifelse
++ dup /gsubocv exch gsubolt 2 add getu16 def
++ dup /gsubglc exch gsubolt 4 add getu16 def
++ % hacked by suzuki toshiya at 2001/3/6
++ %dup /gsubvog exch gsubolt 6 add gsubglc getinterval def
++ %dup /gsubhog exch gsubolt gsubocv add 4 add gsubglc getinterval def
++ dup /gsubvog exch gsubolt 6 add gsubglc 2 mul getinterval def
++ dup /gsubhog exch gsubolt gsubocv add 4 add gsubglc 2 mul getinterval def
++ DEBUG {
++ (gsubocv: ) print gsubocv =
++ (gsubglc: ) print gsubglc =
++
++ (gsubhog->gsubvog ) =
++ 0 2 gsubhog length 2 sub { % for
++ dup
++ gsubhog exch getu16 =only
++ (->) =only
++ gsubvog exch getu16 =
++ } for
++ } if
++ /gsubh2v << 0 2 gsubhog length 2 sub {
++ dup gsubhog exch getu16
++ exch gsubvog exch getu16
++ } for >> def
++ } {
++ %(UNKNOWN GSUB FORMAT.) = flush
++ } ifelse
++% } {
++% (ILLEGAL GSUB VERSION.) = flush
++% } ifelse
++ } for
++ } if
+ pop
+ } if
+ } bind def
diff --git a/app-text/ghostscript/ghostscript-7.05.6-r3.ebuild b/app-text/ghostscript/ghostscript-7.05.6-r3.ebuild
index 83e92fec398c..a06fb0f881da 100644
--- a/app-text/ghostscript/ghostscript-7.05.6-r3.ebuild
+++ b/app-text/ghostscript/ghostscript-7.05.6-r3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/ghostscript/ghostscript-7.05.6-r3.ebuild,v 1.4 2003/07/23 09:31:25 lanius Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-text/ghostscript/ghostscript-7.05.6-r3.ebuild,v 1.5 2003/07/25 16:26:18 usata Exp $
inherit eutils
@@ -44,7 +44,10 @@ src_unpack() {
## patch -p0 < ${FILESDIR}/png.diff || die "patch failed"
- use cjk && epatch ${FILESDIR}/gs${PV}-cjk.diff
+ if [ `use cjk` ] ; then
+ epatch ${FILESDIR}/gs${PV}-cjk.diff
+ epatch ${FILESDIR}/gs${PV}-kochi-substitute.patch
+ fi
# man page patch from absinthe@pobox.com (Dylan Carlson) bug #14150
# patch -p0 ${S}/man/gs.1 < ${FILESDIR}/${P}.man.patch || die