cups/cups-texttops-rotate-page.patch
Tim Waugh 6095c07d20 - Adjust texttops output to be in natural orientation (STR #3563). This
fixes page-label orientation when texttops is used in the filter chain
    (bug #572338).
2010-05-18 16:09:22 +00:00

36 lines
1.2 KiB
Diff

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...