home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / extra18 / ctricks / as2ps / astops.c next >
Encoding:
C/C++ Source or Header  |  1992-01-29  |  1.9 KB  |  79 lines

  1. /* ------------------------------------------------- */
  2. /*                    ASTOPS.C                       */
  3. /*        Konvertierung ASCII nach PostScript        */
  4. /*         (c) 1992 Gerald Wick & DMV-Verlag         */
  5. /* ------------------------------------------------- */
  6.  
  7. #define X strcat
  8. #define Gr 12
  9. #define Pnr(n) \
  10.  printf("60 800 moveto (Seite %d) show\nshowpage\n",n)
  11.  
  12. char c,cl[322];
  13. int  y=770,nl,l,nc,pn=1;
  14.  
  15. void main()
  16. {
  17.  printf("/Times-Roman findfont %d scalefont setfont\n",
  18.         Gr);
  19.  
  20.   nl = l = nc = 0;
  21.   do {
  22.     cl[l] = 0;
  23.     switch(c = getchar()) {
  24.       case -1  : break;
  25.       case  9  : X(cl,"     ");
  26.                  l += 5;
  27.                  break;
  28.       case '\n': nl = 1;
  29.                  break;
  30.       case '\\': X(cl,"\\134");
  31.                  l += 4;
  32.                  break;
  33.       case 'ä' : X(cl,"ae");
  34.                  l += 2;
  35.                  break;
  36.       case 'ö' : X(cl,"oe");
  37.                  l += 2;
  38.                  break;
  39.       case 'ü' : X(cl,"ue");
  40.                  l += 2;
  41.                  break;
  42.       case 'Ä' : X(cl,"Ae");
  43.                  l += 2;
  44.                  break;
  45.       case 'Ö' : X(cl,"Oe");
  46.                  l += 2;
  47.                  break;
  48.       case 'Ü' : X(cl,"Ue");
  49.                  l += 2;
  50.                  break;
  51.       case 'ß' : X(cl,"\\373");
  52.                  l += 4;
  53.                  break;
  54.       case '(' : X(cl,"\\050");
  55.                  l += 4;
  56.                  break;
  57.       case ')' : X(cl,"\\051");
  58.                  l += 4;
  59.                  break;
  60.       default  : cl[l++]=c;
  61.     }
  62.    if (nl || (++nc >= 90)) {
  63.      l = nc = nl = 0;
  64.      y -= (Gr+2);
  65.      if (y < 60) {
  66.        y = 770;
  67.        Pnr(pn++);
  68.      }
  69.      printf("40 %d moveto\n(%s) show\n", y, cl);
  70.    }
  71.   }
  72.   while (c != -1);
  73.   Pnr(pn);
  74.   putchar(4);
  75. }
  76. /* ------------------------------------------------- */
  77. /*            Ende von ASTOPS.C                      */
  78.  
  79.