Gernot Hassenpflug
2017-03-11 15:35:35 UTC
On Sun, Mar 5, 2017 at 12:03 AM, Robert Krawitz <***@alum.mit.edu> wrote:
Hello all,
Quick progress report and question about the Orientation parameter.
The Esc (u and Esc (s commands now behave as they should, save for the
limitation that the Esc (s command is also output on the last page
(unlike in the Windows driver).
I found that I can add support for printing orientation as well, as
the Esc (v and Esc (P command parameters change depending on the
rotation (0, 90, 180, or 270 degrees).
However, I could not manage to pass the CUPS Orientation parameters to
gutenprint. I am not sure if rastertoprinter.c needs some change. I
added the code I thought was necessary, to get the parameter into the
PPDs also (this seems to be the case).
Passing "-o landscape" or "-o orientation-request=3" (or 4,5,6) from
lp or lpr shows only something like this in the debug log:
D [12/Mar/2017:00:12:03 +0900] [Job 987] Gutenprint: CUPS option 6
landscape = true
or
D [12/Mar/2017:00:15:08 +0900] [Job 988] Gutenprint: CUPS option 7
orientation-request = 5
but how this is supposed to be passed to gutenprint in the form of the
PPD parameter names is not clear to me. Any help appreciated.
Regards,
Gernot Hassenpflug
Hello all,
Quick progress report and question about the Orientation parameter.
Actually, there is a page number facility available for duplex. Look at
escp2_do_print() in print-escp2.c. It's passed in by
rastertoprinter.c, at line 1365.
Also see escp2_print, escp2_job_start, and escp2_job_end. Gutenprint
has two job modes, "job" and "page". Page mode is used for apps like
the GIMP plugin, that just print one page; job mode is used by the
CUPS filter that print multiple pages per job.
I have worked on improving the duplex implementation in the Canon driver.escp2_do_print() in print-escp2.c. It's passed in by
rastertoprinter.c, at line 1365.
Also see escp2_print, escp2_job_start, and escp2_job_end. Gutenprint
has two job modes, "job" and "page". Page mode is used for apps like
the GIMP plugin, that just print one page; job mode is used by the
CUPS filter that print multiple pages per job.
The Esc (u and Esc (s commands now behave as they should, save for the
limitation that the Esc (s command is also output on the last page
(unlike in the Windows driver).
I found that I can add support for printing orientation as well, as
the Esc (v and Esc (P command parameters change depending on the
rotation (0, 90, 180, or 270 degrees).
However, I could not manage to pass the CUPS Orientation parameters to
gutenprint. I am not sure if rastertoprinter.c needs some change. I
added the code I thought was necessary, to get the parameter into the
PPDs also (this seems to be the case).
Passing "-o landscape" or "-o orientation-request=3" (or 4,5,6) from
lp or lpr shows only something like this in the debug log:
D [12/Mar/2017:00:12:03 +0900] [Job 987] Gutenprint: CUPS option 6
landscape = true
or
D [12/Mar/2017:00:15:08 +0900] [Job 988] Gutenprint: CUPS option 7
orientation-request = 5
but how this is supposed to be passed to gutenprint in the form of the
PPD parameter names is not clear to me. Any help appreciated.
Regards,
Gernot Hassenpflug
------- Start of forwarded message -------
Content-Type: multipart/related;
boundary="===============4467390184386401729=="
Subject: [gimp-print:bugs] #689 Pixma MG5740 resolution and duplex printing issue
Date: Sat, 04 Mar 2017 06:36:42 +0000
Hello Jurgen,
I checked the current canon-printers.h definition and my original test printjobs from Windows. The definition is correct, as are the modes in canon-modes.h. There is no 300x300 resolution mode, the draft one in Windows also uses 600x600 but with a quality setting of 1 which is lower than the other 600x600 modes. Probably this printer's firmware and/or printhead does not have 300x300 capability.
I checked the defined margins against the Canon PPD and they are fine also.
Regarding the duplex, there is an interesting aspect. This printer has a command "Esc (s 0x0" sent only for duplex on each page except the last one (I think). This is coded but not active at the moment. So lack of this could be the cause for duplex margin problems.
For implementation, the troublesome part is that in gutenprint there is at the moment no page counter, so the command would be sent for every page if activated.
If you can compile gutenprint, you could test this, or I could send you a multipage text-only printjob for you to send to the printer with the "-o raw" command.
--
*** MIT Engineers A Proud Tradition http://mitathletics.com ***
Member of the League for Programming Freedom -- http://ProgFree.org
Project lead for Gutenprint -- http://gimp-print.sourceforge.net
"Linux doesn't dictate how I work, I dictate how Linux works."
--Eric Crampton
Content-Type: multipart/related;
boundary="===============4467390184386401729=="
Subject: [gimp-print:bugs] #689 Pixma MG5740 resolution and duplex printing issue
Date: Sat, 04 Mar 2017 06:36:42 +0000
Hello Jurgen,
I checked the current canon-printers.h definition and my original test printjobs from Windows. The definition is correct, as are the modes in canon-modes.h. There is no 300x300 resolution mode, the draft one in Windows also uses 600x600 but with a quality setting of 1 which is lower than the other 600x600 modes. Probably this printer's firmware and/or printhead does not have 300x300 capability.
I checked the defined margins against the Canon PPD and they are fine also.
Regarding the duplex, there is an interesting aspect. This printer has a command "Esc (s 0x0" sent only for duplex on each page except the last one (I think). This is coded but not active at the moment. So lack of this could be the cause for duplex margin problems.
For implementation, the troublesome part is that in gutenprint there is at the moment no page counter, so the command would be sent for every page if activated.
If you can compile gutenprint, you could test this, or I could send you a multipage text-only printjob for you to send to the printer with the "-o raw" command.
--
*** MIT Engineers A Proud Tradition http://mitathletics.com ***
Member of the League for Programming Freedom -- http://ProgFree.org
Project lead for Gutenprint -- http://gimp-print.sourceforge.net
"Linux doesn't dictate how I work, I dictate how Linux works."
--Eric Crampton