One thing to remember about defining proportional characters: a character cannot be wider than the specified width. That seems obvious enough! For example, if you specify a width of 6 for a character (starting in column 1 and ending in column 6), the seventh through eleventh columns of dots (if you specified any) will not print. You must, however, send information (even if it is 0) for those columns when you defined a character; SD- 1O/15 expects eleven characters following the < ESC > “*” 1 nl n2 m0 or the < ESC > “8~” CHR$(O) nl n2 m0 sequence.
In most cases, the width you select should actually be one dot wider than the number of columns that the character actually occupies. This is so that there will be a space (of one dot) between characters when you print them. If you specify a width which is exactly the same as the number of columns in the character definition, the characters will touch when they print (this is sometimes
| Table |
| |
Download | character | commands | |
Function | Mode | Control code | |
Define download character | STAR | <ESC> | * 1 nl n2 |
|
| m0 ml...mll | |
| IBM | < ESC > “8~”CHR$(O) | |
|
| nl n2 m0 ml...mll | |
Copy ROM to download | STAR | < ESC > “*” 0 | |
RAM | IBM | < ESC > “:” 0 0 0 | |
| |||
Download characters ON | STAR | < ESC > | “$” 1 |
| IBM | <ESC> | “%” 1 0 |
Download characters OFF | STAR | <ESC> | “$” 0 |
| IBM | < ESC > | “%” 0 0 |
nConnecting characters
As we noted earlier, it’s possible to connect proportional width characters. This can be useful for creating logos or other char- acters which are larger than one normal character. It also makes it possible to create connecting scripts. like handwritng. The trick to this is to specify the width in the attribute byte to be exactly the same as the number of columns of dots that the character (or partial character) occupies. And, if you change the vertical spacing to 7/72” (use the < ESC > “1” command), you can make characters connect vertically. This allows you to make very large characters indeed!
91