Codebase list cups-filters / 6e3e45a
Imported Upstream version 1.0.50 Till Kamppeter 10 years ago
7 changed file(s) with 84 addition(s) and 37 deletion(s). Raw diff Collapse all Expand all
0 INSTALL - OpenPrinting CUPS Filters v1.0.49 - 2014-03-24
0 INSTALL - OpenPrinting CUPS Filters v1.0.50 - 2014-03-27
11 --------------------------------------------------------
22
33 This file describes how to compile and install OpenPrinting CUPS
0 NEWS - OpenPrinting CUPS Filters v1.0.49 - 2014-03-24
0 NEWS - OpenPrinting CUPS Filters v1.0.50 - 2014-03-27
11 -----------------------------------------------------
2
3 CHANGES IN V1.0.50
4
5 - pdftops: Let old HP LaserJet printers (model number without
6 letter, like "LaserJet 3" or "LaserJet 4000") use Poppler
7 instead of Ghostscript (Debian bug #742765).
8 - pdftops: Improved workaround for Toshiba printers. Instead
9 of using Poppler do not emit TrueType fonts with Ghostscript
10 (Ubuntu bug #998087).
11 - cups-browsed: Build the device URIs for all local queues we create
12 with the CUPS library function httpAssembleURIf() for proper
13 percent escaping of characters which are not allowed in URIs
14 (Bug #1187).
215
316 CHANGES IN V1.0.49
417
0 README - OpenPrinting CUPS Filters v1.0.49 - 2014-03-24
0 README - OpenPrinting CUPS Filters v1.0.50 - 2014-03-27
11 -------------------------------------------------------
22
33 Looking for compile instructions? Read the file "INSTALL.txt"
00 #! /bin/sh
11 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.69 for cups-filters 1.0.49.
2 # Generated by GNU Autoconf 2.69 for cups-filters 1.0.50.
33 #
44 #
55 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
586586 # Identity of this package.
587587 PACKAGE_NAME='cups-filters'
588588 PACKAGE_TARNAME='cups-filters'
589 PACKAGE_VERSION='1.0.49'
590 PACKAGE_STRING='cups-filters 1.0.49'
589 PACKAGE_VERSION='1.0.50'
590 PACKAGE_STRING='cups-filters 1.0.50'
591591 PACKAGE_BUGREPORT=''
592592 PACKAGE_URL=''
593593
14371437 # Omit some internal or obsolete options to make the list less imposing.
14381438 # This message is too long to be a string in the A/UX 3.1 sh.
14391439 cat <<_ACEOF
1440 \`configure' configures cups-filters 1.0.49 to adapt to many kinds of systems.
1440 \`configure' configures cups-filters 1.0.50 to adapt to many kinds of systems.
14411441
14421442 Usage: $0 [OPTION]... [VAR=VALUE]...
14431443
15071507
15081508 if test -n "$ac_init_help"; then
15091509 case $ac_init_help in
1510 short | recursive ) echo "Configuration of cups-filters 1.0.49:";;
1510 short | recursive ) echo "Configuration of cups-filters 1.0.50:";;
15111511 esac
15121512 cat <<\_ACEOF
15131513
16971697 test -n "$ac_init_help" && exit $ac_status
16981698 if $ac_init_version; then
16991699 cat <<\_ACEOF
1700 cups-filters configure 1.0.49
1700 cups-filters configure 1.0.50
17011701 generated by GNU Autoconf 2.69
17021702
17031703 Copyright (C) 2012 Free Software Foundation, Inc.
23042304 This file contains any messages produced by compilers while
23052305 running configure, to aid debugging if configure makes a mistake.
23062306
2307 It was created by cups-filters $as_me 1.0.49, which was
2307 It was created by cups-filters $as_me 1.0.50, which was
23082308 generated by GNU Autoconf 2.69. Invocation command line was
23092309
23102310 $ $0 $@
32553255
32563256 # Define the identity of the package.
32573257 PACKAGE='cups-filters'
3258 VERSION='1.0.49'
3258 VERSION='1.0.50'
32593259
32603260
32613261 cat >>confdefs.h <<_ACEOF
1933019330 # report actual input values of CONFIG_FILES etc. instead of their
1933119331 # values after options handling.
1933219332 ac_log="
19333 This file was extended by cups-filters $as_me 1.0.49, which was
19333 This file was extended by cups-filters $as_me 1.0.50, which was
1933419334 generated by GNU Autoconf 2.69. Invocation command line was
1933519335
1933619336 CONFIG_FILES = $CONFIG_FILES
1939619396 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1939719397 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1939819398 ac_cs_version="\\
19399 cups-filters config.status 1.0.49
19399 cups-filters config.status 1.0.50
1940019400 configured by $0, generated by GNU Autoconf 2.69,
1940119401 with options \\"\$ac_cs_config\\"
1940219402
66 # ====================
77 m4_define([cups_filters_version_major],[1])
88 m4_define([cups_filters_version_minor],[0])
9 m4_define([cups_filters_version_micro],[49])
9 m4_define([cups_filters_version_micro],[50])
1010 m4_define([cups_filters_version],[cups_filters_version_major.cups_filters_version_minor.cups_filters_version_micro])
1111
1212 # =============
422422 * Select the PDF renderer: Ghostscript (gs), Poppler (pdftops),
423423 * Adobe Reader (arcoread), Poppler with Cairo (pdftocairo), or
424424 * Hybrid (hybrid, Poppler for Brother, Minolta, Konica Minolta, and
425 * Toshiba and Ghostscript otherwise)
425 * old HP LaserJets and Ghostscript otherwise)
426426 */
427427
428428 if ((val = cupsGetOption("pdftops-renderer", num_options, options)) != NULL)
446446 {
447447 if (make_model[0] &&
448448 (!strncasecmp(make_model, "Brother", 7) ||
449 strcasestr(make_model, "Minolta") ||
450 !strncasecmp(make_model, "Toshiba", 7)))
451 {
452 fprintf(stderr, "DEBUG: Switching to Poppler's pdftops instead of Ghostscript for Brother, Minolta, Konica Minolta, and Toshiba to work around bugs in the printer's PS interpreters\n");
453 renderer = PDFTOPS;
454 }
449 strcasestr(make_model, "Minolta")))
450 {
451 fprintf(stderr, "DEBUG: Switching to Poppler's pdftops instead of Ghostscript for Brother, Minolta, and Konica Minolta to work around bugs in the printer's PS interpreters\n");
452 renderer = PDFTOPS;
453 }
455454 else
456455 renderer = GS;
456 /*
457 * Use Poppler instead of Ghostscript for old HP LaserJet printers due to
458 * a bug in their PS interpreters. They are very slow with Ghostscript.
459 * a LaserJet is considered old if its model number does not have a letter
460 * in the beginning, like LaserJet 3 or LaserJet 4000, not LaserJet P2015.
461 * See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742765
462 */
463 if (make_model[0] &&
464 ((!strncasecmp(make_model, "HP", 2) ||
465 !strncasecmp(make_model, "Hewlett-Packard", 15) ||
466 !strncasecmp(make_model, "Hewlett Packard", 15)) &&
467 (ptr = strcasestr(make_model, "LaserJet"))))
468 {
469 for (ptr += 8; *ptr; ptr ++)
470 {
471 if (isspace(*ptr)) continue;
472 if (isdigit(*ptr))
473 {
474 fprintf(stderr, "DEBUG: Switching to Poppler's pdftops instead of Ghostscript for old HP LaserJet (\"LaserJet <number>\", no letters before <number>) printers to work around bugs in the printer's PS interpreters\n");
475 renderer = PDFTOPS;
476 }
477 break;
478 }
479 }
457480 }
458481
459482 /*
583606 as some do not like it. See https://bugs.launchpad.net/bugs/277404.*/
584607 if (!make_model[0] ||
585608 ((!strncasecmp(make_model, "HP", 2) ||
586 !strncasecmp(make_model, "Hewlett-Packard", 15)) &&
587 (strcasestr(make_model, "laserjet"))))
609 !strncasecmp(make_model, "Hewlett-Packard", 15) ||
610 !strncasecmp(make_model, "Hewlett Packard", 15)) &&
611 (strcasestr(make_model, "LaserJet"))))
588612 pdf_argv[pdf_argc++] = (char *)"-level2";
589613 else
590614 pdf_argv[pdf_argc++] = (char *)"-level3";
603627 as some do not like it. See https://bugs.launchpad.net/bugs/277404.*/
604628 if (!make_model[0] ||
605629 ((!strncasecmp(make_model, "HP", 2) ||
606 !strncasecmp(make_model, "Hewlett-Packard", 15)) &&
607 (strcasestr(make_model, "laserjet"))))
630 !strncasecmp(make_model, "Hewlett-Packard", 15) ||
631 !strncasecmp(make_model, "Hewlett Packard", 15)) &&
632 (strcasestr(make_model, "LaserJet"))))
608633 pdf_argv[pdf_argc++] = (char *)"-level2";
609634 else
610635 pdf_argv[pdf_argc++] = (char *)"-level3";
789814 pdf_argv[pdf_argc++] = (char *)"-dEncodeMonoImages=false";
790815 pdf_argv[pdf_argc++] = (char *)"-dEncodeColorImages=false";
791816 }
817 /*
818 * Toshiba's PS interpreters have an issue with how we handle
819 * TrueType/Type42 fonts, therefore we add command line options to turn
820 * the TTF outlines into bitmaps, usually Type 3 PostScript fonts, only
821 * large glyphs into normal image data.
822 * See https://bugs.launchpad.net/bugs/978120
823 */
824 if (make_model[0] &&
825 !strncasecmp(make_model, "Toshiba", 7))
826 {
827 fprintf(stderr, "DEBUG: To work around a bug in Toshiba's PS interpreters turn TTF font glyphs into bitmaps, usually Type 3 PS fonts, or images for large characters\n");
828 pdf_argv[pdf_argc++] = (char *)"-dHaveTrueTypes=false";
829 }
792830 pdf_argv[pdf_argc++] = (char *)"-dNOINTERPOLATE";
793831 pdf_argv[pdf_argc++] = (char *)"-c";
832 if (make_model[0] &&
833 !strncasecmp(make_model, "Toshiba", 7))
834 pdf_argv[pdf_argc++] = (char *)"<< /MaxFontItem 500000 >> setuserparams";
794835 pdf_argv[pdf_argc++] = (char *)"save pop";
795836 pdf_argv[pdf_argc++] = (char *)"-f";
796837 pdf_argv[pdf_argc++] = filename;
930930 const char *domain,
931931 void *txt) {
932932
933 char *uri, *remote_queue, *remote_host, *pdl = NULL;
933 char uri[HTTP_MAX_URI];
934 char *remote_queue, *remote_host, *pdl = NULL;
934935 #ifdef HAVE_AVAHI
935936 char *fields[] = { "product", "usb_MDL", "ty", NULL }, **f;
936937 AvahiStringList *entry;
944945
945946 is_cups_queue = 0;
946947 /* Determine the device URI of the remote printer */
947 if ((uri = malloc(strlen(host) +
948 strlen(resource) + 16)) == NULL){
949 debug_printf("cups-browsed: ERROR: Unable to allocate memory.\n");
950 exit(1);
951 }
952 sprintf(uri, "ipp%s://%s:%u/%s",
953 (strcasestr(type, "_ipps") ? "s" : ""), host,
954 port, resource);
948 httpAssembleURIf(HTTP_URI_CODING_ALL, uri, sizeof(uri),
949 (strcasestr(type, "_ipps") ? "ipps" : "ipp"), NULL,
950 host, port, "/%s", resource);
955951 /* Find the remote host name */
956952 remote_host = strdup(host);
957953 if (!strcmp(remote_host + strlen(remote_host) - 6, ".local"))
10231019 would get, so ignore this remote printer */
10241020 debug_printf("cups-browsed: Printer with URI %s already exists, printer ignored.\n",
10251021 uri);
1026 free (uri);
10271022 free (remote_host);
10281023 free (backup_queue_name);
10291024 cupsFreeDests(num_dests, dests);
10611056 ignore this remote printer */
10621057 debug_printf("cups-browsed: %s also taken, printer ignored.\n",
10631058 local_queue_name);
1064 free (uri);
10651059 free (backup_queue_name);
10661060 free (remote_host);
10671061 cupsFreeDests(num_dests, dests);
11351129 p = create_local_queue (local_queue_name, uri, remote_host,
11361130 name ? name : "", type, domain, pdl, remote_queue,
11371131 is_cups_queue);
1138 free (uri);
11391132 }
11401133
11411134 free (backup_queue_name);