[Printing-architecture] [Gimp-print-devel] Looking ahead to 5.3
Hal V. Engel
hvengel at astound.net
Sun Oct 26 14:23:41 PDT 2008
On Sunday 26 October 2008 12:04:02 Robert Krawitz wrote:
> From: "Hal V. Engel" <hvengel at astound.net>
> Date: Sun, 26 Oct 2008 11:40:26 -0700
>
> On Sunday 26 October 2008 09:55:06 Michael R Sweet wrote:
> > Robert Krawitz wrote:
> > > Date: Sun, 26 Oct 2008 01:18:30 +0000
> > > From: "Alastair M. Robinson" <blackfive at fakenhamweb.co.uk>
> > >
> > > Robert Krawitz wrote:
> > > > Why does it have to be server-side? The print dialog could
> > > > implement it.
> > >
> > > Well, this whole discussion started with the question of how
> > > gutenprint will work with the Common Printing Dialog.
> > >
> > > Yeah, well, I'm not assuming that the implementation (at least) of
> > > the CPD can't be changed. Nor am I assuming that CUPS can't be
> > > changed (which it would need to be anyway, in order to handle
> > > curves). This
> >
> > Um, CUPS doesn't have to be changed to support curves aka LUTs - the
> > existing 1setOf functionality handles arbitrarily long arrays of data.
> >
> > Whether it makes sense to pass all that data as part of the job is
> > another matter - I personally don't believe it does since it is
> > highly driver-specific and something the user is likely to generate
> > once and reference multiple times.
>
> I agree with this.
>
> I don't disagree. I just don't think that the fact that something's
> not likely to be done all that often is a good reason to consider it
> an "administrative" task that requires administrator privilege.
I didn't read Michael's statement as saying that this would always require
administrative privilege. What I was agreeing with was that this was a create
once (or at least only once in a while) and use often type of thing. Because
of that I think that it makes sense to avoid transmitting this data to the
print server for every job if possible. But I also agree with you that it
should be possible for ordinarily users to create calibration data sets and
use them without the need for administrative rights. If that use case means
that the calibration data needs to be passed to the back end with each job
then that must be allowed but that also implies that there is a way to pass a
file and other than the actual document to be printed I don't think this is
allowed for files that are not installed in the /usr/cups/... directories.
>
> > IOW, I don't see a user (or program) doing this:
> >
> > lp -o gutenprint-cyan-curve=0,0.01,0.012,...,1.0 filename
> >
> > Instead, I would expect them to use:
> >
> > lp -o stpUserProfile=AcmeLustreGray filename
> >
> > where "AcmeLustreGray" is a profile that the user created using a
> > Gutenprint-specific profiling/admin application. This profile would
> > be "installed" on the system that is actually doing the printing.
> > This would not necessarily require root privileges to do as user-
> > specific profile directories are easy to do and CUPS does not require
> > root access to update a printer as long as the distro/OS puts users in
> > the system group (lpadmin or sys depending on the system).
>
> I am a little confused (sorry). I can't find any documentation on
> stpUserProfile anywhere. Could you provide an explanation?
>
> It doesn't exist, at least right now -- Mike was just using this as an
> example.
So something like this would be a new driver option that would be added to the
GutenPrint driver that could be set to point to a calibration file that would
be used by the driver? Of course this implies that users can somehow setup a
"AcmeLustreGray" calibration data set so that a driver like GutenPrint could
use it. Another source of confusion for me is that I though that the
/usr/share/cups/profiles directory was for ICC profiles but I guess that could
also contain calibration data sets.
The other issue is how would this work in the general case? I could see this
being OK, but perhaps not ideal, when the print server is located on the same
machine as the users. But what happens if the print server is located on the
network or what if the printer is shared (which is the same as being on the
network)? How would users "install" their own ICC Profiles and calibration
data sets? In addition for network printers with administratively installed
ICC profiles and calibration data sets how can these be discovered by
ordinarily users so that these can be used? For calibration data this is a
smaller issue since users do not need to have direct access to the calibration
data since these could be encapsulated and hidden in presets that were created
by the administrator that would show up in the CPD. But users do need to be
able to discover and get copies of ICC profiles to be able to do soft proofing
and this would not be possible on a networked printer at least not without
some new features in the print system.
For the new PDF printing work flow the ICC Profile issues could become moot if
things are properly designed. The PDF format allows for there to be an
embedded output profile as well as profiles for individual objects in the
document and the PDF specification calls for PDF rasterization software to use
that output profile if it finds one in the file. In other words the PDF
document file could be used to transmit the output profile information to the
print server and then the requirement that output profiles be located in a
certain location goes away. Of course this functionality would have to be
implemented in the CPD and the rest of the printing work flow since it is
currently unsupported.
Hal
More information about the Printing-architecture
mailing list