summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/ghostscript-gpl/files/ghostscript-afpl-8.54-cups-lib.patch')
-rw-r--r--app-text/ghostscript-gpl/files/ghostscript-afpl-8.54-cups-lib.patch114
1 files changed, 114 insertions, 0 deletions
diff --git a/app-text/ghostscript-gpl/files/ghostscript-afpl-8.54-cups-lib.patch b/app-text/ghostscript-gpl/files/ghostscript-afpl-8.54-cups-lib.patch
new file mode 100644
index 000000000000..0271fd996376
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-afpl-8.54-cups-lib.patch
@@ -0,0 +1,114 @@
+diff -u lib/gs_init.ps.orig lib/gs_init.ps
+--- lib/gs_init.ps.orig 2006-02-21 22:29:07.000000000 +0100
++++ lib/gs_init.ps 2006-05-17 22:31:11.000000000 +0200
+@@ -152,6 +152,7 @@
+ currentdict /NOFONTPATH known /NOFONTPATH exch def
+ currentdict /NOGC known /NOGC exch def
+ currentdict /NOINTERPOLATE .knownget { /INTERPOLATE exch not def } if
++currentdict /NOMEDIAATTRS known /NOMEDIAATTRS exch def
+ currentdict /NOOUTERSAVE known /NOOUTERSAVE exch def
+ currentdict /NOPAGEPROMPT known /NOPAGEPROMPT exch def
+ currentdict /NOPAUSE known /NOPAUSE exch def
+diff -u lib/gs_setpd.ps.orig lib/gs_setpd.ps
+--- lib/gs_setpd.ps.orig 2005-12-28 20:56:24.000000000 +0100
++++ lib/gs_setpd.ps 2006-05-17 22:33:54.000000000 +0200
+@@ -375,21 +375,42 @@
+ } bind
+ .dicttomark readonly def
+
+-% Define the keys used in input attribute matching.
+-/.inputattrkeys [
+- /PageSize /MediaColor /MediaWeight /MediaType /InsertSheet /ManualFeed
+- % The following are documented in Adobe's supplement for v2017.
+- /LeadingEdge /MediaClass
+-] readonly def
+-% Define other keys used in media selection.
+-/.inputselectionkeys [
+- /MediaPosition /Orientation
+-] readonly def
+-
+-% Define the keys used in output attribute matching.
+-/.outputattrkeys [
+- /OutputType
+-] readonly def
++% M. Sweet, Easy Software Products:
++%
++% Define NOMEDIAATTRS to turn off the default (but unimplementable) media
++% selection policies for setpagedevice. This is used by CUPS to support
++% the standard Adobe media attributes.
++NOMEDIAATTRS {
++ % Define only PageSize for input attribute matching.
++ /.inputattrkeys [
++ /PageSize
++ ] readonly def
++ % Define no other keys used in media selection.
++ /.inputselectionkeys [
++ /noInputSelectionsKeys
++ ] readonly def
++
++ % Define no keys used in output attribute matching.
++ /.outputattrkeys [
++ /noOutputAttrKeys
++ ] readonly def
++} {
++ % Define the keys used in input attribute matching.
++ /.inputattrkeys [
++ /PageSize /MediaColor /MediaWeight /MediaType /InsertSheet /ManualFeed
++ % The following are documented in Adobe's supplement for v2017.
++ /LeadingEdge /MediaClass
++ ] readonly def
++ % Define other keys used in media selection.
++ /.inputselectionkeys [
++ /MediaPosition /Orientation
++ ] readonly def
++
++ % Define the keys used in output attribute matching.
++ /.outputattrkeys [
++ /OutputType
++ ] readonly def
++} ifelse
+
+ % Define all the parameters that should always be copied to the merged
+ % dictionary.
+@@ -418,7 +439,13 @@
+ /PageSize //false % obsolete alias for .MediaSize
+ /InputAttributes //false
+ .inputattrkeys
+- { dup /PageSize eq
++ % M. Sweet, Easy Software Products:
++ %
++ % Treat LeadingEdge like PageSize so that a common Ghostscript driver
++ % doesn't need the NOMEDIAATTRS definition.
++ %
++ % { dup /PageSize eq
++ { dup dup /PageSize eq exch /LeadingEdge eq or
+ { pop }
+ { { 2 index /InputAttributes .knownget { //null eq } { //true } ifelse } }
+ ifelse
+@@ -499,11 +526,23 @@
+ % They are expected to consume the top 2 operands.
+ % NOTE: we currently treat all values other than 0, 1, or 7 (for PageSize)
+ % the same as 0, i.e., we signal an error.
++%
++% M. Sweet, Easy Software Products:
++%
++% Define NOMEDIAATTRS to turn off the default (but unimplementable) media
++% selection policies for setpagedevice. This is used by CUPS to support
++% the standard Adobe media attributes.
++ SETPDDEBUG { (Rolling back.) = pstack flush } if
+ 0 { % Set errorinfo and signal a configurationerror.
+- pop dup 4 index exch get 2 array astore
+- $error /errorinfo 3 -1 roll put
+- cleartomark
++ NOMEDIAATTRS {
++ % NOMEDIAATTRS means that the default policy is 7...
++ pop 2 index exch 7 put
++ } {
++ pop dup 4 index exch get 2 array astore
++ $error /errorinfo 3 -1 roll put
++ cleartomark
+ /setpagedevice .systemvar /configurationerror signalerror
++ } ifelse
+ } bind
+ 1 { % Roll back the failed request to its previous status.
+ SETPDDEBUG { (Rolling back.) = pstack flush } if