This file contains information about: PRINT : Setup Tips for Various Printers ******** THREADS2.DBF, 2.0 BETA MESSAGES ******** Msg#: 26009 Date: 18-Jun-91 Fm: Cathy Corey [Sysop] 76177,3002 To: Barry Chertov 73020,1032 (X) Barry, In house we have an Apple LaserWriter II NT connected with an RS232 cable hooked to the LPT1 port. In DOS you need to issue the following two mode commands: MODE LPT1=COM2 MODE COM2:96,N,8,1 You also need to make sure that the first two dip switches are down and the rest up before turning on the printer. Cathy ******** THD201.DBF ******** Msg#: 112075 Date: 25-Jun-91 Fm: tom meeks 70304,2176 To: C. Blaise Mitsutama 72260,420 (X) I've gone through the file that I intend to upload concerning the KX-P4450 and picked out some lines that may be of interest to you while we wait for my permanent password. All of my programs are designed for laser printers with the Epson and IBM graphics printers as alternates. The fonts that I like to use most often are included in the Letter Gothic \ Presentation soft font set from HP. These fonts are Fixed and the easiest to control and place. To load the LG120R12.USP font in Foxbase+, I would first use the following lines to load it: SET DEVICE TO PRINT 0,0 SAY CHR(15) && For first font only 0,0 SAY CHR(27)+'*c1D' && Define font ID #1 RUN COPY /B LG120R12.USP LPT1: && DOS COPY 0,0 SAY CHR(27)+'*c2D' && Define font ID #2 RUN COPY /B LG120B12.USP && BOLD version of font The following PUBLIC variables are used to select the font (and the bold version) in a print statement: (Take out comments) prt_12cpi = CHR(27)+'(1X'+; && Font ID CHR(27)+'(0U'+; && Symbol Set CHR(27)+'(s0p12h12v0s0b6T'+; && NEED EACH CHR(27)+'19.6C' && Vert Motion prt_boldon = CHR(27)+'(s3B' && Bold On prt_boldoff = CHR(27)+'(s0B' && Bold Off To use these variables we would simply tie them together: 00,00 SAY prt_port+prt_12cpi 01,08 SAY 'This is 12 cpi - Normal Print'+prt_boldon 02,08 SAY 'This is 12 cpi - Bold Print'+prt_boldoff 03,08 SAY 'This Normal and '+prt_boldon+'BOLD' Notice that I put the change of format in the line prior to control the left placement better if I using a number larger than 0 for the x position. Special Note: Unless the font definition is very precise the printer takes its best guess at what you want. Hope this helps - Tom pr Msg#: 113270 Date: 30-Jun-91 Fm: tom meeks 70304,2176 To: Ken Wardwell 72510,360 (X) The Panasonic KX-P4450 is a Laserjet+ (or Laserjet 500+) clone using the Panasonic LP emulation mode. The later KX-P4450i more closely resembled the Laserjet II series. I've never had a problem (that wasn't my doing) with any program having a driver for one or the other of these HP printers. I'm inclined to think that the brand of printer isn't the primary problem since ALL LASER PRINTERS present problems with some programs. All laser printers are limited to 60 lines (at 6 lines per inch) - no matter what emulation mode is used. This is due to the loss of 1/2" at the top and bottom of the printable page caused by the drum, etc. I would expect Professional File to work correctly since it allows users to set top\bottom margins and page length. In this case, when the printer reaches the proper length, PF probably uses the FORM FEED command to skip the rest of the lines and set up the next page. The other programs may eject pages by counting lines. If they've been around a long time they may assume a 66 line page with no means of adjusting the length of the page. This causes major problems. Of course, there may be a similar problem at the top of the page if the program tries to write to line 1 and the user has set the default top margin on the laser printer to 0". The best set-up for the KX-P4450 is found on page 5-2 in the manual: .5" top margin and 10.5" bottom. This is *very* confusing to people using laser printers... But, especially confusing to those with Panasonic KX-P1091i, Epson or IBM dot-matrix emulation. One would expect that if the program prints fine on the real thing, it should also print OK on a laser printer through the applicable emulation. Not so. I hope this addressed the particular problem(s) your client is facing. If not, let me know the specifics and I'll do my best to help. In the meantime, I've changed the subject heading to Laser Printer Questions since the comments I've made are true to lasers in general and we might get a few more people involved. Msg#: 113653 Date: 01-Jul-91 Fm: tom meeks 70304,2176 To: Ken Wardwell 72510,360 (X) I think Blaise probably has the solution for your customer's laser printer problem. The random FORM FEEDS (and 1985 vintage) probably does mean that the software expects to see an Epson or IBM at the end of the cable. If the printer is in one emulation and sees ESC sequences meant for another, it can kick out a *LOT* of paper real fast. Fortunately, it's easy to try it out on the Panasonic. Simply take the printer off-line, press the button and the up-arrow until the printer type shows in the window, press the button... then place the printer back on-line. It will remain in that mode until it's turned off or changed. Once you've identified the proper emulation you can make that the default. Hint: The Panasonic is *fast* and has a fairly big buffer. If you spot that it's kicking out paper, pull out the tray. This will force it to stop and you can press -- to dump the buffer. Of course you'll have to reset the emulation mode, etc. ******** THD202.DBF ******** Msg#: 151470 Date: 20-Sep-91 Fm: Glenn Hart 76703,4226 To: Hal Harkness 73557,2161 Well, I don't know if I'm helping you, but you sure helped me! Turns out there's a typo in the Apple LaserWriter IINT manual, of all things, in the section on interfacing it to a DOS machine. When I used your comm setting, it's now working like a charm with my Toshiba portable. That DOES include driving it with the FoxPro 2.0 PostScript driver, which seems to be working flawlessly. Thanks! Glenn Msg#: 151471 Date: 20-Sep-91 Fm: Glenn Hart 76703,4226 To: Hal Harkness 73557,2161 Actually, BOTH those are wrong! With yours, you left out the baud rate, as shown in mine. In mine, which is exactly what's in the LaserWriter manual in the rear appendix on interfacing to DOS machines, it should indeed be 8 bits, not 7 as the manual erroneously states. The correct line is: MODE COM1:96,n,8,1,p That works for me, as Hunter says. Hope it does for you too. GLenn Msg#: 152047 Date: 22-Sep-91 Fm: Stephen H. Owades 72477,3350 To: Glenn Hart 76703,4226 (X) The easiest way to get a "suitable" PC to LaserWriter cable is to buy it from H-P (yes, H-P). Part number is 17255D. This cable supports the hardware handshaking lines that you want to be using--and you should set your LaserWriter for hardware handshaking, as otherwise your application is responsible for responding to the XON-XOFF signals coming back from the printer, and many applications don't know how to do this. Msg#: 164670 Date: 21-Oct-91 Fm: Glen Harness 73277,137 To: Menachem Bazian 76366,42 (X) A question I should have asked at your session at DevCon...as far as printer drivers are concerned, what do you suggest to us types who have to support multiple printers? Or who maybe don't even know what kind of printer the customer will have? What would I put in the .app so that the end user could choose his/her printer? BTW, enjoyed the session...any chance the source code is in a file somewhere that's downloadable? Glen Msg#: 165206 Date: 22-Oct-91 Fm: Menachem Bazian 76366,42 To: Glen Harness 73277,137 (X) Glen, I have not really put that down into code yet but I have been thinking about it. I see it as going like this... 1 - You could allow the user to define printer setups with GENPD.APP. You could then build a routine which allows the user to select the printer setup they want to use. 2 - You could allow them to choose the printer and then build your own setups and store them in the FOXUSER.DBF. Then, when they choose the printer you could automatically choose the setup you want to use. I like the second, assuming you have a writeable FOXUSER file because it allows you to create multiple setups for each printer. For example, if they choose HP LASERJET, you could automatically generate setups for Courier Landscape, Courier Portrait, Lineprinter Portrait, etc etc etc. This would allow you to create a generic setup name (e.g. HP LJ II CONDENSED LANDSCAPE) and you could automatically select the setup with _PDSETUP= . There are probably a few other ways but these are the ones which come to mind right now. Hope this helps! Menachem Msg#: 163457 Date: 17-Oct-91 Fm: Bob Mavity 76106,623 To: Glenn Hart 76703,4226 (X) GlenI would really appreciate your help on a problem which has stopped a print for me. After printing 4 records from a 500 record file, I get the error message of , "Printer not ready". I have set the config.fp file with the command time = 1000000 which I believe gives maximum retries. My printer is a HP LJ III ( 8 PPM). Can you help me to overcome the error which prevent me from getting a continuous print routine? Thanks, much ... Bob Mavity Msg#: 163695 Date: 18-Oct-91 Fm: Glenn Hart 76703,4226 To: Bob Mavity 76106,623 (X) Do you have a line like mode lpt1:,,p in your AUTOEXEC.BAT? Good chance merely adding this will solve your problem. BTW, I assume you have the LaserJet connected via a parallel port, rather than serial; if you're using a serial connection, there are many other possible issues. Glenn Msg#: 163878 Date: 18-Oct-91 Fm: Ross Fraser 71161,454 To: Lisa Slater 72077,2417 >> I missed the beginning of this. The beginning of this was a bug in FP2.0 (Sept 18 build and earlier) which caused output to an HP Laserjet IIP printer to return "Printer not ready" when the printer's internal buffer was full (instead of waiting for the printer to catch up). Usually this happens on page 5 of a long report. This bug occurrs even when no printer driver is specified and is specific to the IIP (it does not occur when printing to the Laserjet Series II). The only work around I know of is to specify the statement mode lpt1: ,,P in the CONFIG.SYS file. Your interesting method (and I did catch your seminar at DevCon!) won't work in this case. The program will endlessly repeat the same five pages. Even though the mode lpt1: ,,P is effective, I still consider this a bug. (It is specific to a printer, didn't occur under FP 1.02, and isn't mentioned in the documentation.) As far as I know, it still hasn't been fixed. -- Ross Fraser Msg#: 163674 Date: 18-Oct-91 Fm: Menachem Bazian 76366,42 To: Ross Fraser 71161,454 (X) OK. How about printing the report to disk first and then sending the file to the printer? You can do that with a simple Low Level File I/O routine. Another possibility might be a printer cache, if you have the memory. I have never hit this problem. I wonder why it's happening to you. What kind of printer was it? A II/P? Menachem Msg#: 163879 Date: 18-Oct-91 Fm: Ross Fraser 71161,454 To: Menachem Bazian 76366,42 Yes, Menachem, the bug seems to be specific to the HP IIP. See also my reply to Lisa, this thread. The low level file function approach is indeed effective. In fact, I've written such a routine and will upload it to the library on of these days. This approach is useful for a number of reasons, not least of which is that lists to the printer that have FOR clauses often time out on stand-alone configurations using a laser printer sharing device such as the Logical Connection. IE., the output is interspersed with other printer traffic (like word processing documents) because the Logical Connection thinks FP is finished when actually it is just searching for more records to satisfy the FOR clause. Rushmore helps here but only if the FOR clause is fully optimizable. -- Ross Fraser ******** THD203.DBF ******** Msg#: 171249 Date: 01-Nov-91 Fm: Frank Bosso P.E. 73377,2473 To: Pierre Gavillet 76645,3252 Pierre: on the kx-p 1124: Watch out for the italic mode in place of the graphics mode. This caused me some problems until I tumbled ;->> I currently use the LQ-2500 Graphic mode for my operations. This has given me less conflicts than IBM pro. The way to test which mode the printer defaults to is to turn on the printer with the FUNCTION pad depressed, then step the ROW pad till all 3 lights are on, then press SET. It will then print out the default setting. If you want to change the setting to LQ-2500 Graphic, step the ROW pad till just top light on, then step COLUMN till second lamp (foom left) only on, then press SET. When done, press the FUNCTION pad to return to normal operation. ----Frank---- Msg#: 181439 Date: 22-Nov-91 Fm: Cathy Selhorst [Fox] 76177,3002 To: Jules Whittom/Qc 71510,3412 Jules, Sorry, this has taken a while to get back to you concerning your problems with the ImageWriter II. We just got the cable in-house to connect the printer to the PC. The results of our tests are positive. We have successfully been able to connect the ImageWriter II and print to it via FoxPro with the printer drivers. Now the question is, what is different between your setup and ours? Here are the escape codes which are in the P_CODES database. P_name ImageWriter II P_setup {ESC}c P_flen {ESC}h{#B} P_ff {FF} P_6lpi {ESC}A P_8lpi {ESC}B P_10cpi {ESC}N P_12cpi {ESC}E P_compress{ESC}q P_boldon {ESC}! P_boldoff {ESC}" P_ulineon {ESC}X P_ulineoff{ESC}Y P_superon {ESC}x P_superoff{ESC}z P_subon {ESC}y P_suboff {ESC}z Where {ESC} is actually the escape character (CHR(27)) and {FF} is the form feed character (CHR(12)). Are these codes different than yours? If so, could you give them a try and see if this works? BTW, we had the ImageWriter II hooked up to the serial port and redirected the parallel port with the DOS MODE commands: MODE COM2:9600,N,8,1 MODE LPT1=COM2 I hope this helps! ******** THD204.DBF ******** Msg#: 184842 Date: 01-Dec-91 Fm: Greg Smith 76646,3340 To: Jacqueline D'Elia 70314,2502 (X) Jacqueline, I too have run into the problem of Tandy printers. My solution was to convince the client to change them from Tandy mode (via the dip switches) to IBM mode. From then on, no more problem with coding. If this won't work you can code the driver yourself. Mac Rubels new book (Foxpro 2.0 Power Tools) gives, what I think, is a good alternative, which is to create, maintain, and use your own. -greg Msg#: 185090 Date: 02-Dec-91 Fm: Irvin Feldman, CMA 76606,3312 To: Jacqueline D'Elia 70314,2502 Many Tandy printers are really some elses with a Tandy label. For example the DMP2100 is Toshiba 1340. The DMP2110 is also a similar Toshiba model. And the DMP212o is a Fujitsu. Simply find out whose printer is under the Tandy name and use the appropriate driver for it. Irv ******** THD205.DBF ******** Msg#: 203136 Date: 13-Jan-92 Fm: Benjamin Diss 71270,341 To: ALL This is the follow-up to my problem related to printing Courier 10pt with line draw characters on an HP IIIsi. The problem was that after applying the latest patches it appeared that the Courier 10pt verticle line draw characters no longer touched at the tops and bottoms. After some consideration and testing I discovered that the problem actually became known when we upgraded from the HP III to the HP IIIsi and is in no way related to the software provided by Fox. After bringing this problem to the HP forum, HP stated that the PC-8 character set in the IIIsi is different from the III. Technically speaking, the IIIsi has accurate character heights and the III's verticle line draw characters are taller than they should be. They referred to this as a "correction" in the IIIsi firmware. The only available solution is to use a soft font (which is difficult with FP and a network printer). Of course, the real answer is not to use 6 lpi, but to use 7.2 or something like that. FWIW... ******** THD206.DBF ******** Msg#: 221862 Date: 21-Feb-92 Fm: Rein Lemberg 70164,2666 To: Lisa Slater 72077,2417 I, too, have missed the beginning of this thread. I experienced printer status and timeout problems (the SYS(13) bit). After much experimenting, it came down to hardware. The I/O card was the first to be checked...using MSD (Microsoft diagnostics) to check the parallel printer port status. After replacing the card with one that worked properly, I ran into problems again when I installed and auto-sensing printer switch. After messing around a bit, it seems that FOX is sensitive to the I/O ERROR status line. When the printer is off-line, the I/O ERROR and ACK signals should be "on" ("Yes" in MSD) for SYS(13) to work properly. When the printer is on-line, these signals should be "off" ("No" in MSD) and the ON_LINE signal should be "on". These became my criteria for determining if an I/O card or printer switch would be compatible with SYS(13). Yet, I have been operating by trial-and-error because I do not know how FOX has implemented SYS(13) etc vis-a-vis the parallel port status lines. For example, I got one printer switch to work by using !SYS(13) to return the correct printer status. It seems the I/O ERROR was "off" instead of "on" with the printer off-line...that's why it worked. Puzzles, puzzles and more puzzles...hope it helps other puzzlers. Rein