|
Post by Jorge Zaldívar on Jul 11, 2018 1:59:15 GMT 1
Hi. I'm using the ESC 3 n (n/216 inch spacing) Epson printer sequence to print at 1/8" and I'm getting approximately 7 lines per inch instead of 8. I'm attaching an asc file to exemplify. Starting at byte 13, I send Esc @ (Reset = \027\064), SI (condensed = \015), and \027\051\027 (which should set line spacing at 27/216", it doesn't). Regards, Attachments:LPT2.asc (8.1 KB)
|
|
|
Post by Jos on Jul 11, 2018 7:13:13 GMT 1
ESC 3 is n defined as n/180 inch spacing for all Epson printers, only for 9-pin printers it is n/216. So you would have to use \027\051\023. Alternatively, omit all print control codes, and define in config.txt something like:
Lpt2 = horz:15,10,130 vert:10,10,75
That would give you more precise control over characters and lines per inch (per line and page). Though how exact the right and bottom margins (in MM) will come out, depends on the DPI set/supported by the print device. Omitting ESC codes seems at least easier than fiddling around with ESC codes and margins separately. Though you can of course combine both methods.
Jos
|
|
|
Post by Jorge Zaldívar on Jul 11, 2018 19:18:03 GMT 1
I had not considered the difference between ESC/P and 9-pin ESC/P. In fact, when reading that vDos interpreted output for Epson printers I defaulted to think "Epson FX" (a 9-pin printer) as a bare minimum printer.
Anyways, using config.txt settings is not an option, because I change the printer settings as needed. For this particular worksheet, I use 1/8" (27/216"), 1/4" (54/216") and 1/6" (36/216"), depending on which part of the worksheet I'm printing.
I'll try and use the Esc + n sequence instead (set n/360" line spacing). According to the Epson manual it's not supported on 9-pin printers, but the default DOSPrn sequence set for 9-pin printers includes it. So it should work both in real XP machines (printing through DOSPrn) and vDos ones.
I'll continue testing. I mean, there's no rush, I can't really put vDos to real use until the rounding discrepancy and the file locking issues are solved.
For the rounding, the issue is not precision but lack of consistency. I can't have the payroll numbers changing depending on which machine is used to open the file.
As for the Lotus 123 file locking, here the problem is a little more critical. Being able to simultaneously open a (supposedly) single-user file is an invitation to data loss (says Murphy).
Regards,
|
|
|
Post by Jos on Jul 11, 2018 20:36:00 GMT 1
Before vDos had its own DOS-to-Windows print processor, it used the external DOSPrinter program. That is also ESC/P orientated, so…
Even if you can’t use VERT= solely to set line spacing, HORZ= should give you more flexibility for character spacing (w/o setting it by ESC codes). Mind, inches in the vDos print processor are ‘virtual’, adjusted to the VERT and HORZ margins set.
As said, the @round(cell, 2) generates no less than 34 FPU instructions, instead of 8 or so. Most of them will be due to 123’s generic handling of rounding and probably anticipating early FPU bugs. Those extra instructions (like a multiplication in between by 100 million or so) will cause inconsistencies.
In the five years of vDos usage, file locking was never reported an issue. While vDos at my side produces the same results with 123 file handling as Windows XP (in VirtualBox). I expected you figured out by now the (simple, if I’m correct) difference between your and my situation…
Jos
|
|
|
Post by Jorge Zaldívar on Jul 12, 2018 3:16:18 GMT 1
I ended up using Esc 0 for 1/8" line spacing, Esc 2 for 1/6" and Esc + n (n=90) for 1/4". It worked consistently between the real machine and vDos. I'll comment on the rounding and file locking issues on the original thread... but I haven't figured out any difference other than you using VirtualBox and I a real WinXP machine and/or a VMWare VM. Regards,
|
|