# Dependency of all of OTFFILES could be narrowed to just the relevant
 # one.
 %.bdf: %.bdf.ps $(OTFFILES) Fontmap
-       gs -q -P -dSAFER -dNODISPLAY -dBATCH $< > $@
+       gs -P -q -dSAFER --permit-file-write=$@ -dNODISPLAY -dBATCH -- $< $@
 
 %.otf: %.ttx
        ttx --no-recalc-timestamp -o $@ $<
 
        printf("d setdevice\n");
        printf("/%s findfont %d scalefont setfont\n",
               fullname_to_fontname(get_fullname()), px_height);
-       printf("/f (%%stdout) (w) file def\n");
+       printf("/f ARGUMENTS 0 get (w) file def\n");
        printf("/buf %d string def\n", (px_width + 7) / 8);
        printf("(\\\n");
        printf("STARTFONT 2.1\n");
        printf("RELATIVE_SETWIDTH %d\n", width->ttfwidth * 10);
        printf("RELATIVE_WEIGHT %d\n", weight->ttfweight / 10);
        printf("FACE_NAME \"%s\"\n", get_fullname());
-       printf("FONT_VERSION \") print\n");
-       printf("currentfont /FontInfo get /version get print\n");
+       printf("FONT_VERSION \") f exch writestring\n");
+       printf("currentfont /FontInfo get /version get f exch writestring\n");
        printf("(\"\n");
        printf("FONT_ASCENT %d\n", px_height - base);
        printf("FONT_DESCENT %d\n", base);
                printf("DWIDTH %d 0\n", px_width);
                printf("BBX %d %d 0 %d\n", px_width, px_height, -base);
                printf("BITMAP\n");
-               printf(") print\n");
+               printf(") f exch writestring\n");
                printf("erasepage\n");
                printf("0 %d moveto\n", base);
                printf("/%s glyphshow\n", g->name);
                printf("%d -1 0 {\n", px_height - 1);
                printf(" d exch buf copyscanlines\n");
-               printf(" f exch writehexstring (\n) print\n");
+               printf(" f exch writehexstring (\n) f exch writestring\n");
                printf("} for\n");
                printf("(\\\n");
                printf("ENDCHAR\n");
        }
        printf("ENDFONT\n");
-       printf(") print\n");
+       printf(") f exch writestring\n");
 }