Discussion:
[Gimp-print-devel] Canon PIXMA iP7250
Ludwig TAUER
2017-04-14 16:37:07 UTC
Permalink
Hi folks!

First of all thank you for the great work all over the years!

During the last 15 years I used several printers and all worked like a
charm.

Recently I purchased a CANON iP7250 and yes, I know it is marked
as experimental. Here are my first experiences using
Release: gutenprint 5.2.13-pre1 generated on 02 Apr 2017

1.) No problems printing documents with Okular or LibreOffice
even double sided with plain paper A4 size.

2.) Great photo prints on 4x6 photo glossy paper via GIMP with
standard print dialog.

3.) Cannot print neither A4 nor 4x6 via GIMP with Gutenprint plugin.

4.) Also no success with PhotoPrint. However I can export the generated
image and print with shell command lpr to the appropriate
printer queues. (No problems with SELPHY CP 1000)

5.) Borderless print does not work (nothing printed, no paper feed; but
data is sent to printer) with A4 plain paper setting.
If I set paper to Ink Jet Hagaki (no clue what this means)
printout is fine.

6.) Printing to CD tray is off by approximately -27 mm.

Let me know how I can help eliminating the few remaining issues.

Sincerely yours
Ludwig Tauer

---

There are no typos but creative behaviour of my keyboard!
Robert Krawitz
2017-04-15 02:51:50 UTC
Permalink
Post by Ludwig TAUER
2.) Great photo prints on 4x6 photo glossy paper via GIMP with
standard print dialog.
3.) Cannot print neither A4 nor 4x6 via GIMP with Gutenprint plugin.
The Gutenprint plugin uses the same code as the CUPS driver, but
actually a more direct path, so usually it's more reliable. What
settings were you using, and what actually happened?
--
Robert Krawitz <***@alum.mit.edu>

*** 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
Ludwig TAUER
2017-04-17 13:02:02 UTC
Permalink
Post by Robert Krawitz
Post by Ludwig TAUER
2.) Great photo prints on 4x6 photo glossy paper via GIMP with
standard print dialog.
3.) Cannot print neither A4 nor 4x6 via GIMP with Gutenprint plugin.
The Gutenprint plugin uses the same code as the CUPS driver, but
actually a more direct path, so usually it's more reliable.
Hello Robert,
this is what I expected especially when I remember the discussion
about paper sizes and the canon driver last February/March.
So I was surprised to have no problems with the standard print dialogs
in various programs. I did not expect problens with the gutenprint
print dialog in GIMP. Same problems with PhotoPrint.
Post by Robert Krawitz
What settings were you using, and what actually happened?
It happens is that the print job is sent to the printer but the printer
shows no sign of reaction. I can see the data is transmitted because the
printer is connected via WLAN and I can see the network activity
in the system monitor.

These are my settings in the gutenprint print dialog in GIMP:
Media Type: Photo Paper Plus Glossy II
Media Source: Cassette
Cassette Tray: Upper Tray/Cassette 1
(no change if set to 'Driver-Controlled')
Resolution: 600x600 DPI PHOTO HIGH
also tried all other resolutions to no avail
Ink Type: CMYK Color (no real choice here but 'Black')
(this is changed to 'CMYKk Color' automatically when I set Resolution
to '600x600 DPI HIGH (Duplex)')
Ink Set: None (no other choice)
Print Quality: Standard (no change if set to 'Manual Control')
Borderless button is pressed. (no change if released)
Image Type: Photograph (no change for other values)
Paper Size: 4x6 (also tried 'Postcard', '10cm x 15cm')

The working settings in standard print dialog are:
Paper type: Photo Paper Plus Glossy II
Paper source: Cassette
Paper size: 10cm x 15cm (also working 'hagaki (postcard)' and '4x6'
with no visible changes on output)
Resolution: Automatic (but all others work with no visible changes)
Color Precision: Best
Print Quality: Standard
Shrink Page If Necessary to Fit Borders: Crop (preserve dimensions)
Cassette Tray: Upper Tray /Cassette 1
Ink Type: CMYKk Color
Borderless: Yes (Only true for left edge, but this might be a GIMP issue)

The borderless issue I can circumvent by creating a exact fitting
image with PhotoPrint and send that via shell command to an
approprialely setup queue. Then the results are perfect.

Sorry if I missed the obvious and consumed your time and bandwith.
--
Ludwig TAUER

PS: There are no typos but creative behaviour of my keyboard!
Gernot Hassenpflug
2017-04-15 03:06:58 UTC
Permalink
Post by Ludwig TAUER
Hi folks!
First of all thank you for the great work all over the years!
Hello Ludwig,
Thank you for your report.
Post by Ludwig TAUER
During the last 15 years I used several printers and all worked like a
charm.
Recently I purchased a CANON iP7250 and yes, I know it is marked
as experimental. Here are my first experiences using
Release: gutenprint 5.2.13-pre1 generated on 02 Apr 2017
1.) No problems printing documents with Okular or LibreOffice
even double sided with plain paper A4 size.
2.) Great photo prints on 4x6 photo glossy paper via GIMP with
standard print dialog.
That is good to know.
Post by Ludwig TAUER
3.) Cannot print neither A4 nor 4x6 via GIMP with Gutenprint plugin.
Robert already replied on this point.
Post by Ludwig TAUER
4.) Also no success with PhotoPrint. However I can export the generated
image and print with shell command lpr to the appropriate
printer queues. (No problems with SELPHY CP 1000)
5.) Borderless print does not work (nothing printed, no paper feed; but
data is sent to printer) with A4 plain paper setting.
If I set paper to Ink Jet Hagaki (no clue what this means)
printout is fine.
Borderless only works with photo resolution modes (and one draft plain
media mode).
If you are using "automatic" for selecting resolution, for example,
this wll not work.
It is certainly not intended for plain media, the drat mode that does
exist (in Windows) is just that, for draft (like other borderless
modes, just photo colours, including photo black only if that is
available in this printer model).

By the sound of things you are only using "automatic" resolution, so
from your report it only indicates that one mode per media is at least
working. If you want to test more thoroughly, you would have to select
the various resolution modes provided for each media one by one and
check the quality (and if they even work as expected, in case there
are bugs with the ink encoding for example, there could be stretched
or compressed printing).
Post by Ludwig TAUER
6.) Printing to CD tray is off by approximately -27 mm.
Yes, for this we need someone to test. Currently changes require
recompiling the driver, so it would be better to talk offline and let
me send you test printjobs with corrected offsets. You don't say where
this correction is needed, but if it is only one axis that would be
fairly simply I assume.
Post by Ludwig TAUER
Let me know how I can help eliminating the few remaining issues.
Sincerely yours
Ludwig Tauer
Best regards from Tokyo,
Gernot Hassenpflug
Post by Ludwig TAUER
---
There are no typos but creative behaviour of my keyboard!
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gimp-print-devel mailing list
https://lists.sourceforge.net/lists/listinfo/gimp-print-devel
Ludwig TAUER
2017-04-15 11:53:01 UTC
Permalink
Post by Gernot Hassenpflug
Post by Ludwig TAUER
6.) Printing to CD tray is off by approximately -27 mm.
Yes, for this we need someone to test. Currently changes require
recompiling the driver,
No problem. I am on the programming trail since 45 years. ;-)
Post by Gernot Hassenpflug
so it would be better to talk offline and let
me send you test printjobs with corrected offsets. You don't say where
this correction is needed, but if it is only one axis that would be
fairly simply I assume.
Only vertically misaligned as far as I can see. The printout is
shifted to the bottom approximately 27 mm.

Tell me where to change something and I can start trial and error
cycles for my own to speed things up.

With greetings from Vienna, Austria
Ludwig Tauer
--
There are no typos but creative behaviour of my keyboard!
Gernot Hassenpflug
2017-04-15 12:43:53 UTC
Permalink
Hallo Ludwig, Gruess Gott,
Post by Ludwig TAUER
Post by Gernot Hassenpflug
Post by Ludwig TAUER
6.) Printing to CD tray is off by approximately -27 mm.
Yes, for this we need someone to test. Currently changes require
recompiling the driver,
No problem. I am on the programming trail since 45 years. ;-)
Wunderbar!
Post by Ludwig TAUER
Post by Gernot Hassenpflug
so it would be better to talk offline and let
me send you test printjobs with corrected offsets. You don't say where
this correction is needed, but if it is only one axis that would be
fairly simply I assume.
Only vertically misaligned as far as I can see. The printout is
shifted to the bottom approximately 27 mm.
Excellent.
Post by Ludwig TAUER
Tell me where to change something and I can start trial and error
cycles for my own to speed things up.
All right, here is the overview:

(1) CD trays fall into several types, with alphabetic names, from A to
L (currently).

(2) iP7200 uses the type J, any corrections will be useful to all
other printer models using this tray type.

(3) code is in print-canon.c, specifically functions:
canon_size_type (setting of tray type codes, no changes needed)
canon_init_setPageMargins2 (settings of page size and offsets, here is
the place to experiment)
canon_set_ESC_P (setting of tray type codes, no changes needed)

(4) for the adjustments in canon_init_setPageMargins2

These adjustments are per tray type. Adjustments are done in point
dimensions in the code (1/72 inches), and later converted to printer
units (1/600 inches) for final output.
(See the comments in the code for the full version)

There are two fixed parameters currently in the code, which should not
be changed:
CANON_CD_X, CANON_CD_Y
These should in fact be parameters specific to each tray type, but
since I don't know the history of the code, it is hard to correct this
at present until confirmation of all the variations for different tray
types has been done.

So, we do adjustments on these fixed parameters, per tray type.
printable_width adjusted via adjust_tray_J_width
printable_length adjusted via adjust_tray_J_length

We adjust later also the following similarly:
page_width
page_height
Fortunately, the iP7200 has already been chosen as a test subject
(from a previous attempt to work with a tester), so the code already
is active.

Then there are border adjustments, again already the iP7200 is chosen:
border_left2
border_right2
border_bottom
border_top
I doubt that anything needs to be changed here at the moment, all
adjustments are set to 0 currently in the code.

I guess that either or printable_length and or page_height need to be
set differently. 27mm is quite a large shift, it is not clear whether
that is owing to the paper dimensions, or to the image dimensions.
Maybe reduce one or the other independently first.
Post by Ludwig TAUER
With greetings from Vienna, Austria
Ludwig Tauer
Best wishes,
Gernot Hassenpflug
Gernot Hassenpflug
2017-04-16 01:21:57 UTC
Permalink
On Sat, Apr 15, 2017 at 9:43 PM, Gernot Hassenpflug
Post by Gernot Hassenpflug
Hallo Ludwig, Gruess Gott,
Post by Ludwig TAUER
Post by Gernot Hassenpflug
Post by Ludwig TAUER
6.) Printing to CD tray is off by approximately -27 mm.
Yes, for this we need someone to test. Currently changes require
recompiling the driver,
No problem. I am on the programming trail since 45 years. ;-)
Wunderbar!
Hello Ludwig,
I left out one critical function in the previous email.
Post by Gernot Hassenpflug
Post by Ludwig TAUER
Post by Gernot Hassenpflug
so it would be better to talk offline and let
me send you test printjobs with corrected offsets. You don't say where
this correction is needed, but if it is only one axis that would be
fairly simply I assume.
Only vertically misaligned as far as I can see. The printout is
shifted to the bottom approximately 27 mm.
Excellent.
Post by Ludwig TAUER
Tell me where to change something and I can start trial and error
cycles for my own to speed things up.
(1) CD trays fall into several types, with alphabetic names, from A to
L (currently).
(2) iP7200 uses the type J, any corrections will be useful to all
other printer models using this tray type.
canon_size_type (setting of tray type codes, no changes needed)
canon_init_setPageMargins2 (settings of page size and offsets, here is
the place to experiment)
canon_set_ESC_P (setting of tray type codes, no changes needed)
canon_setup_channels (where CANON_CD_X, CANON_CD_Y are defined and
used, adjustments needed here)
Post by Gernot Hassenpflug
(4) for the adjustments in canon_init_setPageMargins2
These adjustments are per tray type. Adjustments are done in point
dimensions in the code (1/72 inches), and later converted to printer
units (1/600 inches) for final output.
(See the comments in the code for the full version)
There are two fixed parameters currently in the code, which should not
CANON_CD_X, CANON_CD_Y
These should in fact be parameters specific to each tray type, but
since I don't know the history of the code, it is hard to correct this
at present until confirmation of all the variations for different tray
types has been done.
So, we do adjustments on these fixed parameters, per tray type.
printable_width adjusted via adjust_tray_J_width
printable_length adjusted via adjust_tray_J_length
page_width
page_height
Fortunately, the iP7200 has already been chosen as a test subject
(from a previous attempt to work with a tester), so the code already
is active.
border_left2
border_right2
border_bottom
border_top
I doubt that anything needs to be changed here at the moment, all
adjustments are set to 0 currently in the code.
I guess that either or printable_length and or page_height need to be
set differently. 27mm is quite a large shift, it is not clear whether
that is owing to the paper dimensions, or to the image dimensions.
Maybe reduce one or the other independently first.
(5) adjustment in canon_setup_channels, requires adjustment also in (4) abvove.

if (print_cd) {
privdata->cd_inner_radius = hub_size / 2;
privdata->cd_outer_radius = stp_get_width(v) / 2;
privdata->left = CANON_CD_X - privdata->cd_outer_radius +
stp_get_dimension_parameter(v, "CDXAdjustment");;
privdata->top = CANON_CD_Y - privdata->cd_outer_radius +
stp_get_dimension_parameter(v, "CDYAdjustment");
privdata->page_width = privdata->left + privdata->out_width;
privdata->page_height = privdata->top + privdata->out_height;

As you can see, the top is set according to CANON_CD_Y, so even if the
adjustments in (4) are correct for the overall page dimensions, the
shift you see might well be owing to CANON_CD_Y (in fact, very
likely).
Unfortunately, without an actual testprinter, getting this right is not so easy.
I had written code to handle this in a coordinated manner, but again,
until we know the individual preferences for each tray type, we cannot
guarantee that the existing behaviour is either kept or changed for
the better.
It would thus help greatly if your experimentation results in a
working CD printing configuration for the Tray J printers.

Many thanks,
Gernot
Post by Gernot Hassenpflug
Post by Ludwig TAUER
With greetings from Vienna, Austria
Ludwig Tauer
Best wishes,
Gernot Hassenpflug
Ludwig TAUER
2017-04-16 12:31:42 UTC
Permalink
Post by Gernot Hassenpflug
On Sat, Apr 15, 2017 at 9:43 PM, Gernot Hassenpflug
<snip>
Post by Gernot Hassenpflug
Hello Ludwig,
I left out one critical function in the previous email.
<snip>

Hello Gernot,
seems that this omission further grayed my hair ;-)
Post by Gernot Hassenpflug
Post by Gernot Hassenpflug
canon_size_type (setting of tray type codes, no changes needed)
canon_init_setPageMargins2 (settings of page size and offsets, here is
the place to experiment)
Nothing I changed here made any visible difference.
<snip>
Post by Gernot Hassenpflug
(5) adjustment in canon_setup_channels, requires adjustment also in (4) abvove.
if (print_cd) {
privdata->cd_inner_radius = hub_size / 2;
privdata->cd_outer_radius = stp_get_width(v) / 2;
privdata->left = CANON_CD_X - privdata->cd_outer_radius +
stp_get_dimension_parameter(v, "CDXAdjustment");;
privdata->top = CANON_CD_Y - privdata->cd_outer_radius +
stp_get_dimension_parameter(v, "CDYAdjustment");
privdata->page_width = privdata->left + privdata->out_width;
privdata->page_height = privdata->top + privdata->out_height;
As you can see, the top is set according to CANON_CD_Y, so even if the
adjustments in (4) are correct for the overall page dimensions, the
shift you see might well be owing to CANON_CD_Y (in fact, very
likely).
True. I now left adjust_tray_J_lengprivdata->leftth and
adjust_tray_J_width untouched.
In setup_page() I reduced privdata->left by 2 and privdata->top by 73.
That gives the best result, though it seems slightly misaligned by
half a point in the vertical direction, but since we have integers here...
Post by Gernot Hassenpflug
Unfortunately, without an actual testprinter, getting this right is not
so easy. I had written code to handle this in a coordinated manner, but
again, until we know the individual preferences for each tray type, we
cannot guarantee that the existing behaviour is either kept or changed
for the better.
It would thus help greatly if your experimentation results in a
working CD printing configuration for the Tray J printers.
Count on me for further testing but for the moment I am out of
printable CDs, DVDs and BRs. Must order some so the further CD tray
testing is delayed until 2nd half of the week.

In the meantime I will attack my other issues.

Many thanks for your help~
Ludwig
Gernot Hassenpflug
2017-04-16 13:28:12 UTC
Permalink
Post by Ludwig TAUER
Post by Gernot Hassenpflug
On Sat, Apr 15, 2017 at 9:43 PM, Gernot Hassenpflug
<snip>
Post by Gernot Hassenpflug
Hello Ludwig,
I left out one critical function in the previous email.
<snip>
Hello Gernot,
seems that this omission further grayed my hair ;-)
Hello Ludwig,
Sorry about that! I have the same hair issue when looking at CD
printing though :-)
Post by Ludwig TAUER
Post by Gernot Hassenpflug
Post by Gernot Hassenpflug
canon_size_type (setting of tray type codes, no changes needed)
canon_init_setPageMargins2 (settings of page size and offsets, here is
the place to experiment)
Nothing I changed here made any visible difference.
Really. That is good news, it means it is not critical to get exact sizes maybe.
Post by Ludwig TAUER
<snip>
Post by Gernot Hassenpflug
(5) adjustment in canon_setup_channels, requires adjustment also in (4) abvove.
if (print_cd) {
privdata->cd_inner_radius = hub_size / 2;
privdata->cd_outer_radius = stp_get_width(v) / 2;
privdata->left = CANON_CD_X - privdata->cd_outer_radius +
stp_get_dimension_parameter(v, "CDXAdjustment");;
privdata->top = CANON_CD_Y - privdata->cd_outer_radius +
stp_get_dimension_parameter(v, "CDYAdjustment");
privdata->page_width = privdata->left + privdata->out_width;
privdata->page_height = privdata->top + privdata->out_height;
As you can see, the top is set according to CANON_CD_Y, so even if the
adjustments in (4) are correct for the overall page dimensions, the
shift you see might well be owing to CANON_CD_Y (in fact, very
likely).
True. I now left adjust_tray_J_lengprivdata->leftth and
adjust_tray_J_width untouched.
In setup_page() I reduced privdata->left by 2 and privdata->top by 73.
That gives the best result, though it seems slightly misaligned by
half a point in the vertical direction, but since we have integers here...
Thanks for that correction, too bad half a point of misalignment remains.
Since we are intending to move the code to floating point, things will
improve for CD offsets.
I haven't begun on that task yet though. I'll have to check it it was
intended to do that for the current upcoming release or not.

I will note the changes you have fou nd necessary and see if I can
recode in a way that makes these changes applicable only to this tray
type.
It is a temporary solution until the new codebase for CD printing can be used.

/../
Post by Ludwig TAUER
Count on me for further testing but for the moment I am out of
printable CDs, DVDs and BRs. Must order some so the further CD tray
testing is delayed until 2nd half of the week.
I used to use the same CD each time, just print patterns in black or
cyan, and wipe off the ink after printing. Even a CD not intended for
CD printing is fine in that case.

Best regards,
Gernot Hassenpflug
Loading...