From: Robert K. <rl...@al...> - 2021-08-08 23:03:42
|
On 8/8/21 5:54 PM, Solomon Peachy wrote: > On Sun, Aug 08, 2021 at 01:22:45PM -0400, Solomon Peachy wrote: >> <resolution translate="text" name="720x360sw" text="720 x 360"> >> <physicalResolution>720 360</physicalResolution> >> <parameter type="integer" name="escp2_base_res">360</parameter> >> </resolution> > > FWIW, there's a special-case in adjusted_vertical_resolution() that seems to > things on this printer for 720x360. I commented it out for now. Yeah, we'll get that fixed. >> 1b ( g 04 00 30 2d 00 00 # sent after the "print method" and "dot size" commands > > This turns out to be the cutter control, in units of 2880 rows/inch. > Without it the printer cuts and stops after something like a single > inch. That's what I was thinking too; our emails on the subject crossed. > The good news is that with some hacked-in changes, I'm now able to > print, and the color channels appear to be correct! The bad news is > that the ink drop/density levels are _quite_ wonky, but that was > expected. Right. That's one of the two final problems to solve (the other being the light/dark ratios, but there's a good chance that those will match other UltraChrome inks). > More seriously, there is a major page margin definition problem in play, > and I'm not sure how to tackle it. > > I think I need to add about an inch of vertical margin to start of the > printed page, eg a 6x8" print becomes a 6x9", but with the first inch > blank. This seems to jive with what I see in the windows dump, with the > first vertical position command at position 1374: > > 1b ( v 04 00 5e 05 00 00 # == 1374 > > But from gutenprint it's this: > > 1b ( v 04 00 00 00 00 00 > > Interestingly, this extra inch-ish gets automatically cut off by the > printer, and that explicit (g cutter control is relative to this first > cut point, so as far as the user is concerned, what comes out is a > perfect 6x8" print. More like 0.954166, presumably expressed in base units. > Is there a simple way to force-add this margin from within the escp2 > driver in a way that won't get reported back to the user as a page > margin? initialVerticalOffset and blackInitialVerticalOffset may be what you want (you'll need to set both in the model file). They're expressed in units of baseSeparation, which is 360; 1374 would be 343.5, so you'd have to use either 343 or 344 for this purpose. If that's not good enough -- if you really need it more precise -- we'll have to come up with something else. This was designed for a different purpose, printers with offset heads, where the offset is negative; I've never tried it with a positive offset. |