From 6095c07d20976467f960cd79ed562061194e0828 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Tue, 18 May 2010 16:09:22 +0000 Subject: [PATCH] - 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). --- cups-texttops-rotate-page.patch | 35 +++++++++++++++++++++++++++++++++ cups.spec | 12 ++++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 cups-texttops-rotate-page.patch diff --git a/cups-texttops-rotate-page.patch b/cups-texttops-rotate-page.patch new file mode 100644 index 0000000..2b048cd --- /dev/null +++ b/cups-texttops-rotate-page.patch @@ -0,0 +1,35 @@ +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... diff --git a/cups.spec b/cups.spec index 8ce9e10..8a83da4 100644 --- a/cups.spec +++ b/cups.spec @@ -8,7 +8,7 @@ Summary: Common Unix Printing System Name: cups Version: 1.4.3 -Release: 8%{?dist} +Release: 9%{?dist} License: GPLv2 Group: System Environment/Daemons Source: http://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.bz2 @@ -67,6 +67,7 @@ Patch33: cups-snmp-quirks.patch Patch34: cups-hp-deviceid-oid.patch Patch35: cups-dnssd-deviceid.patch Patch36: cups-ricoh-deviceid-oid.patch +Patch37: cups-texttops-rotate-page.patch Patch100: cups-lspp.patch @@ -274,6 +275,10 @@ module. %patch35 -p1 -b .dnssd-deviceid # Add an SNMP query for Ricoh's device ID OID (STR #3552). %patch36 -p1 -b .ricoh-deviceid-oid +# 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). +%patch37 -p1 -b .texttops-rotate-page %if %lspp # LSPP support. @@ -574,6 +579,11 @@ rm -rf $RPM_BUILD_ROOT %{php_extdir}/phpcups.so %changelog +* Tue May 18 2010 Tim Waugh 1:1.4.3-9 +- 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). + * Thu May 13 2010 Tim Waugh 1:1.4.3-8 - Fixed Ricoh Device ID OID (STR #3552).