Robert Krawitz
2017-03-26 20:48:31 UTC
I wanted to go back over the list of things to do for 5.3/6.0, to see
what else I was thinking about. Rather to my surprise, it looks like
all of these are actually done -- the first in the units-branch for
the next more-than-point release, and the others are already in the
mainline. I didn't find any replies to this message.
Looking back through much older wish lists (e. g. the 5.0 release
plan), I also don't see a lot more that's potentially incompatible
that we might want to add. I can see other compatible things we may
want to do, such as an ESC/P-R driver for newer Epson printers (at
least the non-photo ones), but those don't need to be in 5.3 per se.
Solomon, I know you want to revamp the paper API; this would be the
time to do so.
As far as 5.2.13, we have the bug fix for A4 paper, some other fixes
for the Canon driver, non-interactive GIMP plugin, and otherwise the
usual additions for new printers.
I'd also like to clean up the release notes by removing mentions of
particular printer commands (which mean nothing to end users) and
simply specify what the user-visible improvements are.
Anything else?
------- Start of forwarded message -------
Date: Sat, 19 Mar 2016 15:31:18 -0400
From: Robert Krawitz <***@alum.mit.edu>
To: "Gutenprint \(formerly Gimp-Print\) printer driver development"
<gimp-print-***@lists.sourceforge.net>
CC: gimp-print-***@lists.sourceforge.net
In-reply-to: <***@shaftnet.org> (***@shaftnet.org)
Subject: [Gimp-print-devel] Futures (was Re: Migrating to GIT)
Content-Type: text/plain; charset="us-ascii"
So the things I remember we were talking about for the next release
(5.3, 6.0, whatever were:
1) Changing the base unit of measurement. Currently it's integer
points (1/72"). This was OK 10 or 15 years ago when printers were
less precise and less accurate; technology has improved a lot,
though, and 1/144" maximum error isn't always OK (printing to CD's
can be definitely off-center). Points seem to be the standard unit
of measure in the printing world we could use either floating point
or scaling (where the base unit could be scaled).
Floating point is more convenient, of course, but also completely
breaks binary compatibility. It also has the problem of
imprecision (rounding error) for any printer not based on 1/72".
It's not even exact for printers based on 1/360" or similar, since
1/5 can't be represented precisely in floating point.
Scaling would use a base of 1/72", but the scale factor could be
changed to any divisor of 1/72", and all dimensions would be
expressed in terms of the scaled unit. Typically one might choose
the GCD of 1/72 and the printer unit; for a 300 DPI printer, that
would be 1/1800, so the scaling would be 25.
This would be precise (since everything would be done in integers)
but more complex, and I'm not sure the complexity would be worth
it.
2) Get rid of ijsgutenprint and foomatic. It's far from clear whether
anybody is using ijsgutenprint, since CUPS seems to be pretty
universal in the UNIX/Linux world these days. If nobody's using
ijsgutenprint, there's no point that I could see in keeping the
foomatic stuff around. Either way, if we make change #1,
everything else would have to change, and this would be a big wad
to carry forward.
(The GIMP plugin would be a pretty big wad to carry forward also,
and we might have to make the same decision there, but I suspect it
has more users.)
3) I want to go through the Epson driver and ensure that the full
range of drop sizes is being used for all resolutions, to enable
people to boost the density higher at high resolutions. That seems
to be causing some people some problems. That's not an API change,
but it would be difficult to keep the output identical at all
resolutions, so in principle it's something that would best be done
in a major or minor release, not a point release.`
Any other thoughts?
------- End of forwarded message -------
what else I was thinking about. Rather to my surprise, it looks like
all of these are actually done -- the first in the units-branch for
the next more-than-point release, and the others are already in the
mainline. I didn't find any replies to this message.
Looking back through much older wish lists (e. g. the 5.0 release
plan), I also don't see a lot more that's potentially incompatible
that we might want to add. I can see other compatible things we may
want to do, such as an ESC/P-R driver for newer Epson printers (at
least the non-photo ones), but those don't need to be in 5.3 per se.
Solomon, I know you want to revamp the paper API; this would be the
time to do so.
As far as 5.2.13, we have the bug fix for A4 paper, some other fixes
for the Canon driver, non-interactive GIMP plugin, and otherwise the
usual additions for new printers.
I'd also like to clean up the release notes by removing mentions of
particular printer commands (which mean nothing to end users) and
simply specify what the user-visible improvements are.
Anything else?
------- Start of forwarded message -------
Date: Sat, 19 Mar 2016 15:31:18 -0400
From: Robert Krawitz <***@alum.mit.edu>
To: "Gutenprint \(formerly Gimp-Print\) printer driver development"
<gimp-print-***@lists.sourceforge.net>
CC: gimp-print-***@lists.sourceforge.net
In-reply-to: <***@shaftnet.org> (***@shaftnet.org)
Subject: [Gimp-print-devel] Futures (was Re: Migrating to GIT)
Content-Type: text/plain; charset="us-ascii"
So the things I remember we were talking about for the next release
(5.3, 6.0, whatever were:
1) Changing the base unit of measurement. Currently it's integer
points (1/72"). This was OK 10 or 15 years ago when printers were
less precise and less accurate; technology has improved a lot,
though, and 1/144" maximum error isn't always OK (printing to CD's
can be definitely off-center). Points seem to be the standard unit
of measure in the printing world we could use either floating point
or scaling (where the base unit could be scaled).
Floating point is more convenient, of course, but also completely
breaks binary compatibility. It also has the problem of
imprecision (rounding error) for any printer not based on 1/72".
It's not even exact for printers based on 1/360" or similar, since
1/5 can't be represented precisely in floating point.
Scaling would use a base of 1/72", but the scale factor could be
changed to any divisor of 1/72", and all dimensions would be
expressed in terms of the scaled unit. Typically one might choose
the GCD of 1/72 and the printer unit; for a 300 DPI printer, that
would be 1/1800, so the scaling would be 25.
This would be precise (since everything would be done in integers)
but more complex, and I'm not sure the complexity would be worth
it.
2) Get rid of ijsgutenprint and foomatic. It's far from clear whether
anybody is using ijsgutenprint, since CUPS seems to be pretty
universal in the UNIX/Linux world these days. If nobody's using
ijsgutenprint, there's no point that I could see in keeping the
foomatic stuff around. Either way, if we make change #1,
everything else would have to change, and this would be a big wad
to carry forward.
(The GIMP plugin would be a pretty big wad to carry forward also,
and we might have to make the same decision there, but I suspect it
has more users.)
3) I want to go through the Epson driver and ensure that the full
range of drop sizes is being used for all resolutions, to enable
people to boost the density higher at high resolutions. That seems
to be causing some people some problems. That's not an API change,
but it would be difficult to keep the output identical at all
resolutions, so in principle it's something that would best be done
in a major or minor release, not a point release.`
Any other thoughts?
------- End of forwarded message -------
--
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
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