
GEK-00029B
5000 Series Programmer’s Manual
119
PROPRINTER DOT GRAPHICS
Dot graphics allows you to print individual dots at any position on
the page. The Proprinter doesn't adjust the line feed increment
automatically on entering graphics. If you want contiguous vertical
graphics, then you must set the line feed increment to 8/72 inch
before starting graphics and then reset it when you are finished.
An IBM graphics control sequence starts with an escape combination
that sets the graphics density (ESC K, L, Y, or Z), followed by a 2-byte
header that shows the number of subsequent bytes that are to be
interpreted as graphics data. The format of the sequence is:
ESC (density) <n1> <n2> (data) .. (data)
Since this control sequence has no terminator, you need to specify
exactly in the header the number of bytes that you want to be
interpreted as graphics. If there are fewer graphics data bytes than
specified in the header, then the printer treats subsequent text and
control codes as graphics. In that case, carriage returns and line
feeds are often ingested as graphics data.
On the other hand, if there are more graphics data bytes than
specified in the header, then the printer interprets excess bytes as
text or control codes. This can also produce indeterminate results.
The two bytes (n1, n2) specify the total number of image bytes that
follow; n2 is the most significant byte.
The total number of image data bytes - n1 + (n2 * 256)
EXAMPLE: to print 5 inches of graphics at ESC K density, which is
60 dpi, then:
Total bytes = 5 inches x 60 dpi = 300
n1 = total bytes modulo 256, in other words,
n1 = total bytes – (n2 * 256)
n1 = 300 - (1 * 256)
n1 = 44
n2 = integer (total bytes/256)
n2 = integer (300/256) = 1
The sequence sent to the printer (shown in BASIC) would look like:
CHR$(27);CHR$"K';CHR$(44);CHR$(1);CHR$(v1);... CHR$(v3OO);
where v1 through v3OO are image data bytes.
Each image data byte represents a vertical column of eight dots. The
most significant bit of the byte controls the top dot of a column, and
the least significant bit controls the bottom dot of that column. The
first byte of data (v1) is the first column, (v2) is the second column,
and so on. The illustration below shows byte values of various dot
combinations.
Summary of Contents for 5000 Series
Page 1: ...GEnicom 5000 Series Programmer s Manual GEK 00031B ...
Page 264: ...Appendix B Font Samples GEK 00029B 264 HIGH SPEED 2 ...
Page 275: ...GEK 00029B 5000 Series Programmer s Manual 275 APPENDIX E DSC CODE CHARTS ...
Page 276: ...Appendix E DSC Code Charts GEK 00029B 276 ...
Page 277: ...GEK 00029B 5000 Series Programmer s Manual 277 ...
Page 278: ...Appendix E DSC Code Charts GEK 00029B 278 ...
Page 279: ...GEK 00029B 5000 Series Programmer s Manual 279 ...
Page 280: ...Appendix E DSC Code Charts GEK 00029B 280 ...
Page 281: ...GEK 00029B 5000 Series Programmer s Manual 281 ...
Page 282: ...Appendix E DSC Code Charts GEK 00029B 282 ...
Page 283: ...GEK 00029B 5000 Series Programmer s Manual 283 ...
Page 284: ...Appendix E DSC Code Charts GEK 00029B 284 ...
Page 285: ...GEK 00029B 5000 Series Programmer s Manual 285 ...
Page 286: ...Appendix E DSC Code Charts GEK 00029B 286 ...
Page 287: ...GEK 00029B 5000 Series Programmer s Manual 287 ...
Page 288: ...Appendix E DSC Code Charts GEK 00029B 288 ...
Page 289: ...GEK 00029B 5000 Series Programmer s Manual 289 ...
Page 290: ...Appendix E DSC Code Charts GEK 00029B 290 ...
Page 291: ...GEK 00029B 5000 Series Programmer s Manual 291 ...
Page 292: ...Appendix E DSC Code Charts GEK 00029B 292 ...
Page 293: ...GEK 00029B 5000 Series Programmer s Manual 293 ...
Page 294: ...Appendix E DSC Code Charts GEK 00029B 294 ...
Page 295: ...GEK 00029B 5000 Series Programmer s Manual 295 ...
Page 296: ...Appendix E DSC Code Charts GEK 00029B 296 ...
Page 297: ...GEK 00029B 5000 Series Programmer s Manual 297 ...
Page 298: ...Appendix E DSC Code Charts GEK 00029B 298 ...
Page 299: ...GEK 00029B 5000 Series Programmer s Manual 299 ...
Page 300: ...Appendix E DSC Code Charts GEK 00029B 300 ...
Page 301: ...GEK 00029B 5000 Series Programmer s Manual 301 ...
Page 302: ...Appendix E DSC Code Charts GEK 00029B 302 ...
Page 303: ...GEK 00029B 5000 Series Programmer s Manual 303 ...
Page 304: ...Appendix E DSC Code Charts GEK 00029B 304 ...
Page 305: ...GEK 00029B 5000 Series Programmer s Manual 305 ...
Page 306: ...Appendix E DSC Code Charts GEK 00029B 306 ...
Page 307: ...GEK 00029B 5000 Series Programmer s Manual 307 ...
Page 308: ...Appendix E DSC Code Charts GEK 00029B 308 ...
Page 309: ...GEK 00029B 5000 Series Programmer s Manual 309 ...