home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume35 / psf3 / patch04 next >
Text File  |  1993-03-02  |  3KB  |  120 lines

  1. Newsgroups: comp.sources.misc
  2. From: tony@ajfcal.cuc.ab.ca (Tony Field)
  3. Subject: v35i109:  psf3 - Postscript print filter system, Patch04
  4. Message-ID: <1993Mar3.161841.15806@sparky.imd.sterling.com>
  5. X-Md4-Signature: 0ce3f0cf469da91337398d5df716e851
  6. Date: Wed, 3 Mar 1993 16:18:41 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: tony@ajfcal.cuc.ab.ca (Tony Field)
  10. Posting-number: Volume 35, Issue 109
  11. Archive-name: psf3/patch04
  12. Environment: ISC, SUNOS, SYSVR3, DOS
  13. Patch-To: psf3: Volume 27, Issue 91-100
  14.  
  15. The following patch to psf fixes problems with CTL/D processing as well
  16. as the usage of ISO-LATIN encoding using the -I switch.
  17.  
  18. apply this patch with:
  19.  
  20.                   patch -p -N < this.file
  21.                
  22. *** old/patchlevel.h    Tue Jun  2 02:19:22 1992
  23. --- patchlevel.h    Fri Feb  5 18:13:57 1993
  24. ***************
  25. *** 31,36 ****
  26.    *    3. correct problem with psfbs and underscore order.
  27.    *    4. remove support for modified lpr/lpd
  28.    *
  29.   */
  30.   
  31. ! #define PATCHLEVEL 5
  32. --- 31,36 ----
  33.    *    3. correct problem with psfbs and underscore order.
  34.    *    4. remove support for modified lpr/lpd
  35.    *
  36.   */
  37.   
  38. ! #define PATCHLEVEL 6
  39. *** old/psf.c    Tue Jun  2 02:18:45 1992
  40. --- psf.c    Fri Feb  5 18:03:31 1993
  41. ***************
  42. *** 299,308 ****
  43. --- 299,309 ----
  44.       char    *getenv();
  45.       int        narrow2x;
  46.       char    *alt_cmd;
  47.       char    *new_marg;
  48.       int        want_stats = 0;
  49. +     char    *first_line;
  50.       char    alt_def_file[200];
  51.       double    atof();
  52.       int        modified_argv = 0;
  53.   
  54.       pid = getpid();
  55. ***************
  56. *** 896,906 ****
  57.       else
  58.           *fname = 0;    
  59.   
  60.       if (fgets (line, LONG_STR, input_fp) == NULL)
  61.           exit (JOB_IS_DONE);
  62. !     if ((strncmp (line, "%!", 2) == 0  ||  strncmp (line, "%%!", 3) == 0)
  63.               &&  print_postscript == 0)
  64.       {    /*    already postscript  copy to output */
  65.           char    last_char;
  66.   
  67.           if (read_access)
  68. --- 897,910 ----
  69.       else
  70.           *fname = 0;    
  71.   
  72.       if (fgets (line, LONG_STR, input_fp) == NULL)
  73.           exit (JOB_IS_DONE);
  74. !     first_line = line;
  75. !     while (*first_line == CTLD_EOJ)            /* skip leading ctl/d */
  76. !         first_line++;
  77. !     if ((strncmp (first_line, "%!", 2) == 0  ||  strncmp (first_line, "%%!", 3) == 0)
  78.               &&  print_postscript == 0)
  79.       {    /*    already postscript  copy to output */
  80.           char    last_char;
  81.   
  82.           if (read_access)
  83. ***************
  84. *** 2162,2177 ****
  85.       this = (font_number * 4) + (print_attribute & 0x03);
  86.       fonts_used[this] = 1;
  87.   
  88.       if (isolatin)
  89.       {
  90.           strcpy (new_font_name, fonts[this]);
  91.           strcat (new_font_name, "-ISO");
  92. !         if (fonts_iso[this] == 0)
  93. !         {    fprintf (output_fp, "/%s /%s ReEncodeISO\n", new_font_name, fonts[this]);
  94. !             fonts_iso[this] = 1;
  95. !         }
  96.           fontname = new_font_name;
  97.       }
  98.       else
  99.           fontname = fonts[this];
  100.   
  101. --- 2166,2181 ----
  102.       this = (font_number * 4) + (print_attribute & 0x03);
  103.       fonts_used[this] = 1;
  104.   
  105.       if (isolatin)
  106.       {
  107. +         /*    re-encode on every page! */
  108. +     
  109.           strcpy (new_font_name, fonts[this]);
  110.           strcat (new_font_name, "-ISO");
  111. !         fprintf (output_fp, "/%s /%s ReEncodeISO\n", new_font_name, fonts[this]);
  112. !         fonts_iso[this] = 1;
  113.           fontname = new_font_name;
  114.       }
  115.       else
  116.           fontname = fonts[this];
  117.   
  118.  
  119. exit 0 # Just in case...
  120.