Home

The following is a step by step guide on how to set up a Canon BubbleJet printer under Solaris using Ghostscript 5.50. This is specifically for the Canon BJC 4310SP, however other models should be similar, it will be case of replacing the device ( bjc600 ) with an appropriate one.

  1. Get, compile and install ghostscript, etc
  2. Create colour adjusting file /opt/local/share/ghostscript/5.50/gamma.ps.
  3. %!
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %
    %  Filename:    gamma.ps
    %
    %  Description: gamma correction to lighten the output as Canon printers
    %               print really dark.
    %
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %
    %  Revision History
    %  ----------------
    %  Date     Who             No  Description
    %  -----------------------------------------------------------------------------
    %  31/12/98 Jill Stephenson 001 Initial version
    %
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    /.fixtransfer {
      currentcolortransfer 4 {
        mark 0.333 /exp load 4 -1 roll
        dup type dup /arraytype eq exch /packedarraytype eq or
        1 index xcheck and { /exec load } if
        ] cvx 4 1 roll
      } repeat setcolortransfer
    } bind odef
    .fixtransfer
    /setpagedevice { setpagedevice .fixtransfer } bind odef
      
  4. Create filter /etc/lp/fd/bjc.fd
  5. # Beginning of the file - Filter for Canon BJC 4310SP
    Input types: postscript
    Output types: BJC
    Printer types: any
    Printers: any
    Filter type: fast
    Command: /opt/local/bin/gs -q -dSAFER -dNOPAUSE -sPAPERSIZE=a4 -dFIXEDMEDIA -sDEVICE=bjc600 -sOutputFile=/dev/lp1 /opt/local/share/ghostscript/5.50/gamma.ps -
    # End of the file
      
  6. Add filter
  7. lpfilter -f BJC -F /etc/lp/fd/bjc.fd
      
  8. Adjust filter permissions to match other filters in /etc/lp/fd
  9. chown lp bjc.fd
    chgrp lp bjc.fd
    chmod 664 bjc.fd
      
  10. Create printer
  11. lpadmin -p bubble -D "Canon bubblejet" -v /dev/null -I BJC -o nobanner -o "stty=-opost"
      
  12. Disable banner in /etc/lp/interfaces/bubble
  13. change
    nobanner="no"
    to
    nobanner="yes"
      
  14. Reset permissions of printer device
  15. chown lp /dev/lp1
    chgrp lp /dev/lp1
    chmod 664 /dev/lp1
      
  16. Kick off printer
  17. enable bubble
    accept bubble