Blob Blame Raw
diff -up cups-1.4.3/filter/texttops.c.texttops-rotate-page cups-1.4.3/filter/texttops.c
--- cups-1.4.3/filter/texttops.c.texttops-rotate-page	2008-11-06 16:42:18.000000000 +0000
+++ cups-1.4.3/filter/texttops.c	2010-05-18 16:42:23.669940884 +0100
@@ -97,6 +97,13 @@ WritePage(void)
 
   puts("gsave");
 
+  /* If we're opereating in Landscape (Orientation == 1 or Orientation == 3)
+     then rotate and translate the page */
+  if ( Orientation & 1 ) {
+    printf ("%d rotate\n", (Orientation & 3) * 90 );
+    printf("0 %.0f neg translate\n", PageLength);
+  }
+
   if (PrettyPrint)
     printf("%d H\n", NumPages);
 
@@ -212,7 +219,7 @@ WriteProlog(const char *title,		/* I - T
 
   puts("%!PS-Adobe-3.0");
   printf("%%%%BoundingBox: 0 0 %.0f %.0f\n", PageWidth, PageLength);
-  printf("%%cupsRotation: %d\n", (Orientation & 3) * 90);
+  puts("%cupsRotation: 0");
   puts("%%Creator: texttops/" CUPS_SVERSION);
   printf("%%%%CreationDate: %s\n", curdate);
   WriteTextComment("Title", title);
@@ -549,6 +556,8 @@ WriteProlog(const char *title,		/* I - T
   puts("%%EndComments");
 
   puts("%%BeginProlog");
+  printf("%%%%Orientation: %s\n", 
+         Orientation & 1 ? "Landscape" : "Portrait");
 
  /*
   * Download any missing fonts...