› _____________________________________› 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:› › =0› =0› =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: and› .› › 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:› › =77 E=77 Elite draft (12 cpi)› =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 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› instead, TextPRO ignores the› inverse characters in the count, as› it should. The 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<=>pp<=>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:› › 11138459› 214178459› › The top line is for printing the› first pass. The bottom line follows› an info 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:› › 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› in front of the top format line.› [CTRL_DELETE] the 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:› › TITLE OF ADDRESS LISTpage› <#>[RETURN]› › › The left margin of our document was› set at 1 and footers ignore the left› margin so I left a space after the› 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 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 0 and the right› margin in the second line to 79.› You might want to include 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 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 46. Print the› left column and reset the paper to› the top. Move the 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 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 › ›