LARGE.FNT A large character font for the Tandy portable computers. This is a companion file to SMALL.FNT, a technique for printing small characters on the computer screen. Review that file for additonal information on the technique. Copyright 1990 Tony B. Anderson, All Rights Reserved. Information contained in this article is licensed for use by members of CompuServe's Model 100 Forum; the information contained in this file may not be sold or distributed in any form without the express written permission of the author. This article is not public domain, and may not be distibuted on disk collections of public domain or shareware programs. As a compliment to SMALL.FNT, programs and data statements that will print small-sized characters on the Tandy portable screens, this file goes to the other extreme, and provides a double-sized character font, for headings, warnings, or large displays of special screens. Here, each character is mapped into a 12 x 13 cell, with the actual character occupying 10 x 13 pixels, allowing a two-pixel space between characters. With a single blank column at the beginning of a line, and another at the end of a line (you provide the spacing), you can print 20 of these letters per line. Allowing 16 pixels per line, you can print 4 lines of these large-size letters on a Model 100/102 screen. It's fascinating to watch BASIC paint these letters on the screen. And if combined with normal text letters, or even characters from the small font, some striking text displays can be created. Something not everyone has seen before. The same technique is used as was used in the SMALL.FNT approach, storing the data for pixel mapping in data statements, then reading them and printing with the PSET statement. Some of the letters require more than one data statement, since BASIC statements are limited to 256 characters. In such cases, the statements are identified as part 1 and part 2 of a character, as is "A1" and "A2". Both halves are required to create the character, if you disect the program or extract individual data statements. You can gather various use techniques from the SMALL.FNT file, the below data statements and program will show the complete large-size font. This is not a complete font, this version includes only the upper-case letters and a hyphen. As it is, it is suitable for screen notices, such as: ---------------------------------- | | | - W A R N I N G - | | | | This machine will blow up if | | you fool with it while I'm gone. | õ | ---------------------------------- (Naturally, you'd use the large-size characters for the "- W A R N I N G -". Additional characters can be designed easily, following the same general technique. With all the extra pixel mapping, the data statement file portion is already around 8K, so I didn't complete mapping for numbers and punctuation marks, but they're easy enough to do. Load and run the below two program segments and see how you like the large font. I can create the numbers easily, but don't have much interest in doing the lower-case letters. Perhaps someone else will do those and contribute them to the library. 0 ' LARGE.FNT Prints double-sized letters on screen 1 ' Copyright 1990 Tony B. Anderson All Right Reserved 2 ' Licensed to members of CompuServe's Model 100 Forum for personal use only; 3 ' Not for sale or unauthorized distribution. 4 ' 10 DATA 0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12, 1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,2,2,3, 3,1,3,2, 4,0,4,1, 5,0,5,1, 6,1,6,2, 7,2,7,3, 8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8,12: ' A1 11 DATA 9,4,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,12, 2,7,2,8,3,7,3,8,4,7,4,8,5,7,5,8,6,7,6,8,7,7,7,8,255,255: ' A2 12 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,0,2,1,2,5,2,6,2,11,2,12, 3,0,3,1,3,5,3,6,3,11,3,12, 4,0,4,1,4,5,4,6,4,11,4,12, 5,0,5,1,5,5,5,6,5,11,5,12: ' B1 13 DATA 6,0,6,1,6,5,6,6,6,11,6,12, 7,0,7,1,7,5,7,6,7,11,7,12, 8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11, 9,2,9,3,9,4,9,7,9,8,9,9,9,10,255,255: ' B2 14 DATA 0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10, 1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11, 2,0,2,1,2,11,2,12, 3,0,3,1,3,11,3,12, 4,0,4,1,4,11,4,12, 5,0,5,1,5,11,5,12, 6,0,6,1,6,11,6,12, 7,0,7,1,7,11,7,12: ' C1 15 DATA 2,2,2,10,7,2,7,10, 8,1,8,2,8,3,8,9,8,10,8,11, 9,2,9,3,9,9,9,10,255,255: ' C2 16 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,0,2,1,2,11,2,12, 3,0,3,1,3,11,3,12, 4,0,4,1,4,11,4,12, 5,0,5,1,5,11,5,12, 6,0,6,1,6,11,6,12: ' D1 17 DATA 7,0,7,1,7,2,7,10,7,11,7,12, 8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11, 9,2,9,3,9,4,9,5,9,6,9,7,9,8,9,9,9,10,255,255: ' D2 18 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,0,2,1,2,5,2,6,2,11,2,12, 3,0,3,1,3,5,3,6,3,11,3,12, 4,0,4,1,4,5,4,6,4,11,4,12, 5,0,5,1,5,5,5,6,5,11,5,12: ' E1 19 DATA 6,0,6,1,6,5,6,6,6,11,6,12, 7,0,7,1,7,5,7,6,7,11,7,12, 8,0,8,1,8,11,8,12, 9,0,9,1,9,11,9,12,255,255: ' E2 20 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,0,2,1,2,5,2,6, 3,0,3,1,3,5,3,6, 4,0,4,1,4,5,4,6, 5,0,5,1,5,5,5,6, 6,0,6,1,6,5,6,6: ' F1 21 DATA 7,0,7,1,7,5,7,6, 8,0,8,1, 9,0,9,1,255,255: ' F2 22 DATA 0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10, 1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11, 2,0,2,1,2,11,2,12, 3,0,3,1,3,11,3,12, 4,0,4,1,4,11,4,12, 5,0,5,1,5,11,5,12, 6,0,6,1,6,11,6,12, 7,0,7,1,7,11,7,12: ' G1 23 DATA 2,2,2,10,7,2,7,10,6,6,6,7,7,6,7,7, 8,1,8,2,8,3,8,6,8,7,8,8,8,9,8,10,8,11, 9,2,9,3,9,6,9,7,9,8,9,9,9,10,9,11,9,12,255,255: ' G2 24 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,5,2,6, 3,5,3,6, 4,5,4,6, 5,5,5,6, 6,5,6,6, 7,5,7,6: ' H1 25 DATA 8,0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8,12, 9,0,9,1,9,2,9,3,9,4,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,12,255,255: ' H2 26 DATA 1,0,1,1,1,11,1,12, 2,0,2,1,2,11,2,12, 3,0,3,1,3,11,3,12, 4,0,4,1,4,2,4,3,4,4,4,5,4,6,4,7,4,8,4,9,4,10,4,11,4,12, 5,0,5,1,5,2,5,3,5,4,5,5,5,6,5,7,5,8,5,9,5,10,5,11,5,12, 6,0,6,1,6,11,6,12, 7,0,7,1,7,11,7,12, 8,0,8,1,8,11,8,12,255,255: ' I 27 DATA 0,8,0,9,0,10, 1,8,1,9,1,10,1,11, 2,11,2,12, 3,11,3,12, 4,11,4,12, 5,11,5,12, 6,0,6,1,6,11,6,12, 7,0,7,1,7,2,7,3,7,4,7,5,7,6,7,7,7,8,7,9,7,10,7,11, 8,0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10, 9,0,9,1,255,255: ' J 28 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,5,2,6, 3,5,3,6, 4,4,4,5,4,6,4,7, 5,3,5,4,5,7,5,8, 6,2,6,3,6,8,6,9, 7,1,7,2,7,9,7,10, 8,0,8,1,8,10,8,11, 9,0,9,11,9,12, 255,255: ' K 29 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,11,2,12, 3,11,3,12, 4,11,4,12, 5,11,5,12, 6,11,6,12, 7,11,7,12, 8,11,8,12, 9,11,9,12,255,255: ' L 30 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,0,2,1, 3,1,3,2, 4,2,4,3, 5,2,5,3, 6,1,6,2, 7,0,7,1: ' M1 31 DATA 8,0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8,12, 9,0,9,1,9,2,9,3,9,4,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,12,255,255: ' M2 32 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,0,2,1, 3,1,3,2, 4,2,4,3, 5,3,5,4, 6,4,6,5, 7,5,7,6: ' N1 33 DATA 8,0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8,12, 9,0,9,1,9,2,9,3,9,4,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,12,255,255: ' N2 34 DATA 0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10, 1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11, 2,0,2,1,2,11,2,12, 3,0,3,1,3,11,3,12, 4,0,4,1,4,11,4,12, 5,0,5,1,5,11,5,12, 6,0,6,1,6,11,6,12, 7,0,7,1,7,11,7,12: ' O1 35 DATA 2,2,2,10,7,2,7,10, 8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11, 9,2,9,3,9,4,9,5,9,6,9,7,9,8,9,9,9,10,255,255: ' O2 36 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,0,2,1,2,5,2,6, 3,0,3,1,3,5,3,6, 4,0,4,1,4,5,4,6, 5,0,5,1,5,5,5,6, 6,0,6,1,6,5,6,6, 7,0,7,1,7,5,7,6: ' P1 37 DATA 8,1,8,2,8,3,8,4,8,5, 9,2,9,3,9,4,255,255: ' P2 38 DATA 0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10, 1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11, 2,0,2,1,2,11,2,12, 3,0,3,1,3,11,3,12, 4,0,4,1,4,11,4,12, 5,0,5,1,5,11,5,12, 6,0,6,1,6,11,6,12, 7,0,7,1,7,11,7,12: ' Q1 39 DATA 2,2,2,10,7,2,7,10, 8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11, 9,2,9,3,9,4,9,5,9,6,9,7,9,8,9,9,9,10,9,12,6,9,255,255: ' Q2 40 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,0,2,1,2,5,2,6, 3,0,3,1,3,5,3,6, 4,0,4,1,4,5,4,6, 5,0,5,1,5,5,5,6, 6,0,6,1,6,5,6,6, 7,0,7,1,7,5,7,6: ' R1 41 DATA 8,1,8,2,8,3,8,4,8,5, 9,2,9,3,9,4, 2,6,3,6, 3,7,4,7, 4,8,5,8, 5,9,6,9, 6,10,7,10, 7,11,8,11, 8,12,9,12,255,255: ' R2 42 DATA 0,2,0,3,0,4,0,9,0,10, 1,1,1,2,1,3,1,4,1,5,1,9,1,10,1,11, 2,0,2,1,2,5,2,6,2,11,2,12, 3,0,3,1,3,5,3,6,3,11,3,12, 4,0,4,1,4,5,4,6,4,11,4,12, 5,0,5,1,5,5,5,6,5,11,5,12, 6,0,6,1,6,5,6,6,6,11,6,12, 7,0,7,1,7,5,7,6,7,11,7,12: ' S1 43 DATA 8,1,8,2,8,3,8,6,8,7,8,8,8,9,8,10,8,11, 9,2,9,3,9,7,9,8,9,9,9,10,255,255: ' S2 44 DATA 0,0,0,1, 1,0,1,1, 2,0,2,1, 3,0,3,1, 4,0,4,1,4,2,4,3,4,4,4,5,4,6,4,7,4,8,4,9,4,10,4,11,4,12, 5,0,5,1,5,2,5,3,5,4,5,5,5,6,5,7,5,8,5,9,5,10,5,11,5,12, 6,0,6,1, 7,0,7,1, 8,0,8,1, 9,0,9,1, 255,255: ' T 45 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11, 2,11,2,12, 3,11,3,12, 4,11,4,12, 5,11,5,12, 6,11,6,12, 7,11,7,12: ' U1 46 DATA 2,10,7,10, 8,0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11, 9,0,9,1,9,2,9,3,9,4,9,5,9,6,9,7,9,8,9,9,9,10,255,255: ' U2 47 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,2,8, 2,9,3,9, 3,10,4,10, 4,11,5,11, 4,12,5,12, 5,10,6,10, 6,9,7,9, 7,8,8,8, 8,0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8, 9,0,9,1,9,2,9,3,9,4,9,5,9,6,9,7, 255,255: ' V 48 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11, 1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12, 2,11,2,12, 3,10,3,11, 4,9,4,10, 5,9,5,10, 6,10,6,11, 7,11,7,12: ' W1 49 DATA 8,0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8,12, 9,0,9,1,9,2,9,3,9,4,9,5,9,6,9,7,9,8,9,9,9,10,9,11,255,255: ' W2 50 DATA 0,0,0,1,0,11,0,12, 1,0,1,1,1,11,1,12, 1,2,2,2, 1,10,2,10, 2,3,3,3, 2,9,3,9, 3,4,4,4, 3,8,4,8, 4,5,4,6,4,7, 5,5,5,6,5,7, 5,4,6,4, 5,8,6,8, 6,3,7,3, 6,9,7,9, 7,2,8,2, 7,10,8,10, 8,0,8,1,8,11,8,12, 9,0,9,1,9,11,9,12, 255,255: ' X 51 DATA 0,0,1,0,8,0,9,0, 0,1,1,1,8,1,9,1, 1,2,2,2, 7,2,8,2, 2,3,3,3, 6,3,7,3, 3,4,4,4, 5,4,6,4, 4,5,5,5, 4,6,5,6, 4,7,5,7,4,8,5,8,4,9,5,9,4,10,5,10,4,11,5,11,4,12,5,12,255,255: ' Y 52 DATA 0,0,0,1,0,11,0,12, 1,0,1,1,1,11,1,12, 2,0,2,1,2,11,2,12, 3,0,3,1,3,11,3,12, 4,0,4,1,4,11,4,12, 5,0,5,1,5,11,5,12, 6,0,6,1,6,11,6,12, 7,0,7,1,7,11,7,12, 8,0,8,1,8,11,8,12, 9,0,9,1,9,11,9,12: ' Z1 53 DATA 8,2,9,2, 7,3,8,3, 6,4,7,4, 5,5,6,5, 4,6,5,6, 3,7,4,7, 2,8,3,8, 1,9,2,9, 0,10,1,10,255,255: ' Z2 54 DATA 0,5,0,6,1,5,1,6,2,5,2,6,3,5,3,6,4,5,4,6,5,5,5,6,6,5,6,6,7,5,7,6,8,5,8,6,9,5,9,6,255,255: ' hyphen This program will print the large-size character font on the screen of your computer. 100 ' Program prints large font samples 101 ' Copyright 1990 Tony B. Anderson 110 CLS 120 X=1:Y=1: ' Starting print position; x=0-63, y=0-239 125 ONERRORGOTO 160 130 FORA=0TO29STEP15 135 FORB=0TO239STEP12 140 READC,R:IFC+R=510THEN150 145 PSET(C+B+Y,R+A+X):GOTO140 150 NEXT B 155 NEXT A 160 PRINT@240,"";:END