Hello<br> <br> Many, many thanks for the change. I reportet this already at 2005-10-15 in bug #<a rel="nofollow" name="b3599" target="_blank" href="http://bugs.winehq.org/show_bug.cgi?id=3599">3599.</a><br> But nobody seemd to take care about this problem. I think this brings the whole thing much furter.<br> <br> Roland Kaeser<br><br><b><i>Charles Morrison <eplurib@earthlink.net></i></b> schrieb:<blockquote class="replbq" style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"> 10/10/2007<br><br>After consulting with some local Linux consultants, we have concluded <br>that Corel Draw does not print under WINE because it detects the printer <br>as Postscript, converts the file to Postscript, and sends the file to <br>CUPS, which then converts the file to Postscript, again, and sends it to <br>the printer which prints garbage.<br><br>The consultant found a way to make a couple changes to WINE files and <br>force CUPS to pass
it through and it prints beautifully on a color printer.<br><br>Here are his changes:<br><br>> in ps.c<br>><br>> Changed<br>><br>> static const char psendpage[] =<br>> "pgsave restore\n"<br>> "showpage\n";<br>><br>> to<br>><br>> static const char psendpage[] =<br>> "showpage\n";<br>><br>> (deleting pgsave restore\n)<br>><br>><br>> at the begining of PSDRV_WriteNewPage<br>> added return 1; to essentially bypass the code.<br>><br>> INT PSDRV_WriteNewPage( PSDRV_PDEVICE *physDev )<br>> {<br>> char *buf;<br>> char name[100];<br>> signed int xtrans, ytrans, rotation;<br>><br>> return 1;<br>><br>> ============================================<br>><br>> in escape.c in the function PSDRV_ExtEscape<br>><br>> commented out all of the code for the POSTSCRIPT_PASSTHROUGH case<br>> and replaced with a call to PSDRV_WriteSpool<br>><br>> case
POSTSCRIPT_DATA:<br>> case PASSTHROUGH:<br>> case POSTSCRIPT_PASSTHROUGH:<br>> {<br>> /* Write directly to spool file, bypassing normal PS driver<br>> * processing that is done along with writing PostScript code<br>> * to the spool.<br>> * We have a WORD before the data counting the size, but<br>> * cbInput is just this +2.<br>> * However Photoshop 7 has a bug that sets cbInput to 2 less <br>> than the<br>> * length of the string, rather than 2 more. So we'll use the <br>> WORD at<br>> * in_data[0] instead.<br>> */<br>> // if (!physDev->job.in_passthrough) {<br>> // WriteSpool16(physDev->job.hJob, (LPSTR)psbegindocument, <br>> sizeof(psbegindocument)-1);<br>> // physDev->job.in_passthrough = TRUE;<br>> // }<br>> // return <br>>
WriteSpool16(physDev->job.hJob,((char*)in_data)+2,*(const WORD*)in_data);<br>><br>> return PSDRV_WriteSpool(physDev, ((char*)in_data) + 2, cbInput);<br>> }<br>><br>My question; Is there a way to force CUPS to pass through a Postscript <br>file from Corel Draw and allowing other programs running under WINE to <br>use the CUPS drivers as normal? (The consultants changes force the pass <br>through on all programs running under WINE).<br><br>Possible other solution; Is there a way to force Corel Draw to send a <br>format which can be converted or pass through CUPS to the printer?<br><br>Charlie Morrison<br><br><br>_______________________________________________<br>wine-users mailing list<br>wine-users@winehq.org<br>http://www.winehq.org/mailman/listinfo/wine-users<br></blockquote><br><p> 
<hr size=1><a href=" http://de.rd.yahoo.com/evt=48210/*http://de.answers.yahoo.com/;_ylc=X3oDMTEyYTEwYzVhBF9TAzIxMTQ3MTgxOTAEc2VjA21haWwEc2xrA3RhZ2xpbmU-" target=_new >Yahoo! Clever</a> - Der einfachste Weg, Fragen zu stellen und Wissenswertes mit Anderen zu teilen.