¢ _____________________________________¢ TEXTPRO PRINTING TIPS #5¢ By Frank Walters¢ _____________________________________¢ NOTE: In order to permit this text¢ file to be formatted and printed with¢ TextPRO, inverse characters will be¢ indicated by brackets: <=> is inverse¢ = which is entered from the keyboard¢ by holding SELECT when typing the =¢ key. CONTROL characters must be¢ entered into the editor by pressing¢ [Esc] first.¢ _____________________________________¢ ¢ I never considered using TextPRO as¢ my word processor until it finally¢ had a version that saved the printer¢ equates in the configuration file.¢ Then I could assign inverse upper¢ case letters to send printer codes¢ and not have to go back to my printer¢ manual every time I wanted to print¢ using TextPRO.¢ ¢ In this article I will explain how to¢ set up a print driver for your¢ printer. I also have some ideas about¢ additional help files and their¢ associated macros so you can review¢ which letters you have defined for¢ each printer function. I have a¢ simple idea to print an entire¢ address list on labels. Finally I¢ discuss printing in two columns with¢ TextPRO and a shortcut you can use to¢ make the last page come out in equal¢ length columns.¢ ¢ PRINT DRIVER¢ ¢ First you have to get out your¢ printer owner's manual to look up the¢ ASCII codes for various functions.¢ Then decide which letter to assign¢ for each function you wish to use and¢ finally install these codes in your¢ TEXTPRO.CNF file so they are¢ available whenever you load TextPRO.¢ ¢ The easiest way to create a print¢ driver is by typing all 26 inverse¢ upper case letters in the editor like¢ this:¢ ¢ <A>=0¢ <B>=0¢ <C>=0¢ ¢ Pick which letter to use for each¢ printer code. Try to use letters that¢ are similar to the function selected.¢ I use E for Elite; P for Pica; C for¢ Condensed; D for double strike; I for¢ italics; Q for NLQ font; R for¢ reverse linefeeds; S for Super and¢ Subscript; U for continuous¢ underline; and W for double width. I¢ assign the remaining codes to the¢ letters left over. If you go¢ overboard and use up all 26 upper¢ case letters, there are two lower¢ case letters which have no current¢ function and can be defined exactly¢ like inverse upper case: <a> and¢ <v>.¢ ¢ Now look up the ASCII codes that¢ require escape (27) followed by¢ another number. Replace the 0 with¢ the ASCII number (following 27) in¢ your printer manual. On the same¢ line, type a description of the code¢ so you can make up a help file using¢ that information:¢ ¢ <E>=77 E=77 Elite draft (12 cpi)¢ <F>=111 F=111 Elite NLQ (12 cpi)¢ ¢ For any function requiring three¢ characters. Just use the value¢ immediately after the 27.¢ ¢ Some printer codes require three¢ characters: 27,45,49 to turn¢ underline on and 27,45,48 to turn it¢ off. Since I use 48 and 49 for¢ several other 3rd characters, I¢ redefined inverse <0>=48<1>=49<2>=50¢ in my print driver. By using inverse¢ numbers (which do not cause ESCape to¢ be sent), TextPRO will not count the¢ inverse numbers for computing where¢ to break the line when it prints.¢ i.e. If <U>1 is used to turn¢ underline on, TextPRO would count the¢ "1" as one of the 80 characters even¢ though it is part of the printer¢ escape sequence and would not¢ actually print on the paper. Using¢ <U1> instead, TextPRO ignores the¢ inverse characters in the count, as¢ it should. The <U> sends 27,45, while¢ the <1> sends 49, to complete the¢ 3-character printer code for¢ continuous underline on.¢ ¢ When you finish, you may still have¢ some unassigned letters that are¢ equal to zero. You can always¢ redefine them later. Now you are¢ ready to force TextPRO to read the¢ equates into the configuration¢ section of memory. There are two ways¢ to do this. You can move the cursor¢ to the bottom of the text and use¢ [CTRL_W] (in Text Mode) to find the¢ page and line at the cursor position.¢ This forces the equates into the¢ configuration section of memory as¢ long as the cursor is below all the¢ equates. Or you can actually print¢ the file to get a hard copy of your¢ equates list. This will install the¢ equates in memory at the same time.¢ ¢ Before saving the configuration, make¢ sure TextPRO is configured to send¢ the ESCape (27) character whenever it¢ sends the value of an inverse upper¢ case letter. Type [CTRL_;] and reply¢ [N] to both the "ASCII CR" and¢ "Linefeed" prompts. Reply [Y] to the¢ "Add ESCape" prompt. Type¢ [SELECT_CTRL_S] to save the¢ configuration to TEXTPRO.ENV (v.5.20)¢ or TEXTPRO.CNF (v.5.0 and earlier) on¢ your default drive so it will load¢ automatically whenever you load¢ TextPRO.¢ ¢ NOTE: Version 5.20 requires¢ ADDOPTS.ADN loaded into the macro¢ buffer [CTRL_V] before the [CTRL_;]¢ command will call up the "Add ESCape"¢ prompt.¢ ¢ HELP FILES¢ ¢ Now you are ready to make a print¢ driver help file. I use the same¢ format as other help files and here¢ is what mine looks like. Printer¢ letters, numbers and some other¢ characters are inverse, along with¢ heading and bottom line:¢ ¢ ¢ |TextPRO 5.20X |Print Driver|¢ ¢ Key__Panasonic 1092i__________set p/x¢ A__6 lines per inch__[default]___p66¢ B__8 lines per inch______________p88¢ C__Compressed draft____4_OFF____x137¢ D__Double strike_ON____X_OFF¢ E__Elite draft___________________x96¢ F__Elite NLQ_____________________x96¢ I__Italics_ON__________J_OFF¢ N__Pica NLQ______________________x80¢ O__Proportional_O1_ON__O0_OFF____x85¢ P__Pica draft_______[default]____x80¢ Q__NLQ_Q1_Courier__Q2_BoldPS__Q0_OFF¢ R__Reverse Linefeed__Rn/216" n=36/ln¢ S__S0_Superscript__S1_Subscript¢ T__Sub/Superscript OFF¢ U__Underline____U1_ON__U0_OFF¢ W__Double Width_W1_ON_W0_OFF_____x40¢ Y__Paper-out_DISABLE____Z_ENABLE¢ ____________________________ _______¢ #13 HELP> Menu START> Load Macro¢ ¢ ¢ Notice the right side includes lower¢ case letters (p,x) which should be¢ inverse. They indicate the values you¢ also need if you use the printer¢ commands on that line. This is a¢ reminder that page width is changed¢ and you may also need to change your¢ margin numbers for different sized¢ fonts.¢ ¢ When you finish your help file, save¢ it to disk with your other TPHELP¢ files. Notice the bottom line of mine¢ is #13, so I use the name: TPHELP.13¢ ¢ Now you have to load TEXTPRO.MAX and¢ add the macro to display the new help¢ file. I decided to use [OPTION_P] for¢ my macro key for the print driver¢ help file: ¢ ¢ P<=><CTRL_G>pp<=><CTRL_Q>TPHELP.13,E:¢ RETURN]¢ ¢ Notice the "Goto" macro key, linking¢ the upper case "P" to lower case "p"¢ since you want it to work with either¢ case.¢ ¢ Save TEXTPRO.MAX to your default¢ drive and then load it into the macro¢ buffer with [CTRL_V]. Test it out by¢ pressing [OPTION_P] to see the help¢ file displayed on the screen.¢ ¢ If you redefined some inverse numbers¢ in your print driver, edit TPHELP.06¢ to reflect the new values for the¢ inverse numbers.¢ ¢ DISK MACRO HELP FILE¢ ¢ While on the subject of help files, I¢ made another help file listing all my¢ interactive disk macros with short¢ descriptions:¢ ¢ ¢ |TextPRO 5.20X |Macro Library|¢ ¢ _Macro_____Function_________________¢ CARDCR_CL_PS Card_Cond.(17)__Rgt/Left¢ CARDER_EL_PS Card_Elite(12)__Rgt/Left¢ CR________Remove Carriage Returns¢ DUAT______DTC DUAT flight plan¢ ENV__ENV2_Envelope__PS size envelope¢ LINK______Link-load to bank 2 & M¢ _____________________________________¢ #14 HELP> Menu START> Load Macro¢ ¢ ¢ I only included an abbreviated¢ listing to show you how to do it. The¢ text in the top and bottom lines are¢ inverse. Do not put a [RETURN] at the¢ end of the bottom line of any TPHELP¢ file. This will retain the cursor on¢ that line when it is displayed on¢ screen, giving you one extra line¢ before it scrolls the title. Save¢ this as TPHELP.14. Add another macro¢ key to your TEXTPRO.MAX file to¢ display this help file. Since macros¢ use [CTRL_V] to load, I used¢ [OPTION_V] to read it, but [OPTION_M]¢ (for Macros) would work just as¢ easily. Use the example above and¢ substitute the new letter and change¢ the file extension to .14 instead of¢ .13.¢ ¢ PRINTING ADDRESS LABELS¢ ¢ Here is a tip I worked out for my¢ sister who had to mail about 250¢ newsletters. She needed to print¢ labels from her address list. This is¢ an easy way to do it.¢ ¢ The address list must be a simple¢ text file which you can create with¢ any word processor. Each address must¢ have enough carriage returns to total¢ six lines. A 3-line address should be¢ followed by three blank lines with¢ [RETURN] characters only. A 4-line¢ address would be followed by two¢ extra [RETURN] characters. Save your¢ address list to disk.¢ ¢ If your list is over 200 addresses,¢ you might consider splitting the list¢ alphabetically. i.e. ADDRESS.AM and¢ ADDRESS.NZ. This will keep you from¢ filling the buffer. You can print the¢ two files separately, using wild¢ cards in the DOS commmand.¢ ¢ A standard 3 1/2" x 15/16" label will¢ permit about 30 characters per line¢ at 10 cpi pitch, or 36 letters at 12¢ cpi. Set the labels in your printer¢ with the print head on the second¢ line of the first label. A label will¢ hold 5 lines at the default 6¢ lines/inch spacing. Use DOS to copy¢ the address list from disk to¢ printer, typing the source and¢ destination like this:¢ ¢ D:ADDRESS.??,P:[RETURN]¢ ¢ That's all there is to it. Pretty¢ simple, huh? You can send any font to¢ the printer before copying the¢ address file but do not turn off the¢ printer between installing the font¢ and copying the file.¢ ¢ PRINTING TWO COLUMNS¢ ¢ I made a hard copy of my sister's¢ address list for her and printed it¢ in two-columns per page to save¢ paper. I'll explain how to format¢ TextPRO for two-column printing.¢ ¢ For an address list like above, you¢ have to make a separate file with¢ only five lines per address. Load the¢ 6-line list. Use [CTRL_G] and type¢ [ESC][CTRL_+] three times. This¢ enters three [RETURN] characters at¢ the "Find:" prompt. Press [RETURN]¢ and enter two [ESC][CTRL_+]¢ characters at the "Change:" prompt.¢ After the global replace, your¢ address list will have one [RETURN]¢ character removed from each address,¢ leaving 5-lines each. This will allow¢ 11 addresses per page in each column.¢ Save it under a diferent filename¢ than your 6-line list.¢ ¢ At the top of the list, insert the¢ following two printer format lines:¢ ¢ <?>1<!>1<l>1<r>38<t>4<b>59¢ <i><?>2<!>1<l>41<r>78<t>4<b>59¢ ¢ The top line is for printing the¢ first pass. The bottom line follows¢ an info <i> character and is not used¢ until the second pass. With the top¢ and bottom margins set at 4 and 59,¢ it will allow exactly 55 printed¢ lines, or 11 5-line addresses. No¢ addresses will be split between¢ columns or pages.¢ ¢ <?>1 tells TextPRO to start printing¢ at page 1. The second line starts at¢ page 2.¢ ¢ <!>1 tells TextPRO to skip 1 page¢ when printing. Thus it will print all¢ the odd numbered pages when the first¢ format line is active (1, 3, 5,¢ etc.).¢ ¢ If there is more than one file in¢ your list, add the "goto" command for¢ printing linked files at the end of¢ each file except the last. (Due to a¢ bug in 4.56 and 5.0, the maximum¢ length of the dev:filename.ext¢ recognized by the "goto" command is¢ 14 instead of 15.) My example only¢ uses 12:¢ ¢ <g>D:ADDRESS.NZ[RETURN]¢ ¢ Insert the paper with the top line¢ under the print head and print the¢ address list with [CTRL_P]. When¢ finished, roll the paper back to the¢ original position. Insert an inverse¢ <i> in front of the top format line.¢ [CTRL_DELETE] the <i> from the second¢ format line. Print the second pass¢ with [CTRL_P]. It will start printing¢ the right column with page 2 and all¢ the even-numbered pages.¢ ¢ I wanted to print a footer with page¢ numbers and a title, so I counted the¢ total printed pages and made a new¢ file to print just the footer line.¢ Let us assume it is six pages. Set¢ the paper back to the first page,¢ clear the editor and enter a footer¢ line like this:¢ ¢ <f> TITLE OF ADDRESS LIST<e>page¢ <#>[RETURN]¢ <nnnnn>¢ ¢ The left margin of our document was¢ set at 1 and footers ignore the left¢ margin so I left a space after the¢ <f> so the title would line up with¢ the left column. Since I want to¢ print footers on six pages, I needed¢ to add five inverse <n> characters,¢ to force next-page five times, for a¢ total of six pages.¢ ¢ Print the "footer" file and it will¢ add the footer text and page numbers¢ on your two-column document. That¢ wasn't too difficult, was it?¢ ¢ You can use the same principle and¢ similar margins to print two-column¢ text files. If you want 38 columns¢ instead of 37, change the left margin¢ in the top line to <l>0 and the right¢ margin in the second line to <r>79.¢ You might want to include <q>1 in¢ your format lines to justify the¢ right margins like in magazines¢ although it is not necessary. When¢ printing text files this way, the¢ last printed page will not come out¢ even. There is an easy way to correct¢ this.¢ ¢ Print the two-column text file as¢ explained above. Tear off the last¢ printed page with uneven columns.¢ Delete the two printer format lines¢ from the top of your file with¢ [CTRL_D] and [P] twice.¢ ¢ Use [SELECT_CTRL_F] to find the first¢ few words at the top of the last¢ page. Put cursor on first word and¢ enter [SELECT_CTRL_U] to "Delete to¢ TOP" of text. Reply [Y]es and you¢ will be left with only the text on¢ the last page.¢ ¢ Type [CTRL_R] to replace the format¢ lines from the paste buffer. Be sure¢ the <i> is in front of the second¢ line, not the first. Count the total¢ lines on your printed last page and¢ divide by two to find how many lines¢ you want on each side of the page.¢ Assume you have 84 lines and want 42¢ in each column. Add the top margin¢ (4) to find line number 46. Change¢ bottom margin to <b>46. Print the¢ left column and reset the paper to¢ the top. Move the <i> from the second¢ format line to the top and print the¢ right hand column. Load your footer¢ file and replace the <#> with the¢ actual page number and remove the¢ inverse <n>s at the end. Reset the¢ last page and print the footer.¢ Voila! You now have an evenly spaced¢ last page to add to the other¢ two-column pages of your document.¢ _____________________________________¢ Frank Walters ¢ T.A.C.O. Bell BBS¢ 08/31/94 ¢ ¢