Oi,
I have done major changes on the Foomatic data generator
Omni/Foomatic/Foomatic.cpp to address many of the issues which I
reported in the mails before. It has the following changes:
1. Clean-up of printer names: There is no manufacturer called "KS" or
"HP-LaserJet". Now all manufacturer names are correctly resolved.
Generic drivers (as "Generic 9-pin 80 col.") are under the manufacturer
name "Generic". For four printers I didn't know the manufacturer name
and I put them under "Others":
BJ-230
HDMF-NONE-FF
LG-GIP 3000Q/3000+
VP-6570K
Here I ask you for help. Which are the manufacturers of these printers.
The BJ-230 is probably not a Canon, because Omni has already a BJ-230
under "Canon".
2. Removed slashes and parantheses from the XML file names, this
prevented some files from being written.
3. Made the Foomatic-database ID matching mechanism more reliable.
4. Made the page size (form) option not only setting the "form=..." in
"-sproperties=...", but also adding a PostScript command to tell the
page size to GhostScript itself ("-sPAPERSIZE=..." does not support all
paper sizes which Omni supports).
5. Made the "-smonodither=GSMONO" option user-switchable, so that the
user can choose between speed and quality. GhostScript dithering is the
default.
6. Changed the Foomatic names of the options and choices to better fit
to the names of other drivers, to PPD conventions, or simply to be
shorter to type.
7. Changed the comment of the Omni-generated printer database entries
and removed the printer name out of the "consumables" comment.
8. Because the generated Foomatic data is only usable on a machine with
installed Foomatic, Foomatic printer entries for printers already listed
in Foomatic are not generated any more. So installing the Foomatic data
generated by Omni with the help of "foomatic-kitload" does not overwrite
any files.
The modified Foomatic.cpp file and some additional files you can download on
http://mandrakesoft.com/~tkamppeter/Omni-New-Foomatic.tar.gz
The files are the following:
1. Foomatic.cpp: The modified Foomatic data generator, put it into the
Omni/Foomatic/ directory and then build as usual.
2. Omni-Foomatic.patch: This is a patch to make the new Foomatic.cpp out
of the one currently on CVS. Here you can easily see my changes.
3. foomatic-omni-printerlist: Run this on a machine with installed
Foomatic to get the table for the printer name/Foomatic-ID relations.
4. newDB: the Foomatic-ID table generated with foomatic-omni-printerlist
from the current CVS of Foomatic. Note that the format has changed,
between manufacturer and model is a dash now (the new Foomatic.cpp does
not work with the old format).
During my tests of this new Foomatic data I found two additional bugs in
Omni:
1. Okidata ML 321 only spills an empty page instead of printing the job,
switching between the three compatibility modes "IBM Graphics printer",
"IBM Proprinter", and "Epson FX" does not help. I have checked that it
is not caused by Foomatic. Once the Foomatic-generated GhostScript
command line is absolutely correct, and second, The same problem happens
when calling GhostScript manually.
2. Epson Stylus Photo 1290 prints gibberish when a PostScript command
for the paper size is prepended to the PostScript file. This is also not
caused by Foommatic. The command line is correct and manually calling
GhostScript with a document with the PostScript for the paper size
inserted leads to the same problem. Removing the PostScript command
reproduces the image again, but with some part at the top missing
(because GhostScript assumes Letter size without the PostScript
command). These tests are done with A4 paper size.
The HP LaserJet 2100 prints correctly, with the Foomatic-supplied
PostScript command the image is printed completely in A4 format and with
the correct y offset, it is only shifted to the right (as I told you
already before). So the Foomatic data must be correct.
Till
|