LINUX.ORG.RU

Lexmark-1000 недовечатывает страницу доконца :(


0

0

Трабла такая: притер недопечатывает пагу доконца, по ссылке схематичная картинка, заштрихованная облать - непропечатанный участок. Ширина непропечатанной полоски примерно 2 сантиметра. Исмользую дрома lm1100 с linuxprinting.org Установлены ESP Ghostscript 8.15.2, CUPS 1.2, foomatic. Дистр Gentoo 2006.0

http://kuaksha.narod.ru/gluk.jpg

Re: Lexmark-1000 недовечатывает страницу доконца :(

Дело в том, что lm1100 не работает с А4. Я сам вот только что имел тот же гемор, в резульиаие чего родится патч ****** PATCH BEGIN ****** diff -pru a/LexmarkProtocol300c.cc b/LexmarkProtocol300c.cc --- a/LexmarkProtocol300c.cc 2006-07-02 17:04:36.000000000 +0400 +++ b/LexmarkProtocol300c.cc 2006-06-25 12:47:32.000000000 +0400 @@ -59,6 +59,9 @@ Rect LexmarkProtocol300c::getPageSize(in if(pageType == LETTER_PAGE) //300x300 dpi 8 1/2 x 11 inch page return Rect(0,0,2550,3300); + if(pageType == A4_PAGE) + //300x300 dpi 8.3 x 11.7 inch page + return Rect(0,0,2490,3510);

die("Bad page type %d",pageType); return Rect(); diff -pru a/LexmarkProtocolBW.cc b/LexmarkProtocolBW.cc --- a/LexmarkProtocolBW.cc 2006-07-02 17:04:36.000000000 +0400 +++ b/LexmarkProtocolBW.cc 2006-07-02 17:01:11.000000000 +0400 @@ -58,6 +58,9 @@ Rect LexmarkProtocolBW::getPageSize(int if(pageType == LETTER_PAGE) //300x300 dpi 8 1/2 x 11 inch page return Rect(0,0,2550,3300); + if(pageType == A4_PAGE) + //300x300 dpi 8.3 x 11.7 inch page + return Rect(0,0,2490,3510);

die("Bad page type %d",pageType); return Rect(); diff -pru a/PrinterProtocol.h b/PrinterProtocol.h --- a/PrinterProtocol.h 2000-11-21 11:06:22.000000000 +0300 +++ b/PrinterProtocol.h 2006-06-24 12:40:50.000000000 +0400 @@ -2,5 +2,6 @@ #define _PRINTER_PROTOCOL_H

#define LETTER_PAGE 1 +#define A4_PAGE 2

#endif diff -pru a/main.cc b/main.cc --- a/main.cc 2000-11-21 11:06:22.000000000 +0300 +++ b/main.cc 2006-06-24 13:33:39.000000000 +0400 @@ -34,18 +34,19 @@ Foundation, Inc., 59 Temple Place - Suit

#define SPONGE_BUF 512000

-static void print(FILE *fp, SpongeWriter *sp, bool blackwhite, int brightness); +static void print(FILE *fp, SpongeWriter *sp, bool blackwhite, int brightness, int pagesize);

int main(int argc, char *argv[]) { - if(argc < 2 || argc >5) + if(argc < 2 || argc >7) { die("Usage: %s [-bw] [-b value] <ppm/pbm raw file|->\n -bw black and white cartridge printing\n -b brightness value 0-255 defaults to 255. Less brightness = more ink\n",argv[ }

bool blackwhite = false; int brightness = 255; + int pagesize = LETTER_PAGE; int file_index = 0;

while(++file_index < argc -1) @@ -54,6 +55,14 @@ int main(int argc, char *argv[]) blackwhite = true; else if(strcmp(argv[file_index],"-b") == 0) brightness = atoi(argv[++file_index]); + else if(strcmp(argv[file_index++],"-p") == 0){ + if(strcmp(argv[file_index],"letter") == 0) + pagesize = LETTER_PAGE; + else if(strcmp(argv[file_index],"a4") == 0) + pagesize = A4_PAGE; + else + die("Invalid page size `%s`\n",argv[++file_index]); + } }

SpongeWriter sp(SPONGE_BUF,1); @@ -67,7 +76,7 @@ int main(int argc, char *argv[]) if(fd == NULL) die("Couldn't open %s for reading\n",argv[file_index]);

- print(fd,&sp,blackwhite,brightness); + print(fd,&sp,blackwhite,brightness,pagesize); } else { // reading from stdin, accept as many images that are sent @@ -78,12 +87,12 @@ int main(int argc, char *argv[]) break; ungetc(c,stdin);

- print(stdin,&sp,blackwhite,brightness); + print(stdin,&sp,blackwhite,brightness,pagesize); } } } -void print(FILE *fd,SpongeWriter *sp,bool blackwhite, int brightness) +void print(FILE *fd,SpongeWriter *sp,bool blackwhite, int brightness, int pagesize) { Reader r(fd,false); char buffer[255]; @@ -105,7 +114,7 @@ void print(FILE *fd,SpongeWriter *sp,boo p = new LexmarkProtocol300c(sp);

//get the page size - Rect pageSize = p->getPageSize(LETTER_PAGE); + Rect pageSize = p->getPageSize(pagesize);

Head h(&m,p, &pageSize); ****** PATCH END ****** Скажи ему patch -p1 < patchfile

evdovin ()

Re: Lexmark-1000 недовечатывает страницу доконца :(

Извените, но что-тов вашем посте форматирование съехало, а привести патч к нормальному виду вручную что-то неполучилось :(

helicopter ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.