Figure 9-12. These download characters are defined as proportional characters.
attribute byte, m0. As you know, the first bit of mO is used to specify whether the character is a descender or not. The next three bits are used to specify the starting print column (acceptable values are 0 to 7). The last four bits specify the ending print column (acceptable values are 4 to 11). The minimum character width is five dots (so you could not, for instance, specify a starting column of 6 and an ending column of 8, even though those are both within the acceptable range). If you inadvertantly give an incorrect width value, however, SR-lo/15 is forgiving: it will automatically revert to the default width of eleven dot columns.
Just as there was an easy trick for figuring the attribute byte earlier, you still don’t need to know a thing about binary arithmetic. Merely multiply the starting column by 16, add the ending column number, and add 128 if the character is not a descender. If you prefer a formula: (descender * 128) + (start * 16) + end.
The examples in Figure 9-12 show characters of different widths. These characters are defined in the program below; the output is shown in Figure 9-13.
95