diff --git a/ghostscript-exactly-enable-cidfnmap.patch b/ghostscript-exactly-enable-cidfnmap.patch new file mode 100644 index 0000000..3eb3598 --- /dev/null +++ b/ghostscript-exactly-enable-cidfnmap.patch @@ -0,0 +1,66 @@ +--- espgs-8.15.4/lib/cjkv/tt11util.ps.exactly-enable-cidfnmap 2006-06-06 10:59:04.000000000 +0100 ++++ espgs-8.15.4/lib/cjkv/tt11util.ps 2007-04-17 11:09:56.000000000 +0100 +@@ -179,6 +179,7 @@ + %dup /gsubhog exch _cjkv_type11_tmp /gsubost get _cjkv_type11_tmp /gsubocv get add 4 add _cjkv_type11_tmp /gsubglc get getinterval _cjkv_type11_tmp 3 1 roll put + dup /gsubvog exch _cjkv_type11_tmp /gsubost get 6 add _cjkv_type11_tmp /gsubglc get 2 mul getinterval _cjkv_type11_tmp 3 1 roll put + dup /cvfmt exch _cjkv_type11_tmp /gsubost get _cjkv_type11_tmp /gsubocv get add 0 add .cjkv_getu16 _cjkv_type11_tmp 3 1 roll put ++ _cjkv_type11_tmp /cvfmt get 1 eq { + dup /cvglc exch _cjkv_type11_tmp /gsubost get _cjkv_type11_tmp /gsubocv get add 2 add .cjkv_getu16 _cjkv_type11_tmp 3 1 roll put + dup /gsubhog exch _cjkv_type11_tmp /gsubost get _cjkv_type11_tmp /gsubocv get add 4 add _cjkv_type11_tmp /cvglc get 2 mul getinterval _cjkv_type11_tmp 3 1 roll put + CJKV_DEBUG_GSUB { +@@ -194,25 +195,26 @@ + _cjkv_type11_tmp /gsubvog get exch .cjkv_getu16 = + } for + } if +- _cjkv_type11_tmp /cvfmt get 1 eq { + /gsubh2v << 0 2 _cjkv_type11_tmp /gsubhog get length 2 sub { + dup _cjkv_type11_tmp /gsubhog get exch .cjkv_getu16 + exch _cjkv_type11_tmp /gsubvog get exch .cjkv_getu16 + } for >> _cjkv_type11_tmp 3 1 roll put + } { + _cjkv_type11_tmp /cvfmt get 2 eq { +- /gsubh2v << 0 6 _cjkv_type11_tmp /gsubhog get length 6 sub { +- dup 0 add /fgid exch _cjkv_type11_tmp /gsubhog get exch .cjkv_getu16 _cjkv_type11_tmp 3 1 roll put +- dup 2 add /lgid exch _cjkv_type11_tmp /gsubhog get exch .cjkv_getu16 _cjkv_type11_tmp 3 1 roll put +- 4 add /cvidx exch _cjkv_type11_tmp /gsubhog get exch .cjkv_getu16 _cjkv_type11_tmp 3 1 roll put ++ dup /cvrngc exch _cjkv_type11_tmp /gsubost get _cjkv_type11_tmp /gsubocv get add 2 add .cjkv_getu16 _cjkv_type11_tmp 3 1 roll put ++ dup /cvrngs exch _cjkv_type11_tmp /gsubost get _cjkv_type11_tmp /gsubocv get add 4 add _cjkv_type11_tmp /cvrngc get 6 mul getinterval _cjkv_type11_tmp 3 1 roll put ++ /gsubh2v << 0 6 _cjkv_type11_tmp /cvrngs get length 6 sub { ++ dup 0 add /fgid exch _cjkv_type11_tmp /cvrngs get exch .cjkv_getu16 _cjkv_type11_tmp 3 1 roll put ++ dup 2 add /lgid exch _cjkv_type11_tmp /cvrngs get exch .cjkv_getu16 _cjkv_type11_tmp 3 1 roll put ++ 4 add /cvidx exch _cjkv_type11_tmp /cvrngs get exch .cjkv_getu16 _cjkv_type11_tmp 3 1 roll put + CJKV_DEBUG_GSUB { + (fgid: ) print _cjkv_type11_tmp /fgid get = + (lgid: ) print _cjkv_type11_tmp /lgid get = + (cvidx: ) print _cjkv_type11_tmp /cvidx get = + } if + _cjkv_type11_tmp /fgid get 1 _cjkv_type11_tmp /lgid get { +- dup _cjkv_type11_tmp /cvidx get add _cjkv_type11_tmp /fgid get sub +- exch _cjkv_type11_tmp /gsubvog get exch .cjkv_getu16 ++ dup _cjkv_type11_tmp /cvidx get add _cjkv_type11_tmp /fgid get sub 2 mul ++ _cjkv_type11_tmp /gsubvog get exch .cjkv_getu16 + } for + } for >> _cjkv_type11_tmp 3 1 roll put + } { +--- espgs-8.15.4/lib/cjkv/cjkfnmap.ps.exactly-enable-cidfnmap 2007-04-17 11:04:52.000000000 +0100 ++++ espgs-8.15.4/lib/cjkv/cjkfnmap.ps 2007-04-17 11:09:56.000000000 +0100 +@@ -56,6 +56,11 @@ + % Define the name of the CID font map file. + userdict /_cjkv_CIDFontmap 10 dict put + ++ /.cjkv_erase_cidfmap_entry { ++ CJKV_DEBUG_FNMAP { (erase cidfmap entry for: ) print dup == } if ++ /CIDFont /Category findresource /.map get exch undef ++ } bind def ++ + % .readCIDFontmap + % Code from gs_fonts.ps::.readFontmap + /.cjkv_readCIDFontmap { +@@ -67,6 +72,7 @@ + ( has no associated file or alias name! Giving up.) = flush + {.cjkv_readCIDFontmap} 0 get 1 .quit + } if ++ 1 index .cjkv_erase_cidfmap_entry + dup type dup /stringtype eq exch /nametype eq or not + { (CIDFontmap entry for ) print 1 index =only + ( has an invalid file or alias name! Giving up.) = flush diff --git a/ghostscript.spec b/ghostscript.spec index 3aa7b6a..50395ff 100644 --- a/ghostscript.spec +++ b/ghostscript.spec @@ -23,6 +23,7 @@ Patch5: ghostscript-split-cidfnmap.patch Patch6: ghostscript-gxcht-64bit-crash.patch Patch7: ghostscript-dvipdf.patch Patch8: ghostscript-Fontmap.local.patch +Patch9: ghostscript-exactly-enable-cidfnmap.patch Requires: urw-fonts >= 1.1, ghostscript-fonts BuildRequires: libjpeg-devel, libXt-devel @@ -100,6 +101,10 @@ A GTK-enabled version of Ghostscript, called 'gsx'. # Allow local overrides for Fontmap (bug #233966). %patch8 -p1 -b .Fontmap.local +# Apply fonts in CIDFnmap even if the same fontnames are already registered +# (bug #163231). +%patch9 -p1 -b .exactly-enable-cidfnmap + # Convert manual pages to UTF-8 from8859_1() { iconv -f iso-8859-1 -t utf-8 < "$1" > "${1}_" @@ -269,6 +274,8 @@ rm -rf $RPM_BUILD_ROOT %changelog * Tue Apr 17 2007 Tim Waugh 8.15.4-3 +- Apply fonts in CIDFnmap even if the same fontnames are already registered + (bug #163231). - New file CIDFmap (bug #233966). - Allow local overrides for FAPIcidfmap, cidfmap and Fontmap (bug #233966).