]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Import CUPS 1.3.2.
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Tue, 18 Sep 2007 20:56:41 +0000 (20:56 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Tue, 18 Sep 2007 20:56:41 +0000 (20:56 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@477 a1ca3aef-8c08-0410-bb20-df032aa958be

77 files changed:
CHANGES.txt
INSTALL.txt
README.txt
backend/ipp.c
config-scripts/cups-common.m4
config-scripts/cups-compiler.m4
config-scripts/cups-directories.m4
cups/cups.h
cups/file.c
cups/testfile.c
doc/es/images/button-accept-jobs.gif
doc/es/images/button-add-class.gif
doc/es/images/button-add-printer.gif
doc/es/images/button-add-rss-subscription.gif [new file with mode: 0644]
doc/es/images/button-add-this-printer.gif
doc/es/images/button-cancel-all-jobs.gif
doc/es/images/button-cancel-job.gif
doc/es/images/button-cancel-subscription.gif [new file with mode: 0644]
doc/es/images/button-change-settings.gif
doc/es/images/button-clean-print-heads.gif
doc/es/images/button-clear.gif
doc/es/images/button-continue.gif
doc/es/images/button-delete-class.gif
doc/es/images/button-delete-printer.gif
doc/es/images/button-edit-configuration-file.gif
doc/es/images/button-export-samba.gif
doc/es/images/button-find-new-printers.gif [new file with mode: 0644]
doc/es/images/button-help.gif
doc/es/images/button-hold-job.gif
doc/es/images/button-manage-classes.gif
doc/es/images/button-manage-jobs.gif
doc/es/images/button-manage-printers.gif
doc/es/images/button-manage-server.gif
doc/es/images/button-modify-class.gif
doc/es/images/button-modify-printer.gif
doc/es/images/button-move-job.gif
doc/es/images/button-move-jobs.gif
doc/es/images/button-print-self-test-page.gif
doc/es/images/button-print-test-page.gif
doc/es/images/button-publish-printer.gif
doc/es/images/button-reject-jobs.gif
doc/es/images/button-release-job.gif
doc/es/images/button-restart-job.gif
doc/es/images/button-save-changes.gif
doc/es/images/button-search.gif
doc/es/images/button-set-allowed-users.gif
doc/es/images/button-set-as-default.gif
doc/es/images/button-set-printer-options.gif
doc/es/images/button-show-active.gif
doc/es/images/button-show-all.gif
doc/es/images/button-show-completed.gif
doc/es/images/button-show-next.gif
doc/es/images/button-show-previous.gif
doc/es/images/button-sort-ascending.gif
doc/es/images/button-sort-descending.gif
doc/es/images/button-start-class.gif
doc/es/images/button-start-printer.gif
doc/es/images/button-stop-class.gif
doc/es/images/button-stop-printer.gif
doc/es/images/button-unpublish-printer.gif
doc/es/images/button-use-default-config.gif
doc/es/images/button-view-access-log.gif
doc/es/images/button-view-error-log.gif
doc/es/images/button-view-page-log.gif
doc/es/images/button-view-printable-version.gif
doc/es/images/buttons_es.txt [new file with mode: 0644]
doc/images/raster.png [new file with mode: 0644]
doc/images/raster.svg [new file with mode: 0644]
locale/checkpo.c [new file with mode: 0644]
packaging/cups.list.in
packaging/cups.spec.in
scheduler/dirsvc.c
scheduler/printers.c
templates/es/add-rss-subscription.tmpl [new file with mode: 0644]
templates/es/list-available-printers.tmpl [new file with mode: 0644]
templates/es/subscription-added.tmpl [new file with mode: 0644]
templates/es/subscription-canceled.tmpl [new file with mode: 0644]

index a2ff9458be78103dbfc30e985d90eb2abae8f0d4..84ae8eda5cc86495b0645d7cf329b12aea9a2153 100644 (file)
@@ -1,6 +1,24 @@
-CHANGES.txt - 2007-09-13
+CHANGES.txt - 2007-09-18
 ------------------------
 
+CHANGES IN CUPS V1.3.2
+
+       - The 1.3.1 release was incorrectly created from the
+         1.4.x source tree (STR #2519)
+       - Added support for 32/64-bit libraries on HP-UX
+         (STR #2520)
+       - The scheduler incorrectly used portrait as the default
+         orientation (STR #2513)
+       - The scheduler no longer writes the printcap file for
+         every remote printer update (STR #2512)
+       - Remote raw printing with multiple copies did not work
+         (STR #2518)
+       - Updated the configure script to require at least autoconf
+         2.60 (STR #2515)
+       - Some gzip'd PPD files were not read in their entirety
+         (STR #2510)
+
+
 CHANGES IN CUPS V1.3.1
 
        - Documentation updates.
index 24b3c39672205612cbaa70559fd29eef1e1ffc53..8b32d9cbaadddb7bc8a0f690014ae73940912dcc 100644 (file)
@@ -1,4 +1,4 @@
-INSTALL - CUPS v1.3.1 - 2007-09-14
+INSTALL - CUPS v1.3.2 - 2007-09-18
 ----------------------------------
 
 This file describes how to compile and install CUPS from source
index 582250f03447a5923f028400c8f8c134f05d4acf..3b3fd17e37523ad4bbadd79df1fb8ea40b13b68a 100644 (file)
@@ -1,4 +1,4 @@
-README - CUPS v1.3.1 - 2007-09-14
+README - CUPS v1.3.2 - 2007-09-18
 ---------------------------------
 
 Looking for compile instructions?  Read the file "INSTALL.txt"
index 693a85bc8dc761c677c59e1de46b102b1c485867..7cbea4df48ae464e5f7f82329110acaad0ca83e4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: ipp.c 6911 2007-09-04 20:35:08Z mike $"
+ * "$Id: ipp.c 6967 2007-09-17 23:30:52Z mike $"
  *
  *   IPP backend for the Common UNIX Printing System (CUPS).
  *
@@ -132,7 +132,8 @@ main(int  argc,                             /* I - Number of command-line args */
   ipp_attribute_t *printer_accepting;  /* printer-is-accepting-jobs */
   int          copies,                 /* Number of copies for job */
                copies_remaining;       /* Number of copies remaining */
-  const char   *content_type;          /* CONTENT_TYPE environment variable */
+  const char   *content_type,          /* CONTENT_TYPE environment variable */
+               *final_content_type;    /* FINAL_CONTENT_TYPE environment var */
 #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
   struct sigaction action;             /* Actions for POSIX signals */
 #endif /* HAVE_SIGACTION && !HAVE_SIGSET */
@@ -209,12 +210,16 @@ main(int  argc,                           /* I - Number of command-line args */
   * Get the (final) content type...
   */
 
-  if ((content_type = getenv("FINAL_CONTENT_TYPE")) == NULL)
-    if ((content_type = getenv("CONTENT_TYPE")) == NULL)
-      content_type = "application/octet-stream";
+  if ((content_type = getenv("CONTENT_TYPE")) == NULL)
+    content_type = "application/octet-stream";
 
-  if (!strncmp(content_type, "printer/", 8))
-    content_type = "application/vnd.cups-raw";
+  if ((final_content_type = getenv("FINAL_CONTENT_TYPE")) == NULL)
+  {
+    final_content_type = content_type;
+
+    if (!strncmp(final_content_type, "printer/", 8))
+      final_content_type = "application/vnd.cups-raw";
+  }
 
  /*
   * Extract the hostname and printer name from the URI...
@@ -426,10 +431,9 @@ main(int  argc,                            /* I - Number of command-line args */
     * Point to the single file from stdin...
     */
 
-    filename  = tmpfilename;
-    files     = &filename;
-    num_files = 1;
-
+    filename     = tmpfilename;
+    num_files    = 1;
+    files        = &filename;
     send_options = 0;
   }
   else
@@ -438,10 +442,9 @@ main(int  argc,                            /* I - Number of command-line args */
     * Point to the files on the command-line...
     */
 
-    num_files = argc - 6;
-    files     = argv + 6;
-
-    send_options = strncasecmp(content_type, "application/vnd.cups-", 21) != 0;
+    num_files    = argc - 6;
+    files        = argv + 6;
+    send_options = 1;
 
 #ifdef HAVE_LIBZ
     if (compression)
@@ -859,8 +862,7 @@ main(int  argc,                             /* I - Number of command-line args */
     num_options = cupsParseOptions(argv[5], 0, &options);
 
 #ifdef __APPLE__
-    if (content_type != NULL &&
-        !strcasecmp(content_type, "application/pictwps") && num_files == 1)
+    if (!strcasecmp(content_type, "application/pictwps") && num_files == 1)
     {
       if (format_sup != NULL)
       {
@@ -886,23 +888,23 @@ main(int  argc,                           /* I - Number of command-line args */
        * number of copies to 1...
        */
 
-       content_type     = "application/postscript";
-       copies           = 1;
-       copies_remaining = 1;
-        send_options     = 0;
+       final_content_type = "application/postscript";
+       copies             = 1;
+       copies_remaining   = 1;
+        send_options       = 0;
       }
     }
 #endif /* __APPLE__ */
 
-    if (content_type != NULL && format_sup != NULL)
+    if (format_sup != NULL)
     {
       for (i = 0; i < format_sup->num_values; i ++)
-        if (!strcasecmp(content_type, format_sup->values[i].string.text))
+        if (!strcasecmp(final_content_type, format_sup->values[i].string.text))
           break;
 
       if (i < format_sup->num_values)
         ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE,
-                    "document-format", NULL, content_type);
+                    "document-format", NULL, final_content_type);
     }
 
     if (copies_sup && version > 0 && send_options)
@@ -1756,5 +1758,5 @@ sigterm_handler(int sig)          /* I - Signal */
 
 
 /*
- * End of "$Id: ipp.c 6911 2007-09-04 20:35:08Z mike $".
+ * End of "$Id: ipp.c 6967 2007-09-17 23:30:52Z mike $".
  */
index 7bfe47c615c0c825374534910e1677de0b1d16f9..648ed348d48505270411e70238c559e8869d6c39 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl "$Id: cups-common.m4 6946 2007-09-12 18:28:16Z mike $"
+dnl "$Id: cups-common.m4 6965 2007-09-17 21:34:07Z mike $"
 dnl
 dnl   Common configuration stuff for the Common UNIX Printing System (CUPS).
 dnl
@@ -13,14 +13,14 @@ dnl   which should have been included with this file.  If this file is
 dnl   file is missing or damaged, see the license at "http://www.cups.org/".
 dnl
 
-dnl We need at least autoconf 2.50...
-AC_PREREQ(2.50)
+dnl We need at least autoconf 2.60...
+AC_PREREQ(2.60)
 
 dnl Set the name of the config header file...
 AC_CONFIG_HEADER(config.h)
 
 dnl Versio number information...
-CUPS_VERSION="1.3.1"
+CUPS_VERSION="1.3.2"
 CUPS_REVISION=""
 #if test -z "$CUPS_REVISION" -a -d .svn; then
 #      CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
@@ -287,5 +287,5 @@ AC_SUBST(DEFAULT_IPP_PORT)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
 
 dnl
-dnl End of "$Id: cups-common.m4 6946 2007-09-12 18:28:16Z mike $".
+dnl End of "$Id: cups-common.m4 6965 2007-09-17 21:34:07Z mike $".
 dnl
index c89a2a613fd417b15d693f5b66a714f071d36ec0..beec9d61734fbff6fa25222ac7aba85cec6bf0d2 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl "$Id: cups-compiler.m4 6698 2007-07-20 14:15:44Z mike $"
+dnl "$Id: cups-compiler.m4 6976 2007-09-18 20:39:31Z mike $"
 dnl
 dnl   Compiler stuff for the Common UNIX Printing System (CUPS).
 dnl
@@ -301,6 +301,40 @@ else
                        if test $PICFLAG = 1; then
                                OPTIM="+z $OPTIM"
                        fi
+
+                       if test "x$enable_32bit" = xyes; then
+                               # Build 32-bit libraries, 64-bit base...
+                               if test -z "$with_arch32flags"; then
+                                       ARCH32FLAGS="+DD32"
+                               else
+                                       ARCH32FLAGS="$with_arch32flags"
+                               fi
+
+                               if test -z "$with_archflags"; then
+                                       if test -z "$with_arch64flags"; then
+                                               ARCHFLAGS="+DD64"
+                                       else
+                                               ARCHFLAGS="$with_arch64flags"
+                                       fi
+                               fi
+                       fi
+
+                       if test "x$enable_64bit" = xyes; then
+                               # Build 64-bit libraries, 32-bit base...
+                               if test -z "$with_arch64flags"; then
+                                       ARCH64FLAGS="+DD64"
+                               else
+                                       ARCH64FLAGS="$with_arch64flags"
+                               fi
+
+                               if test -z "$with_archflags"; then
+                                       if test -z "$with_arch32flags"; then
+                                               ARCHFLAGS="+DD32"
+                                       else
+                                               ARCHFLAGS="$with_arch32flags"
+                                       fi
+                               fi
+                       fi
                        ;;
                IRIX)
                        if test -z "$OPTIM"; then
@@ -464,5 +498,5 @@ case $uname in
 esac
 
 dnl
-dnl End of "$Id: cups-compiler.m4 6698 2007-07-20 14:15:44Z mike $".
+dnl End of "$Id: cups-compiler.m4 6976 2007-09-18 20:39:31Z mike $".
 dnl
index a0bdffcbe13d1f4d49f948f14ed1836d5c445ec5..86e1d55622c6af92a860a6a2bfc3b448a3f35dfc 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl "$Id: cups-directories.m4 6838 2007-08-22 20:00:19Z mike $"
+dnl "$Id: cups-directories.m4 6976 2007-09-18 20:39:31Z mike $"
 dnl
 dnl   Directory stuff for the Common UNIX Printing System (CUPS).
 dnl
@@ -99,17 +99,23 @@ if test "$sysconfdir" = "\${prefix}/etc"; then
        fi
 fi
 
-dnl Fix "libdir" variable for IRIX 6.x...
+dnl Fix "libdir" variable...
 if test "$libdir" = "\${exec_prefix}/lib"; then
-       if test "$uname" = "IRIX"; then
-               libdir="$exec_prefix/lib32"
-       else
-               if test "$uname" = Linux -a -d /usr/lib64; then
-                       libdir="$exec_prefix/lib64"
-               else
-                       libdir="$exec_prefix/lib"
-               fi
-       fi
+       case "$uname" in
+               IRIX*)
+                       libdir="$exec_prefix/lib32"
+                       ;;
+               Linux*)
+                       if test -d /usr/lib64; then
+                               libdir="$exec_prefix/lib64"
+                       fi
+                       ;;
+               HP-UX*)
+                       if test -d /usr/lib/hpux32; then
+                               libdir="$exec_prefix/lib/hpux32"
+                       fi
+                       ;;
+       esac
 fi
 
 dnl Setup init.d locations...
@@ -146,8 +152,8 @@ if test x$rcdir = x; then
                HP-UX*)
                        INITDIR="/sbin"
                        RCLEVELS="2"
-                       RCSTART="620"
-                       RCSTOP="380"
+                       RCSTART="380"
+                       RCSTOP="620"
                        ;;
 
                IRIX*)
@@ -291,11 +297,12 @@ fi
 AC_SUBST(CUPS_FONTPATH)
 AC_DEFINE_UNQUOTED(CUPS_FONTPATH, "$CUPS_FONTPATH")
 
-# Locale data
-if test "$localedir" = "\${datarootdir}/locale"; then
+# Locale data (initial assignment allows us not to require autoconf 2.60)
+localedir="${localedir:=}"
+if test "$localedir" = "\${datarootdir}/locale" -o "$localedir" = ""; then
        case "$uname" in
                Linux | GNU | *BSD* | Darwin*)
-                       CUPS_LOCALEDIR="$datarootdir/locale"
+                       CUPS_LOCALEDIR="$datadir/locale"
                        ;;
 
                OSF1* | AIX*)
@@ -360,5 +367,5 @@ AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$localstatedir/run/cups")
 AC_SUBST(CUPS_STATEDIR)
 
 dnl
-dnl End of "$Id: cups-directories.m4 6838 2007-08-22 20:00:19Z mike $".
+dnl End of "$Id: cups-directories.m4 6976 2007-09-18 20:39:31Z mike $".
 dnl
index 9cb3e2d1511f76e7e31b13379460ce19a7ac8413..a6cedb9f1cdcc91a799d08bd370647dc496a5337 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: cups.h 6946 2007-09-12 18:28:16Z mike $"
+ * "$Id: cups.h 6965 2007-09-17 21:34:07Z mike $"
  *
  *   API definitions for the Common UNIX Printing System (CUPS).
  *
@@ -59,10 +59,10 @@ extern "C" {
  * Constants...
  */
 
-#  define CUPS_VERSION         1.0301
+#  define CUPS_VERSION         1.0302
 #  define CUPS_VERSION_MAJOR   1
 #  define CUPS_VERSION_MINOR   3
-#  define CUPS_VERSION_PATCH   1
+#  define CUPS_VERSION_PATCH   2
 #  define CUPS_DATE_ANY                -1
 
 
@@ -256,5 +256,5 @@ extern void         cupsSetDefaultDest(const char *name,
 #endif /* !_CUPS_CUPS_H_ */
 
 /*
- * End of "$Id: cups.h 6946 2007-09-12 18:28:16Z mike $".
+ * End of "$Id: cups.h 6965 2007-09-17 21:34:07Z mike $".
  */
index 9ad5ee1b358c12b884ffff69147f262f8bdf2776..eaebda5c7005c02bd805c35f014f05fc41fe958d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: file.c 6649 2007-07-11 21:46:42Z mike $"
+ * "$Id: file.c 6963 2007-09-17 20:35:54Z mike $"
  *
  *   File functions for the Common UNIX Printing System (CUPS).
  *
@@ -1207,7 +1207,7 @@ cupsFileRead(cups_file_t *fp,             /* I - CUPS file */
     if (fp->ptr >= fp->end)
       if (cups_fill(fp) <= 0)
       {
-        DEBUG_printf(("    cups_fill() returned -1, total=%d\n", total));
+        DEBUG_printf(("    cups_fill() returned -1, total=%d\n", (int)total));
 
         if (total > 0)
           return ((ssize_t)total);
@@ -1235,7 +1235,7 @@ cupsFileRead(cups_file_t *fp,             /* I - CUPS file */
   * Return the total number of bytes read...
   */
 
-  DEBUG_printf(("    total=%d\n", total));
+  DEBUG_printf(("    total=%d\n", (int)total));
 
   return ((ssize_t)total);
 }
@@ -1703,6 +1703,7 @@ cups_fill(cups_file_t *fp)                /* I - CUPS file */
 {
   ssize_t              bytes;          /* Number of bytes read */
 #ifdef HAVE_LIBZ
+  int                  status;         /* Decompression status */
   const unsigned char  *ptr,           /* Pointer into buffer */
                        *end;           /* End of buffer */
 #endif /* HAVE_LIBZ */
@@ -1921,7 +1922,13 @@ cups_fill(cups_file_t *fp)               /* I - CUPS file */
       fp->stream.next_out  = (Bytef *)fp->buf;
       fp->stream.avail_out = sizeof(fp->buf);
 
-      if (inflate(&(fp->stream), Z_NO_FLUSH) == Z_STREAM_END)
+      status = inflate(&(fp->stream), Z_NO_FLUSH);
+
+      if (fp->stream.next_out > (Bytef *)fp->buf)
+        fp->crc = crc32(fp->crc, (Bytef *)fp->buf,
+                       fp->stream.next_out - (Bytef *)fp->buf);
+
+      if (status == Z_STREAM_END)
       {
        /*
        * Read the CRC and length...
@@ -1950,6 +1957,9 @@ cups_fill(cups_file_t *fp)                /* I - CUPS file */
             * Bad CRC, mark end-of-file...
            */
 
+            DEBUG_printf(("cups_fill: tcrc=%08x, fp->crc=%08x\n",
+                         (unsigned int)tcrc, (unsigned int)fp->crc));
+
            fp->eof = 1;
 
            return (-1);
@@ -2126,5 +2136,5 @@ cups_write(cups_file_t *fp,               /* I - CUPS file */
 
 
 /*
- * End of "$Id: file.c 6649 2007-07-11 21:46:42Z mike $".
+ * End of "$Id: file.c 6963 2007-09-17 20:35:54Z mike $".
  */
index 2a50e677f08fd4103bc5835f7b649b7fb041a1ee..db78a2cf7e0665f127431e5f0d385b57d5ea8e34 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testfile.c 6649 2007-07-11 21:46:42Z mike $"
+ * "$Id: testfile.c 6963 2007-09-17 20:35:54Z mike $"
  *
  *   File test program for the Common UNIX Printing System (CUPS).
  *
@@ -16,7 +16,8 @@
  *
  * Contents:
  *
- *   main() - Main entry.
+ *   main()             - Main entry.
+ *   read_write_tests() - Perform read/write tests.
  */
 
 /*
@@ -149,6 +150,8 @@ read_write_tests(int compression)   /* I - Use compression? */
   unsigned char        readbuf[8192],          /* Read buffer */
                writebuf[8192];         /* Write buffer */
   int          byte;                   /* Byte from file */
+  static const char *partial_line = "partial line";
+                                       /* Partial line */
 
 
  /*
@@ -253,11 +256,25 @@ read_write_tests(int compression) /* I - Use compression? */
 
     fputs("cupsFileWrite(): ", stdout);
 
-    for (i = 0; i < 100; i ++)
+    for (i = 0; i < 10000; i ++)
       if (cupsFileWrite(fp, (char *)writebuf, sizeof(writebuf)) < 0)
         break;
 
-    if (i >= 100)
+    if (i >= 10000)
+      puts("PASS");
+    else
+    {
+      printf("FAIL (%s)\n", strerror(errno));
+      status ++;
+    }
+
+   /*
+    * cupsFilePuts() with partial line...
+    */
+
+    fputs("cupsFilePuts(\"partial line\"): ", stdout);
+
+    if (cupsFilePuts(fp, partial_line) > 0)
       puts("PASS");
     else
     {
@@ -405,13 +422,13 @@ read_write_tests(int compression) /* I - Use compression? */
 
     fputs("cupsFileRead(): ", stdout);
 
-    for (i = 0; i < 100; i ++)
+    for (i = 0; i < 10000; i ++)
       if ((byte = cupsFileRead(fp, (char *)readbuf, sizeof(readbuf))) < 0)
         break;
       else if (memcmp(readbuf, writebuf, sizeof(readbuf)))
         break;
 
-    if (i >= 100)
+    if (i >= 10000)
       puts("PASS");
     else if (byte > 0)
     {
@@ -430,6 +447,26 @@ read_write_tests(int compression)  /* I - Use compression? */
       status ++;
     }
 
+   /*
+    * cupsFileGetChar() with partial line...
+    */
+
+    fputs("cupsFileGetChar(partial line): ", stdout);
+
+    for (i = 0; i < strlen(partial_line); i ++)
+      if ((byte = cupsFileGetChar(fp)) < 0)
+        break;
+      else if (byte != partial_line[i])
+        break;
+
+    if (!partial_line[i])
+      puts("PASS");
+    else
+    {
+      printf("FAIL (got '%c', expected '%c')\n", byte, partial_line[i]);
+      status ++;
+    }
+
    /*
     * cupsFileClose()
     */
@@ -459,5 +496,5 @@ read_write_tests(int compression)   /* I - Use compression? */
 
 
 /*
- * End of "$Id: testfile.c 6649 2007-07-11 21:46:42Z mike $".
+ * End of "$Id: testfile.c 6963 2007-09-17 20:35:54Z mike $".
  */
index f0103e3113f670f00fa1457a5b4ddeed2d350d29..3e635b771ec352b89abe2caa87094bf4584033f3 100644 (file)
Binary files a/doc/es/images/button-accept-jobs.gif and b/doc/es/images/button-accept-jobs.gif differ
index 08307784dc4aeadf8a4e3165cf1d547185f08523..366dbf9ceda905e11a1c0a7cc1c5dd23986019d3 100644 (file)
Binary files a/doc/es/images/button-add-class.gif and b/doc/es/images/button-add-class.gif differ
index 48141726ad30620c94373ca10dc0c359cf441d79..44f8d53976385e86c7c800a265900c1410b72222 100644 (file)
Binary files a/doc/es/images/button-add-printer.gif and b/doc/es/images/button-add-printer.gif differ
diff --git a/doc/es/images/button-add-rss-subscription.gif b/doc/es/images/button-add-rss-subscription.gif
new file mode 100644 (file)
index 0000000..2dbb859
Binary files /dev/null and b/doc/es/images/button-add-rss-subscription.gif differ
index 6d9de0cbb5884c83bee16cc15501f38936944089..94198d484b37faede429920a07cd59d5d1aca4a7 100644 (file)
Binary files a/doc/es/images/button-add-this-printer.gif and b/doc/es/images/button-add-this-printer.gif differ
index 2f3ed26b9071fb603e6d602bf2399aaceaa0c20c..557c39e53f9578a2d0217d41866bb253cfccdcc5 100644 (file)
Binary files a/doc/es/images/button-cancel-all-jobs.gif and b/doc/es/images/button-cancel-all-jobs.gif differ
index 0e778c37840424ec4efd809144ed26b9d9f961dc..dd29b0212437a2dac85f8e9deab150dd85c3960c 100644 (file)
Binary files a/doc/es/images/button-cancel-job.gif and b/doc/es/images/button-cancel-job.gif differ
diff --git a/doc/es/images/button-cancel-subscription.gif b/doc/es/images/button-cancel-subscription.gif
new file mode 100644 (file)
index 0000000..5c8a4d6
Binary files /dev/null and b/doc/es/images/button-cancel-subscription.gif differ
index 05125ea4a95916e6f81bd8284315c4eb7f9acb97..c0ea42de20d051af8fb220078c01ba86c30f9b2c 100644 (file)
Binary files a/doc/es/images/button-change-settings.gif and b/doc/es/images/button-change-settings.gif differ
index 3744d52fa0d86bca7bdf52c0250559f590ece518..2e833c8eaa565478d2cd05c5849f1f37f8507256 100644 (file)
Binary files a/doc/es/images/button-clean-print-heads.gif and b/doc/es/images/button-clean-print-heads.gif differ
index b8fdadd0d1c7ae4a17a67d9b38ed166f3dcbe2a2..4476911bf3fb7cc35cc55f425623c6fc67367212 100644 (file)
Binary files a/doc/es/images/button-clear.gif and b/doc/es/images/button-clear.gif differ
index 4d77bc4260826ba2154a7091340fa965df475f29..f6c27a64783d2fd05ded50c0cdf6b74423b79450 100644 (file)
Binary files a/doc/es/images/button-continue.gif and b/doc/es/images/button-continue.gif differ
index 40492e70c5b1fdc477c63949ddece80ffe0f2c56..c7de009522e1fa6aeade4906909e73303decd281 100644 (file)
Binary files a/doc/es/images/button-delete-class.gif and b/doc/es/images/button-delete-class.gif differ
index 620515e1c9bbc4d53c07fe56f158d14e3d6bb01a..e1f4b110bd001041dd211b72e534811cef589b11 100644 (file)
Binary files a/doc/es/images/button-delete-printer.gif and b/doc/es/images/button-delete-printer.gif differ
index 6d4ffd03f242b5e4719c968ecd9e1093f25b9893..f12a90379844edb3d9cf9629be0e786569533639 100644 (file)
Binary files a/doc/es/images/button-edit-configuration-file.gif and b/doc/es/images/button-edit-configuration-file.gif differ
index fb487da66077fee9e89b858638cf413acae86da5..42d9d30b4745906643573f2405e7c0c564c3d05c 100644 (file)
Binary files a/doc/es/images/button-export-samba.gif and b/doc/es/images/button-export-samba.gif differ
diff --git a/doc/es/images/button-find-new-printers.gif b/doc/es/images/button-find-new-printers.gif
new file mode 100644 (file)
index 0000000..301d32e
Binary files /dev/null and b/doc/es/images/button-find-new-printers.gif differ
index 4e6972f6478a6fa1365d906be22973fbfb26d9a2..37ee0de62cca782f3b1b37f8f60c7d035d146d9b 100644 (file)
Binary files a/doc/es/images/button-help.gif and b/doc/es/images/button-help.gif differ
index 366769fb76fdafbed69e226e53805af6442e1ecb..74ead765575f9e69041769e97ff8b655b9111382 100644 (file)
Binary files a/doc/es/images/button-hold-job.gif and b/doc/es/images/button-hold-job.gif differ
index 591a37bd278345dab55f0dfa48849afdac206806..a3d80dc31a8ed2011c0efab47f2fb633e18282e1 100644 (file)
Binary files a/doc/es/images/button-manage-classes.gif and b/doc/es/images/button-manage-classes.gif differ
index 98a571f835c6fffcf5049bed5a0f840c19db75d3..6a2d949154efe7b7c18d18f01a858278755cc2f3 100644 (file)
Binary files a/doc/es/images/button-manage-jobs.gif and b/doc/es/images/button-manage-jobs.gif differ
index c904c90b014eeaa098ef3903c70d9f9d0f43d8bb..25008b64896e269735f65c9ae754951adcdd6706 100644 (file)
Binary files a/doc/es/images/button-manage-printers.gif and b/doc/es/images/button-manage-printers.gif differ
index f2d80ea8bc29242947fdc708d710d424a206d4f3..b53c87a7821714b284b816677cf44e221ab830c2 100644 (file)
Binary files a/doc/es/images/button-manage-server.gif and b/doc/es/images/button-manage-server.gif differ
index d7a7357c2a5684684b27aa6dbec6647f078c24c9..b7069e0043829bb08106061aed06099cce0d4b6f 100644 (file)
Binary files a/doc/es/images/button-modify-class.gif and b/doc/es/images/button-modify-class.gif differ
index dbccca61234248f6b02dabc5e991e608e17fa5af..ee5a6835509b61884b2aaec3b7046dc93f2c5700 100644 (file)
Binary files a/doc/es/images/button-modify-printer.gif and b/doc/es/images/button-modify-printer.gif differ
index 613a06308c51222b10951c056cbd9784a74dab69..d5cf9c3763fe44a5930915e401ccf16c014666e0 100644 (file)
Binary files a/doc/es/images/button-move-job.gif and b/doc/es/images/button-move-job.gif differ
index 47a31d10fbe3da6ea663180bd61d995c1bc81094..b2fd0a35b4b5f79a552d4f5675e1a59d9b82d473 100644 (file)
Binary files a/doc/es/images/button-move-jobs.gif and b/doc/es/images/button-move-jobs.gif differ
index ecf175dc43cdfe4074d8390fbc3bf42dc7b42cc7..9e2d8cbaa47ffe320f4b9da07dbcca05eef95cd5 100644 (file)
Binary files a/doc/es/images/button-print-self-test-page.gif and b/doc/es/images/button-print-self-test-page.gif differ
index 30e8fe4dadcdb553165b7c3172943d129a4e6a33..07058119e34420de7d4934f80032c57de4267163 100644 (file)
Binary files a/doc/es/images/button-print-test-page.gif and b/doc/es/images/button-print-test-page.gif differ
index c5134f68417f089a6d605f939b0141bfa6e2046f..f05a81790fea65d147d8519d65b74f2165ef1b17 100644 (file)
Binary files a/doc/es/images/button-publish-printer.gif and b/doc/es/images/button-publish-printer.gif differ
index 164dcd271b18de460aad29f33aa561f95f0dfc13..6ad9fad90ebd802ee44f6d9ab0388d9674ce44b3 100644 (file)
Binary files a/doc/es/images/button-reject-jobs.gif and b/doc/es/images/button-reject-jobs.gif differ
index 303e0205db1340387aa91d479b72f264115a1528..0e17928199bb715cfe4be8973657d60e918ceae2 100644 (file)
Binary files a/doc/es/images/button-release-job.gif and b/doc/es/images/button-release-job.gif differ
index 15e69658427385f7b49f80a8a5c6b921052e0507..8a716919c383c03d3f66c1789027a9a859e301df 100644 (file)
Binary files a/doc/es/images/button-restart-job.gif and b/doc/es/images/button-restart-job.gif differ
index c7f94d144277c2da113a4e4088325e6bfb7974c1..1dc1a383118d1f074b1efd5609a4746179694862 100644 (file)
Binary files a/doc/es/images/button-save-changes.gif and b/doc/es/images/button-save-changes.gif differ
index d075ef7810af690cc0b12df352c517600b824ff9..d25e74525a2231ceb38c4dad066ad4782fb3581e 100644 (file)
Binary files a/doc/es/images/button-search.gif and b/doc/es/images/button-search.gif differ
index 01a14ac523faf3566163ee3d96f03b0604db3415..c61bbed567b45090a93d4031e8d182b9201c60af 100644 (file)
Binary files a/doc/es/images/button-set-allowed-users.gif and b/doc/es/images/button-set-allowed-users.gif differ
index de20fdeac1b8308e42ccd702485be2a0f4e43dd1..6111ada3c3bacf8a8a392a39a15f68e9277d5ab8 100644 (file)
Binary files a/doc/es/images/button-set-as-default.gif and b/doc/es/images/button-set-as-default.gif differ
index 41143678c90ef0af6e5d97d01cb3288de834c292..fc3d00034af23da615b0b4f1d05e9b5c697f9463 100644 (file)
Binary files a/doc/es/images/button-set-printer-options.gif and b/doc/es/images/button-set-printer-options.gif differ
index e99375f384305ac39eba0bc246a39979cf398414..c8732474e92b1b30ed9f0ef7680211a867ecbec7 100644 (file)
Binary files a/doc/es/images/button-show-active.gif and b/doc/es/images/button-show-active.gif differ
index e16678ac4549075728991903bf9f936dc4a543dd..da6305411341f67a0c9da8c19f0f3e9dc57a1f90 100644 (file)
Binary files a/doc/es/images/button-show-all.gif and b/doc/es/images/button-show-all.gif differ
index 7fd39c0cfbffdc8b0b6aff397dbfd5c98a17550b..83785d8fe4930828d1724a3062af10914751e265 100644 (file)
Binary files a/doc/es/images/button-show-completed.gif and b/doc/es/images/button-show-completed.gif differ
index 02824de9071115aecedd0d48c1d63da793229109..9a5f25051e064ccf2a3a026edbc190a58b685715 100644 (file)
Binary files a/doc/es/images/button-show-next.gif and b/doc/es/images/button-show-next.gif differ
index ea7195b73ba21c5d5cc0be84cb5ad2bbf6fb7295..2a338a1f2e9aa330eba16b0f0a81a6f38f28d1c8 100644 (file)
Binary files a/doc/es/images/button-show-previous.gif and b/doc/es/images/button-show-previous.gif differ
index 8ef3bee1e1fe246a69c88c2c4bcaf3258b784842..0a6c2bf6f69f3b07c4df0f2b25448a96f071ffbe 100644 (file)
Binary files a/doc/es/images/button-sort-ascending.gif and b/doc/es/images/button-sort-ascending.gif differ
index c76fc63803d0a788bc394fd5b6b21a764a796151..0e7466ff8c68754ca1574e49715544c9644538c5 100644 (file)
Binary files a/doc/es/images/button-sort-descending.gif and b/doc/es/images/button-sort-descending.gif differ
index 8f2c3d9822b06fe5b229632429d79e2f0a47c429..79e585bef4f78c3051daa80c54eefa0cb40e617f 100644 (file)
Binary files a/doc/es/images/button-start-class.gif and b/doc/es/images/button-start-class.gif differ
index fecaa4c588876e4e9b51e3b955032565d27dba39..e0a6a5b4c198d8879a9ea7b10e52b40bf6dd27b4 100644 (file)
Binary files a/doc/es/images/button-start-printer.gif and b/doc/es/images/button-start-printer.gif differ
index 86bd67bc566e5090662b9b83c9660e47cf207451..6f1466256c7e63cb2536a72f51b8ed2a82a02ef4 100644 (file)
Binary files a/doc/es/images/button-stop-class.gif and b/doc/es/images/button-stop-class.gif differ
index 9ed74d83ec9a0532a3ee7cb4bffbf0895777d54f..b0575467839e6829e59925d53af6087e480852e9 100644 (file)
Binary files a/doc/es/images/button-stop-printer.gif and b/doc/es/images/button-stop-printer.gif differ
index ba104218417a4f2843f289b14925acc4f354de41..8e0772dc49f90859eefb9753155030cf54a226eb 100644 (file)
Binary files a/doc/es/images/button-unpublish-printer.gif and b/doc/es/images/button-unpublish-printer.gif differ
index 3dbe3ea8d39bedb7e95a45a0505695dc4699522d..6ccefbb741d648f88abd74fb4d366fedbed015c6 100644 (file)
Binary files a/doc/es/images/button-use-default-config.gif and b/doc/es/images/button-use-default-config.gif differ
index 27276e7c3896362b1b25e7ba461b3d63bb8e8100..202015cf64bb95f6362a2e98d6fd67ed6a293d99 100644 (file)
Binary files a/doc/es/images/button-view-access-log.gif and b/doc/es/images/button-view-access-log.gif differ
index 93b07e5b1e190bbece4aafe8f84424afb5c1d9b7..ca930571365a901107f7c4d16c16208893c8f7ed 100644 (file)
Binary files a/doc/es/images/button-view-error-log.gif and b/doc/es/images/button-view-error-log.gif differ
index 632eb349b43b7042ff41e2a13275009853281ead..b9c078ec579fc06648ce34d570552a3bc86ff142 100644 (file)
Binary files a/doc/es/images/button-view-page-log.gif and b/doc/es/images/button-view-page-log.gif differ
index 044563deef35fae6eb27282bf9be8fd8eeea561b..23e401c2f50d86349caf6b7107e8429d9482704b 100644 (file)
Binary files a/doc/es/images/button-view-printable-version.gif and b/doc/es/images/button-view-printable-version.gif differ
diff --git a/doc/es/images/buttons_es.txt b/doc/es/images/buttons_es.txt
new file mode 100644 (file)
index 0000000..5d78f62
--- /dev/null
@@ -0,0 +1,55 @@
+button-accept-jobs.gif              green     Aceptar trabajos
+button-add-class.gif               standard  Añadir clase
+button-add-printer.gif                     standard  Añadir impresora
+button-add-rss-subscription.gif     standard  Añadir subscripción RSS
+button-add-this-printer.gif         standard  Añadir esta impresora
+button-cancel-all-jobs.gif         black     Cancelar todos los trabajos
+button-cancel-job.gif              black     Cancelar trabajo
+button-cancel-subscription.gif      standard  Cancelar subscripción
+button-change-settings.gif         standard  Cambiar especificaciones
+button-clean-print-heads.gif       standard  Limpiar cabezales de impresión
+button-clear.gif                   standard  Borrar
+button-continue.gif                standard  Siguiente
+button-delete-class.gif            black     Borrar clase
+button-delete-printer.gif          black     Borrar impresora
+button-edit-configuration-file.gif  standard  Editar archivo configuración
+button-export-samba.gif            standard  Exportar impresoras a Samba
+button-find-new-printers.gif        standard  Encontrar nuevas impresoras
+button-help.gif                    standard  Ayuda
+button-hold-job.gif                red       Retener trabajo
+button-manage-classes.gif          standard  Administrar clases
+button-manage-jobs.gif                     standard  Administrar trabajos
+button-manage-printers.gif         standard  Administrar impresoras
+button-manage-server.gif           standard  Administrar servidor
+button-modify-class.gif            standard  Modificar clase
+button-modify-printer.gif          standard  Modificar impresora
+button-move-job.gif                standard  Mover trabajo
+button-move-jobs.gif               standard  Mover todos los trabajos
+button-print-self-test-page.gif     standard  Imprimir página de auto prueba
+button-print-test-page.gif         standard  Imprimir página de prueba
+button-publish-printer.gif         standard  Publicar impresora
+button-reject-jobs.gif                     red       Rechazar trabajos
+button-release-job.gif                     green     Liberar trabajo
+button-restart-job.gif                     standard  Reimprimir trabajo
+button-save-changes.gif            standard  Guardar cambios
+button-search.gif                  standard  Buscar
+button-set-allowed-users.gif       standard  Cambiar usuarios permitidos
+button-set-as-default.gif          standard  Poner como predeterminada
+button-set-printer-options.gif             standard  Cambiar opciones impresora
+button-show-active.gif                     standard  Mostrar trabajos activos
+button-show-all.gif                standard  Mostrar todos los trabajos
+button-show-completed.gif          standard  Mostrar trabajos completados
+button-show-next.gif               standard  Mostrar siguiente
+button-show-previous.gif           standard  Mostrar anterior
+button-sort-ascending.gif          standard  @UP Orden ascendente @UP
+button-sort-descending.gif         standard  @DOWN Orden descendente @DOWN
+button-start-class.gif                     green     Iniciar clase
+button-start-printer.gif           green     Iniciar impresora
+button-stop-class.gif              red       Detener clase
+button-stop-printer.gif            red       Detener impresora
+button-unpublish-printer.gif       standard  No publicar impresora
+button-use-default-config.gif      standard  Usar archivo de configuración predeterminado
+button-view-access-log.gif         standard  Ver archivo de registro de accesos
+button-view-error-log.gif          standard  Ver archivo de registro de errores
+button-view-page-log.gif           standard  Ver archivo de registro de páginas
+button-view-printable-version.gif   standard  Ver versión imprimible
diff --git a/doc/images/raster.png b/doc/images/raster.png
new file mode 100644 (file)
index 0000000..17ba3b2
Binary files /dev/null and b/doc/images/raster.png differ
diff --git a/doc/images/raster.svg b/doc/images/raster.svg
new file mode 100644 (file)
index 0000000..58277e7
--- /dev/null
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="438.75"
+   height="315"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.45.1"
+   version="1.0"
+   sodipodi:docbase="/home/mike/c/cups-trunk/doc/images"
+   sodipodi:docname="raster.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/home/mike/c/cups-trunk/doc/images/raster.png"
+   inkscape:export-xdpi="128"
+   inkscape:export-ydpi="128">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.90444444"
+     inkscape:cx="225"
+     inkscape:cy="177.5167"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     width="351pt"
+     height="252pt"
+     units="pt"
+     showgrid="true"
+     gridspacingx="9pt"
+     gridspacingy="9pt"
+     gridanglex="24pt"
+     gridanglez="24pt"
+     grid_units="pt"
+     inkscape:object-bbox="true"
+     inkscape:object-points="true"
+     inkscape:object-nodes="true"
+     inkscape:grid-points="true"
+     inkscape:guide-points="true"
+     inkscape:window-width="872"
+     inkscape:window-height="622"
+     inkscape:window-x="0"
+     inkscape:window-y="0" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g3338"
+       transform="translate(0.5,-1.3515625)">
+      <rect
+         y="11.25"
+         x="11.25"
+         height="90"
+         width="67.5"
+         id="rect3336"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <flowRoot
+         transform="translate(11.34082,17.328046)"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+         id="flowRoot2357"
+         xml:space="preserve"><flowRegion
+           id="flowRegion2359"><rect
+             style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+             y="12.162162"
+             x="9.95086"
+             height="128.25552"
+             width="86.240784"
+             id="rect2361" /></flowRegion><flowPara
+           id="flowPara2363">Back</flowPara><flowPara
+           id="flowPara2365">Side</flowPara></flowRoot>    </g>
+    <g
+       id="g3346"
+       transform="translate(113,-1.3515625)">
+      <rect
+         y="11.25"
+         x="11.25"
+         height="90"
+         width="67.5"
+         id="rect3348"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <flowRoot
+         transform="translate(11.34082,17.328046)"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+         id="flowRoot3350"
+         xml:space="preserve"><flowRegion
+           id="flowRegion3352"><rect
+             style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+             y="12.162162"
+             x="9.95086"
+             height="128.25552"
+             width="86.240784"
+             id="rect3354" /></flowRegion><flowPara
+           id="flowPara3356">Back</flowPara><flowPara
+           id="flowPara3358">Side</flowPara></flowRoot>    </g>
+    <g
+       id="g3360"
+       transform="translate(226,-1.8515625)">
+      <rect
+         y="11.25"
+         x="11.25"
+         height="90"
+         width="67.5"
+         id="rect3362"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <flowRoot
+         transform="translate(11.34082,17.328046)"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+         id="flowRoot3364"
+         xml:space="preserve"><flowRegion
+           id="flowRegion3366"><rect
+             style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+             y="12.162162"
+             x="9.95086"
+             height="128.25552"
+             width="86.240784"
+             id="rect3368" /></flowRegion><flowPara
+           id="flowPara3370">Back</flowPara><flowPara
+           id="flowPara3372">Side</flowPara></flowRoot>    </g>
+    <g
+       id="g3374"
+       transform="matrix(-1,0,0,-1,428,111.14844)">
+      <rect
+         y="11.25"
+         x="11.25"
+         height="90"
+         width="67.5"
+         id="rect3376"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <flowRoot
+         transform="translate(11.34082,17.328046)"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+         id="flowRoot3378"
+         xml:space="preserve"><flowRegion
+           id="flowRegion3380"><rect
+             style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+             y="12.162162"
+             x="9.95086"
+             height="128.25552"
+             width="86.240784"
+             id="rect3382" /></flowRegion><flowPara
+           id="flowPara3384">Back</flowPara><flowPara
+           id="flowPara3386">Side</flowPara></flowRoot>    </g>
+    <g
+       id="g3388"
+       transform="matrix(-1,0,0,-1,90.5,279.89844)">
+      <rect
+         y="11.25"
+         x="11.25"
+         height="90"
+         width="67.5"
+         id="rect3390"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <flowRoot
+         transform="translate(11.34082,17.328046)"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+         id="flowRoot3392"
+         xml:space="preserve"><flowRegion
+           id="flowRegion3394"><rect
+             style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+             y="12.162162"
+             x="9.95086"
+             height="128.25552"
+             width="86.240784"
+             id="rect3396" /></flowRegion><flowPara
+           id="flowPara3398">Back</flowPara><flowPara
+           id="flowPara3400">Side</flowPara></flowRoot>    </g>
+    <g
+       id="g3402"
+       transform="translate(113,167.39844)">
+      <rect
+         y="11.25"
+         x="11.25"
+         height="90"
+         width="67.5"
+         id="rect3404"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <flowRoot
+         transform="translate(11.34082,17.328046)"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+         id="flowRoot3406"
+         xml:space="preserve"><flowRegion
+           id="flowRegion3408"><rect
+             style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+             y="12.162162"
+             x="9.95086"
+             height="128.25552"
+             width="86.240784"
+             id="rect3410" /></flowRegion><flowPara
+           id="flowPara3412">Back</flowPara><flowPara
+           id="flowPara3414">Side</flowPara></flowRoot>    </g>
+    <g
+       id="g3416"
+       transform="matrix(1,0,0,-1,226,279.39844)">
+      <rect
+         y="11.25"
+         x="11.25"
+         height="90"
+         width="67.5"
+         id="rect3418"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <flowRoot
+         transform="translate(11.34082,17.328046)"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+         id="flowRoot3420"
+         xml:space="preserve"><flowRegion
+           id="flowRegion3422"><rect
+             style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+             y="12.162162"
+             x="9.95086"
+             height="128.25552"
+             width="86.240784"
+             id="rect3424" /></flowRegion><flowPara
+           id="flowPara3426">Back</flowPara><flowPara
+           id="flowPara3428">Side</flowPara></flowRoot>    </g>
+    <g
+       id="g3430"
+       transform="matrix(-1,0,0,1,428,167.39844)">
+      <rect
+         y="11.25"
+         x="11.25"
+         height="90"
+         width="67.5"
+         id="rect3432"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <flowRoot
+         transform="translate(11.34082,17.328046)"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+         id="flowRoot3434"
+         xml:space="preserve"><flowRegion
+           id="flowRegion3436"><rect
+             style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace"
+             y="12.162162"
+             x="9.95086"
+             height="128.25552"
+             width="86.240784"
+             id="rect3438" /></flowRegion><flowPara
+           id="flowPara3440">Back</flowPara><flowPara
+           id="flowPara3442">Side</flowPara></flowRoot>    </g>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Monospace"
+       x="47.503906"
+       y="119.83008"
+       id="text3444"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3446"
+         x="47.503906"
+         y="119.83008">Normal</tspan><tspan
+         sodipodi:role="line"
+         x="47.503906"
+         y="134.83008"
+         id="tspan3448">false</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Monospace"
+       x="160.00391"
+       y="119.83008"
+       id="text3450"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3452"
+         x="160.00391"
+         y="119.83008">Normal</tspan><tspan
+         sodipodi:role="line"
+         x="160.00391"
+         y="134.83008"
+         id="tspan3454">true</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Monospace"
+       x="273.00391"
+       y="119.83008"
+       id="text3456"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3458"
+         x="273.00391"
+         y="119.83008">ManualTumble</tspan><tspan
+         sodipodi:role="line"
+         x="273.00391"
+         y="134.83008"
+         id="tspan3460">false</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Monospace"
+       x="385.39062"
+       y="119.83008"
+       id="text3462"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3464"
+         x="385.39062"
+         y="119.83008">ManualTumble</tspan><tspan
+         sodipodi:role="line"
+         x="385.39062"
+         y="134.83008"
+         id="tspan3466">true</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Monospace"
+       x="43.847656"
+       y="288.51562"
+       id="text3468"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3470"
+         x="43.847656"
+         y="288.51562">Rotated</tspan><tspan
+         sodipodi:role="line"
+         x="43.847656"
+         y="303.51562"
+         id="tspan3472">false</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Monospace"
+       x="156.84766"
+       y="288.51562"
+       id="text3474"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3476"
+         x="156.84766"
+         y="288.51562">Rotated</tspan><tspan
+         sodipodi:role="line"
+         x="156.84766"
+         y="303.51562"
+         id="tspan3478">true</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Monospace"
+       x="269.34766"
+       y="288.58008"
+       id="text3480"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3482"
+         x="269.34766"
+         y="288.58008">Flipped</tspan><tspan
+         sodipodi:role="line"
+         x="269.34766"
+         y="303.58008"
+         id="tspan3484">false</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Monospace"
+       x="381.84766"
+       y="288.58008"
+       id="text3486"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3488"
+         x="381.84766"
+         y="288.58008">Flipped</tspan><tspan
+         sodipodi:role="line"
+         x="381.84766"
+         y="303.58008"
+         id="tspan3490">true</tspan></text>
+  </g>
+</svg>
diff --git a/locale/checkpo.c b/locale/checkpo.c
new file mode 100644 (file)
index 0000000..2ac6627
--- /dev/null
@@ -0,0 +1,343 @@
+/*
+ * "$Id: checkpo.c 6926 2007-09-06 14:34:31Z mike $"
+ *
+ * Verify that translations in the .po file have the same number and type of
+ * printf-style format strings.
+ *
+ * Usage:
+ *
+ *   checkpo filename.po [... filenameN.po]
+ *
+ * Compile with:
+ *
+ *   gcc -o checkpo checkpo.c `cups-config --libs`
+ *
+ * Contents:
+ *
+ *   main()            - Validate .po files.
+ *   abbreviate()      - Abbreviate a message string as needed.
+ *   collect_formats() - Collect all of the format strings in the msgid.
+ *   free_formats()    - Free all of the format strings.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <cups/string.h>
+#include <cups/i18n.h>
+
+
+/*
+ * Local functions...
+ */
+
+static char            *abbreviate(const char *s, char *buf, int bufsize);
+static cups_array_t    *collect_formats(const char *id);
+static void            free_formats(cups_array_t *fmts);
+
+
+/*
+ * 'main()' - Validate .po files.
+ */
+
+int                                    /* O - Exit code */
+main(int  argc,                                /* I - Number of command-line args */
+     char *argv[])                     /* I - Command-line arguments */
+{
+  int                  i;              /* Looping var */
+  cups_array_t         *po;            /* .po file */
+  _cups_message_t      *msg;           /* Current message */
+  cups_array_t         *idfmts,        /* Format strings in msgid */
+                       *strfmts;       /* Format strings in msgstr */
+  char                 *idfmt,         /* Current msgid format string */
+                       *strfmt;        /* Current msgstr format string */
+  int                  fmtidx,         /* Format index */
+                       fmtcount;       /* Format count */
+  int                  status,         /* Exit status */
+                       pass,           /* Pass/fail status */
+                       untranslated;   /* Untranslated messages */
+  char                 idbuf[80],      /* Abbreviated msgid */
+                       strbuf[80];     /* Abbreviated msgstr */
+
+
+  if (argc < 2)
+  {
+    puts("Usage: checkpo filename.po [... filenameN.po]");
+    return (1);
+  }
+
+ /*
+  * Check every .po file on the command-line...
+  */
+
+  for (i = 1, status = 0; i < argc; i ++)
+  {
+   /*
+    * Use the CUPS .po loader to get the message strings...
+    */
+
+    if ((po = _cupsMessageLoad(argv[i])) == NULL)
+    {
+      perror(argv[i]);
+      return (1);
+    }
+
+    printf("%s: ", argv[i]);
+    fflush(stdout);
+
+   /*
+    * Scan every message for a % string and then match them up with
+    * the corresponding string in the translation...
+    */
+
+    pass         = 1;
+    untranslated = 0;
+
+    for (msg = (_cups_message_t *)cupsArrayFirst(po);
+         msg;
+        msg = (_cups_message_t *)cupsArrayNext(po))
+    {
+      if (!msg->str || !msg->str[0])
+      {
+        untranslated ++;
+       continue;
+      }
+      else if (strchr(msg->id, '%'))
+      {
+        idfmts  = collect_formats(msg->id);
+       strfmts = collect_formats(msg->str);
+       fmtidx  = 0;
+
+        for (strfmt = (char *)cupsArrayFirst(strfmts);
+            strfmt;
+            strfmt = (char *)cupsArrayNext(strfmts))
+       {
+         if (isdigit(strfmt[1] & 255) && strfmt[2] == '$')
+         {
+          /*
+           * Handle positioned format stuff...
+           */
+
+            fmtidx = strfmt[1] - '1';
+            strfmt += 3;
+           if ((idfmt = (char *)cupsArrayIndex(idfmts, fmtidx)) != NULL)
+             idfmt ++;
+         }
+         else
+         {
+          /*
+           * Compare against the current format...
+           */
+
+           idfmt = (char *)cupsArrayIndex(idfmts, fmtidx);
+          }
+
+         fmtidx ++;
+
+         if (!idfmt || strcmp(strfmt, idfmt))
+           break;
+
+         fmtcount ++;
+       }
+
+        if (cupsArrayCount(strfmts) != cupsArrayCount(idfmts) || strfmt)
+       {
+         if (pass)
+         {
+           pass = 0;
+           puts("FAIL");
+         }
+
+         printf("    Bad translation string \"%s\"\n        for \"%s\"\n",
+                abbreviate(msg->str, strbuf, sizeof(strbuf)),
+                abbreviate(msg->id, idbuf, sizeof(idbuf)));
+          fputs("    Translation formats:", stdout);
+         for (strfmt = (char *)cupsArrayFirst(strfmts);
+              strfmt;
+              strfmt = (char *)cupsArrayNext(strfmts))
+           printf(" %s", strfmt);
+          fputs("\n    Original formats:", stdout);
+         for (idfmt = (char *)cupsArrayFirst(idfmts);
+              idfmt;
+              idfmt = (char *)cupsArrayNext(idfmts))
+           printf(" %s", idfmt);
+          putchar('\n');
+       }
+
+       free_formats(idfmts);
+       free_formats(strfmts);
+      }
+
+      if ((!strncmp(msg->id, "ALERT:", 6) && strncmp(msg->str, "ALERT:", 6)) ||
+          (!strncmp(msg->id, "CRIT:", 5) && strncmp(msg->str, "CRIT:", 5)) ||
+          (!strncmp(msg->id, "DEBUG:", 6) && strncmp(msg->str, "DEBUG:", 6)) ||
+          (!strncmp(msg->id, "DEBUG2:", 7) && strncmp(msg->str, "DEBUG2:", 7)) ||
+          (!strncmp(msg->id, "EMERG:", 6) && strncmp(msg->str, "EMERG:", 6)) ||
+          (!strncmp(msg->id, "ERROR:", 6) && strncmp(msg->str, "ERROR:", 6)) ||
+          (!strncmp(msg->id, "INFO:", 5) && strncmp(msg->str, "INFO:", 5)) ||
+          (!strncmp(msg->id, "NOTICE:", 7) && strncmp(msg->str, "NOTICE:", 7)) ||
+          (!strncmp(msg->id, "WARNING:", 8) && strncmp(msg->str, "WARNING:", 8)))
+      {
+        if (pass)
+       {
+         pass = 0;
+         puts("FAIL");
+       }
+
+       printf("    Bad prefix on filter message \"%s\"\n      for \"%s\"\n",
+              abbreviate(msg->str, strbuf, sizeof(strbuf)),
+              abbreviate(msg->id, idbuf, sizeof(idbuf)));
+      }
+    }
+
+    if (pass)
+    {
+      if ((untranslated * 10) >= cupsArrayCount(po))
+      {
+       /*
+        * Only allow 10% of messages to be untranslated before we fail...
+       */
+
+        pass = 0;
+        puts("FAIL");
+       printf("    Too many untranslated messages (%d of %d)\n", untranslated,
+              cupsArrayCount(po));
+      }
+      else if (untranslated > 0)
+        printf("PASS (%d of %d untranslated)\n", untranslated,
+              cupsArrayCount(po));
+      else
+        puts("PASS");
+    }
+
+    if (!pass)
+      status = 1;
+
+    _cupsMessageFree(po);
+  }
+
+  return (status);
+}
+
+
+/*
+ * 'abbreviate()' - Abbreviate a message string as needed.
+ */
+
+static char *                          /* O - Abbreviated string */
+abbreviate(const char *s,              /* I - String to abbreviate */
+           char       *buf,            /* I - Buffer */
+          int        bufsize)          /* I - Size of buffer */
+{
+  char *bufptr;                        /* Pointer into buffer */
+
+
+  for (bufptr = buf, bufsize -= 4; *s && bufsize > 0; s ++)
+  {
+    if (*s == '\n')
+    {
+      if (bufsize < 2)
+        break;
+
+      *bufptr++ = '\\';
+      *bufptr++ = 'n';
+      bufsize -= 2;
+    }
+    else if (*s == '\t')
+    {
+      if (bufsize < 2)
+        break;
+
+      *bufptr++ = '\\';
+      *bufptr++ = 't';
+      bufsize -= 2;
+    }
+    else if (*s >= 0 && *s < ' ')
+    {
+      if (bufsize < 4)
+        break;
+
+      sprintf(bufptr, "\\%03o", *s);
+      bufptr += 4;
+      bufsize -= 4;
+    }
+    else
+    {
+      *bufptr++ = *s;
+      bufsize --;
+    }
+  }
+
+  if (*s)
+    strcpy(bufptr, "...");
+  else
+    *bufptr = '\0';
+
+  return (buf);
+}
+
+
+/*
+ * 'collect_formats()' - Collect all of the format strings in the msgid.
+ */
+
+static cups_array_t *                  /* O - Array of format strings */
+collect_formats(const char *id)                /* I - msgid string */
+{
+  cups_array_t *fmts;                  /* Array of format strings */
+  char         buf[255],               /* Format string buffer */
+               *bufptr;                /* Pointer into format string */
+
+
+  fmts = cupsArrayNew(NULL, NULL);
+
+  while ((id = strchr(id, '%')) != NULL)
+  {
+    if (id[1] == '%')
+    {
+     /*
+      * Skip %%...
+      */
+
+      id += 2;
+      continue;
+    }
+
+    for (bufptr = buf; *id && bufptr < (buf + sizeof(buf) - 1); id ++)
+    {
+      *bufptr++ = *id;
+
+      if (strchr("CDEFGIOSUXcdeifgopsux", *id))
+      {
+        id ++;
+        break;
+      }
+    }
+
+    *bufptr = '\0';
+    cupsArrayAdd(fmts, strdup(buf));
+  }
+
+  return (fmts);
+}
+
+
+/*
+ * 'free_formats()' - Free all of the format strings.
+ */
+
+static void
+free_formats(cups_array_t *fmts)       /* I - Array of format strings */
+{
+  char *s;                             /* Current string */
+
+
+  for (s = (char *)cupsArrayFirst(fmts); s; s = (char *)cupsArrayNext(fmts))
+    free(s);
+
+  cupsArrayDelete(fmts);
+}
+
+
+/*
+ * End of "$Id: checkpo.c 6926 2007-09-06 14:34:31Z mike $".
+ */
index 37cddc03c74b9ecec157b8c79a7e819083e2e596..815522ddf97d2b1f42f98260a12c4b0cc4ed6741 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: cups.list.in 6777 2007-08-08 17:43:14Z mike $"
+# "$Id: cups.list.in 6960 2007-09-14 21:15:04Z mike $"
 #
 #   ESP Package Manager (EPM) file list for the Common UNIX Printing
 #   System (CUPS).
@@ -409,7 +409,6 @@ f 0644 root sys $LOCALEDIR/pl/cups_pl.po locale/cups_pl.po
 %subpackage pt
 f 0644 root sys $LOCALEDIR/pt/cups_pt.po locale/cups_pt.po
 f 0644 root sys $LOCALEDIR/pt_BR/cups_pt_BR.po locale/cups_pt_BR.po
-f 0644 root sys $LOCALEDIR/pt_PT/cups_pt_PT.po locale/cups_pt_PT.po
 %subpackage ru
 f 0644 root sys $LOCALEDIR/ru/cups_ru.po locale/cups_ru.po
 %subpackage sv
@@ -723,5 +722,5 @@ f 0644 root sys $XINETD/cups-lpd init/cups-lpd
 %subpackage
 
 #
-# End of "$Id: cups.list.in 6777 2007-08-08 17:43:14Z mike $".
+# End of "$Id: cups.list.in 6960 2007-09-14 21:15:04Z mike $".
 #
index b3bb81d88a950cd4277b222891d86495697a3660..8ccd639f85014274d4114c47623157378f0f0377 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: cups.spec.in 6778 2007-08-08 19:27:51Z mike $"
+# "$Id: cups.spec.in 6960 2007-09-14 21:15:04Z mike $"
 #
 #   RPM "spec" file for the Common UNIX Printing System (CUPS).
 #
@@ -592,7 +592,6 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(-,root,root)
 /usr/share/locale/pt/cups_pt.po
 /usr/share/locale/pt_BR/cups_pt_BR.po
-/usr/share/locale/pt_PT/cups_pt_PT.po
 
 %files ru
 %defattr(-,root,root)
@@ -627,5 +626,5 @@ rm -rf $RPM_BUILD_ROOT
 
 
 #
-# End of "$Id: cups.spec.in 6778 2007-08-08 19:27:51Z mike $".
+# End of "$Id: cups.spec.in 6960 2007-09-14 21:15:04Z mike $".
 #
index 7c3f32dca97eb7fa515e2fbe62395fb093334740..3fbd2ae01b9c8f95685b1052425fca83f92a20a4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: dirsvc.c 6691 2007-07-19 19:09:46Z mike $"
+ * "$Id: dirsvc.c 6974 2007-09-18 17:51:32Z mike $"
  *
  *   Directory services routines for the Common UNIX Printing System (CUPS).
  *
@@ -89,7 +89,7 @@ static void   process_browse_data(const char *uri, const char *host,
                                    ipp_pstate_t state, const char *location,
                                    const char *info, const char *make_model,
                                    int num_attrs, cups_option_t *attrs);
-static void    process_implicit_classes(void);
+static void    process_implicit_classes(int *write_printcap);
 static void    send_cups_browse(cupsd_printer_t *p);
 #ifdef HAVE_LDAP
 static void    send_ldap_browse(cupsd_printer_t *p);
@@ -605,7 +605,7 @@ cupsdLoadRemoteCache(void)
   * Do auto-classing if needed...
   */
 
-  process_implicit_classes();
+  process_implicit_classes(NULL);
 }
 
 
@@ -1661,7 +1661,8 @@ process_browse_data(
     cups_option_t *attrs)              /* I - Attributes */
 {
   int          i;                      /* Looping var */
-  int          update;                 /* Update printer attributes? */
+  int          update,                 /* Update printer attributes? */
+               write_printcap;         /* Write the printcap file? */
   char         finaluri[HTTP_MAX_URI], /* Final URI for printer */
                name[IPP_MAX_NAME],     /* Name of printer */
                newname[IPP_MAX_NAME],  /* New name of printer */
@@ -1748,11 +1749,12 @@ process_browse_data(
   * See if we already have it listed in the Printers list, and add it if not...
   */
 
-  type   |= CUPS_PRINTER_REMOTE | CUPS_PRINTER_DISCOVERED;
-  type   &= ~CUPS_PRINTER_IMPLICIT;
-  update = 0;
-  hptr   = strchr(host, '.');
-  sptr   = strchr(ServerName, '.');
+  type           |= CUPS_PRINTER_REMOTE | CUPS_PRINTER_DISCOVERED;
+  type           &= ~CUPS_PRINTER_IMPLICIT;
+  update         = 0;
+  write_printcap = 0;
+  hptr           = strchr(host, '.');
+  sptr           = strchr(ServerName, '.');
 
   if (!ServerNameIsIP && sptr != NULL && hptr != NULL)
   {
@@ -1875,7 +1877,8 @@ process_browse_data(
       cupsdSetString(&p->device_uri, uri);
       cupsdSetString(&p->hostname, host);
 
-      update = 1;
+      update         = 1;
+      write_printcap = 1;
     }
   }
   else
@@ -1981,7 +1984,8 @@ process_browse_data(
       cupsdSetString(&p->uri, uri);
       cupsdSetString(&p->device_uri, uri);
 
-      update = 1;
+      write_printcap = 1;
+      update         = 1;
     }
   }
 
@@ -2040,7 +2044,8 @@ process_browse_data(
   if (info && (!p->info || strcmp(p->info, info)))
   {
     cupsdSetString(&p->info, info);
-    update = 1;
+    update         = 1;
+    write_printcap = 1;
   }
 
   if (!make_model || !make_model[0])
@@ -2105,6 +2110,7 @@ process_browse_data(
  
     cupsdDeletePrinter(p, 1);
     cupsdUpdateImplicitClasses();
+    write_printcap = 1;
   }
   else if (update)
   {
@@ -2129,6 +2135,7 @@ process_browse_data(
       if (p->type & CUPS_PRINTER_DEFAULT)
       {
         DefaultPrinter = p;
+       write_printcap = 1;
        break;
       }
   }
@@ -2137,13 +2144,14 @@ process_browse_data(
   * Do auto-classing if needed...
   */
 
-  process_implicit_classes();
+  process_implicit_classes(&write_printcap);
 
  /*
   * Update the printcap file...
   */
 
-  cupsdWritePrintcap();
+  if (write_printcap)
+    cupsdWritePrintcap();
 }
 
 
@@ -2633,7 +2641,8 @@ dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
  */
 
 static void
-process_implicit_classes(void)
+process_implicit_classes(
+    int *write_printcap)               /* O - Write printcap file? */
 {
   int          i;                      /* Looping var */
   int          update;                 /* Update printer attributes? */
@@ -2714,6 +2723,9 @@ process_implicit_classes(void)
 
         update = 1;
 
+       if (write_printcap)
+         *write_printcap = 1;
+
         cupsdLogMessage(CUPSD_LOG_DEBUG, "Added implicit class \"%s\"...",
                        name);
        cupsdAddEvent(CUPSD_EVENT_PRINTER_ADDED, p, NULL,
@@ -3811,5 +3823,5 @@ update_polling(void)
 
 
 /*
- * End of "$Id: dirsvc.c 6691 2007-07-19 19:09:46Z mike $".
+ * End of "$Id: dirsvc.c 6974 2007-09-18 17:51:32Z mike $".
  */
index b3ffa3891b1a3b440221ef75abb07b3da7d8c964..3400de54953a89fb0382110ec9e92fbcc5addbbf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: printers.c 6678 2007-07-16 18:03:35Z mike $"
+ * "$Id: printers.c 6971 2007-09-17 23:59:05Z mike $"
  *
  *   Printer routines for the Common UNIX Printing System (CUPS).
  *
@@ -2975,7 +2975,8 @@ cupsdWritePrintcap(void)
   * data has come from...
   */
 
-  cupsFilePuts(fp, "# This file was automatically generated by cupsd(8) from the\n");
+  cupsFilePuts(fp,
+               "# This file was automatically generated by cupsd(8) from the\n");
   cupsFilePrintf(fp, "# %s/printers.conf file.  All changes to this file\n",
                  ServerRoot);
   cupsFilePuts(fp, "# will be lost.\n");
@@ -3001,14 +3002,15 @@ cupsdWritePrintcap(void)
 
           if (DefaultPrinter)
            cupsFilePrintf(fp, "%s|%s:rm=%s:rp=%s:\n", DefaultPrinter->name,
-                   DefaultPrinter->info, ServerName, DefaultPrinter->name);
+                          DefaultPrinter->info, ServerName,
+                          DefaultPrinter->name);
 
          for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
               p;
               p = (cupsd_printer_t *)cupsArrayNext(Printers))
            if (p != DefaultPrinter)
              cupsFilePrintf(fp, "%s|%s:rm=%s:rp=%s:\n", p->name, p->info,
-                     ServerName, p->name);
+                            ServerName, p->name);
           break;
 
       case PRINTCAP_SOLARIS:
@@ -3046,9 +3048,10 @@ cupsdWritePrintcap(void)
               p;
               p = (cupsd_printer_t *)cupsArrayNext(Printers))
            cupsFilePrintf(fp, "%s:\\\n"
-                       "\t:bsdaddr=%s,%s:\\\n"
-                       "\t:description=%s:\n",
-                   p->name, ServerName, p->name, p->info ? p->info : "");
+                              "\t:bsdaddr=%s,%s:\\\n"
+                              "\t:description=%s:\n",
+                          p->name, ServerName, p->name,
+                          p->info ? p->info : "");
           break;
     }
   }
@@ -3216,8 +3219,8 @@ add_printer_defaults(cupsd_printer_t *p)/* I - Printer */
                   "number-up-default", 1);
 
   if (!cupsGetOption("orientation-requested", p->num_options, p->options))
-    ippAddInteger(p->attrs, IPP_TAG_PRINTER, IPP_TAG_ENUM,
-                  "orientation-requested-default", IPP_PORTRAIT);
+    ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_NOVALUE,
+                 "orientation-requested-default", NULL, NULL);
 
   if (!cupsGetOption("notify-lease-duration", p->num_options, p->options))
     ippAddInteger(p->attrs, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
@@ -3763,5 +3766,5 @@ write_irix_state(cupsd_printer_t *p)      /* I - Printer to update */
 
 
 /*
- * End of "$Id: printers.c 6678 2007-07-16 18:03:35Z mike $".
+ * End of "$Id: printers.c 6971 2007-09-17 23:59:05Z mike $".
  */
diff --git a/templates/es/add-rss-subscription.tmpl b/templates/es/add-rss-subscription.tmpl
new file mode 100644 (file)
index 0000000..07d2ce5
--- /dev/null
@@ -0,0 +1,43 @@
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription">
+
+<H2 CLASS="title">A&ntilde;adir subscripci&oacute;n RSS</H2>
+
+<TABLE SUMMARY="Formulario de a&ntilde;adir subscripci&oacute;n RSS">
+<TR>
+<TH CLASS="label">Nombre:</TH>
+<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
+<SMALL>(Puede contener cualquier car&aacute;cter imprimible excepto espacio, "/", "?", y "#")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Cola:</TH>
+<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Todas las colas</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
+</TR>
+<TR VALIGN="TOP">
+<TH CLASS="label">Eventos:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Trabajo creado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Trabajo completado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Trabajo parado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Opciones de trabajo cambiadas</TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Cola parada<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Cola a&ntilde;adida<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Cola modificada<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Cola borrada</TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" {?EVENT_SERVER_STARTED}>Servidor iniciado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" {?EVENT_SERVER_STOPPED}>Servidor parado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" {?EVENT_SERVER_RESTARTED}>Servidor reiniciado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" {?EVENT_SERVER_AUDIT}>Auditoría de seguridad del servidor</TD>
+</TR>
+<TR>
+<TH CLASS="label">N&uacute;mero m&aacute;ximo de eventos del canal:</TH>
+<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD COLSPAN="5"><INPUT TYPE="IMAGE" SRC="/images/button-add-rss-subscription.gif" ALT="A&ntilde;adir subscripci&oacute;n RSS"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/es/list-available-printers.tmpl b/templates/es/list-available-printers.tmpl
new file mode 100644 (file)
index 0000000..17a7dbc
--- /dev/null
@@ -0,0 +1,10 @@
+<H2 CLASS="title">Impresoras disponibles</H2>
+
+{#device_uri=0?<P>No se encuentran impresoras.</P>
+:<UL>{[device_uri]
+<LI><A HREF="/admin?op=add-printer&amp;{device_options}"><IMG
+SRC="/images/button-add-this-printer.gif" ALT="A&ntilde;adir esta impresora" CLASS="button"
+ALIGN="MIDDLE"></A>
+{device_make_and_model} ({device_info})</LI>
+}</UL>}
+
diff --git a/templates/es/subscription-added.tmpl b/templates/es/subscription-added.tmpl
new file mode 100644 (file)
index 0000000..725b8bb
--- /dev/null
@@ -0,0 +1 @@
+<P>Se ha a&ntilde;adido con &eacute;xito la subscripci&oacute;n {subscription_name}.</P>
diff --git a/templates/es/subscription-canceled.tmpl b/templates/es/subscription-canceled.tmpl
new file mode 100644 (file)
index 0000000..8a68f54
--- /dev/null
@@ -0,0 +1 @@
+<P>La subscripci&oacute;n #{notify_subscription_id} ha sido cancelada.</P>