|
From: Joe P. <joe...@sn...> - 2000-11-13 18:43:43
|
On Mon, 13 Nov 2000, David Paschal wrote: > > Whitespace is now stripped from the trailing end of all messages coming > > from the printer. I found that some of the messages contain control characters > > in addition to spaces. The negative of isgraph() is used to filter them out, > > which will work for all versions of Qt. > Which messages contain control characters? On the 600, messages that prompt for user input by pushing buttons on the printer end in ascii 32, 8, 8 (space, backspace, backspace). I added a test to the stripRightSpace() function that will show the ascii codes for the complete message. When the printer is cold started, the lcd on the printer's lcd scrolls "Push START to set time/date, or STOP to skip." That message doesn't have any trailing whitespace, although it continues to scroll two spaces after the end of the message is fully displayed on the printer's lcd. After pushing "Start" on the printer's control panel, a series of shorter prompt messages appear such as "Enter month:". That and the following time/date prompts end in ascii 32, 8, 8. I haven't checked any of the other types of messages, so I don't have much to base this guess on, but the 600's lcd acts like it might be adding two spaces to the end of every message before or while displaying, then requires backspaces in the message to place a cursor. Another reason for backspaces may be to compensate at times when the message is 15 or 16 printable characters long, which would not be long enough to need scrolling, but would be scrolled anyway because of the automatically added spaces. > > Are there any OfficeJets that output unicode to their LCD? > PML has a provision for strings to be gotten/set in various symbol sets, > including 16-bit Unicode. I don't know if there are any peripherals which > actually implement Unicode, however. > Assuming that OfficeJets are sold in countries that use complex written scripts, the "oriental" countries and possibly Arabic regions, for instance, what type of script would those users see on their printer's lcd? In some of those areas there are simplified alternative scripts that are generally taught, and might fit in an ascii table, but that wouldn't necessarily be the case for all areas. > > > Thanks very much. Starting a second copy of xojpanel still causes the > > first copy to freeze, though. xojpanel doesn't call PMLClose() until just > > before exiting, which may be part of the problem. > That's most likely the fault of the lower-level code. In order to support > multiple instances of xojpanel or other PML clients, there needs to be a > mechanism for multiplexing PML requests from different clients and routing > the replies correctly. Currently, starting up a second PML client attempts > to open a second PML connection to the peripheral. ieee12844.c either doesn't > properly handle the peripheral's refusal of the second open, and/or it doesn't > properly handle multiple simultaneous opens period. The latter is likely > because I've gotten into trouble before while playing around with the scan > and echo channels at the same time. > > > I'm not familiar enough with > > system programming to mess around very much with that. The original > > xojpanel code for retrieving the LCD messages is still there. I know what it > > does, but not how it operates. You might want to take a look at the old code > > to see if I've used it correctly. > OK, I'll take a look at it. I'll probably hack that area some later anyway > once I finish the new PML interface. Here's another problem that may be related: When xojpanel is running on my system and I'm printing with ieee12844_print, printing will work until a second print job is attempted. xojpanel then has to be closed to allow the second print job to continue. When xojpanel is open and a different driver ( no ieee12844_print involvement) is used, xojpanel blocks *all* printing to the officejet until it's closed. The original xojpanel causes the same problems. Printing to a second printer/driver (laserjet clone, non ieee12844_print ) on a different parallel port is not affected, even while printing is currently blocked to the officejet by xojpanel. -------- Joe |