5e3e208
diff -up ghostscript-9.08rc1/Resource/Init/gs_fonts.ps.runlibfileifexists ghostscript-9.08rc1/Resource/Init/gs_fonts.ps
5e3e208
--- ghostscript-9.08rc1/Resource/Init/gs_fonts.ps.runlibfileifexists	2013-08-09 14:12:18.000000000 +0100
5e3e208
+++ ghostscript-9.08rc1/Resource/Init/gs_fonts.ps	2013-08-12 18:05:02.065802147 +0100
068e729
@@ -95,10 +95,19 @@ userdict /Fontmap .FontDirectory maxleng
a70c402
                 % stack: dict file fontname filename|aliasname
a70c402
       1 index type /stringtype eq
a70c402
       1 index type /nametype eq and 1 index xcheck and
a70c402
-      1 index /run eq 2 index /.runlibfile eq or and {
a70c402
+      1 index /run eq 2 index /.runlibfile eq 3 index /.runlibfileifexists eq or or and {
a70c402
                 % This is an inclusion entry.
a70c402
-        pop findlibfile { exch pop } { file } ifelse
a70c402
-        2 index exch .readFontmap pop
a70c402
+        0 index /.runlibfileifexists eq {
a70c402
+          pop findlibfile {
a70c402
+            exch pop
a70c402
+            2 index exch .readFontmap pop
a70c402
+          } {
a70c402
+            pop
a70c402
+          } ifelse
a70c402
+        } {
a70c402
+          pop findlibfile { exch pop } { file } ifelse
a70c402
+          2 index exch .readFontmap pop
a70c402
+        } ifelse
a70c402
       } {
a70c402
                 % This is a real entry.
a70c402
                 % Read and pop tokens until a semicolon.
5e3e208
diff -up ghostscript-9.08rc1/Resource/Init/gs_init.ps.runlibfileifexists ghostscript-9.08rc1/Resource/Init/gs_init.ps
5e3e208
--- ghostscript-9.08rc1/Resource/Init/gs_init.ps.runlibfileifexists	2013-08-09 14:12:18.000000000 +0100
5e3e208
+++ ghostscript-9.08rc1/Resource/Init/gs_init.ps	2013-08-12 18:05:02.065802147 +0100
5e3e208
@@ -680,6 +680,14 @@ systemdict /internaldict dup .makeintern
2982191
            { /undefinedfilename signalerror }
2982191
           ifelse
2982191
         } bind def
3e4c6fe
+/runlibfileifexists
2982191
+        {		% We don't want to bind 'run' into this procedure,
2982191
+                        % since run may get redefined.
2982191
+          findlibfile
2982191
+           { exch pop /run .systemvar exec }
2982191
+           { pop }
2982191
+          ifelse
2982191
+        } bind def
3e4c6fe
 /selectdevice
2982191
         { finddevice setdevice .setdefaultscreen } bind def
3e4c6fe
 /signalerror		% <object> <errorname> signalerror -
5e3e208
@@ -848,6 +856,7 @@ userdict /.currentresourcefile //null pu
2982191
         } bind def
3e4c6fe
 % Temporarily substitute it for the real runlibfile.
3e4c6fe
 /.runlibfile /runlibfile load def
2050c98
+/.runlibfileifexists /runlibfileifexists load def
3e4c6fe
 /runlibfile /runlibfile0 load def
3e4c6fe
 
3e4c6fe
 % Create the error handling machinery.