Brother International HL-L2300D Command Reference Guide for Software Developer - Page 111

PCL - 91

Page 111 highlights

 # = 3 indicates that delta row compression is to be used. In this method byte sequences identify how each raster row differs from the last row that was transmitted. The first byte identifies the number of consecutive bytes (the value of the most significant 3 bits plus 1) to be changed and the position in the line at which to start substituting the replacement bytes (the least significant 5 bits plus 1). Hence, if the command byte has a 3 in the top three bits and 10 in the bottom five bits, the 11th, 12th, 13th and 14th bytes of the last row will be replaced by the four data bytes that follow. If the least significant 5 bits are all 1, the next byte is treated as a further offset value and its value is added to 32 to calculate the offset. If this byte in turn is all ones the next byte is also treated as a continuation byte and its value is added to the offset and so on until a byte whose value is not 255 is encountered. This combination of command bytes and replacement bytes is used to specify all the differences between the last raster row sent (the seed row) and the new row to be transmitted. When the new row has been sent it becomes the new seed row.  # = 5 indicates that adaptive compression is to be used. This compression compresses multiple rows (a block) into one transfer graphics command. Most other compression methods compress only one row to one transfer graphics command. One transfer graphic command (ESC *b##W) can contain only up to 32,767 bytes. As mode 5 compression compresses multiple rows, the amount of transferred data may become large. If compressed data exceeds this limit, reduce the number of rows in the block. We can use mode 0 to mode 3 compression to compress each row. We can even compress empty (white) rows and duplicate rows with these compression methods.  Command byte Mode 5 compressed data consists of multiple elements. Each element contains 3 header bytes at the beginning. The first byte of the header bytes is a command byte. First byte 0 Unencoded 1 Run-length Encoding 2 TIFF 3 Delta Row compression 4 Empty Row 5 Duplicate Row Second, third byte Number of bytes of data Number of empty row or repetition Command byte 0 - This element is an uncompressed row. The next two bytes contain the byte count of the uncompressed data. Uncompressed data follows the header. 1 - This element identifies a compressed row. Compression method is mode 1. The next two bytes (upper byte first) contain the byte count of the compressed data. Compressed data follows the header. 2 - This element identifies a compressed row. Compression method is mode 2. The next two bytes (upper byte first) contain the byte count of the compressed data. Compressed data follows the header 3 - This element identifies a compressed row. Compression method is mode 3. The next two bytes (upper byte first) contain the byte count of the compressed data. Compressed data follows the header 4 - This element identifies multiple empty rows. The next two bytes (upper byte first) contain the empty row count. 5 - This element identifies duplicate rows. The next two bytes (upper byte first) contain the duplicate row count. CHAPTER 2 PCL - 91

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420
  • 421
  • 422
  • 423
  • 424
  • 425
  • 426
  • 427
  • 428
  • 429
  • 430
  • 431
  • 432
  • 433
  • 434
  • 435
  • 436
  • 437
  • 438
  • 439
  • 440
  • 441
  • 442
  • 443
  • 444
  • 445
  • 446
  • 447
  • 448
  • 449
  • 450
  • 451
  • 452
  • 453
  • 454
  • 455
  • 456
  • 457
  • 458
  • 459
  • 460
  • 461
  • 462
  • 463
  • 464
  • 465
  • 466
  • 467
  • 468
  • 469
  • 470
  • 471
  • 472
  • 473
  • 474
  • 475
  • 476
  • 477
  • 478
  • 479
  • 480
  • 481
  • 482
  • 483
  • 484
  • 485
  • 486
  • 487
  • 488
  • 489
  • 490
  • 491
  • 492
  • 493
  • 494
  • 495
  • 496
  • 497
  • 498
  • 499
  • 500
  • 501
  • 502
  • 503
  • 504
  • 505
  • 506
  • 507
  • 508
  • 509
  • 510
  • 511
  • 512
  • 513
  • 514
  • 515
  • 516
  • 517
  • 518
  • 519
  • 520
  • 521
  • 522
  • 523
  • 524
  • 525
  • 526
  • 527
  • 528
  • 529
  • 530
  • 531
  • 532
  • 533
  • 534
  • 535
  • 536
  • 537
  • 538
  • 539
  • 540
  • 541
  • 542
  • 543
  • 544
  • 545
  • 546
  • 547
  • 548
  • 549
  • 550

CHAPTER 2 PCL - 91
# = 3 indicates that delta row compression is to be used. In this method byte sequences identify how each
raster row differs from the last row that was transmitted. The first byte identifies the number of consecutive
bytes (the value of the most significant 3 bits plus 1) to be changed and the position in the line at which to
start substituting the replacement bytes (the least significant 5 bits plus 1). Hence, if the command byte has a
3 in the top three bits and 10 in the bottom five bits, the 11th, 12th, 13th and 14th bytes of the last row will
be replaced by the four data bytes that follow.
If the least significant 5 bits are all 1, the next byte is treated as a further offset value and its value is added to
32 to calculate the offset. If this byte in turn is all ones the next byte is also treated as a continuation byte and
its value is added to the offset and so on until a byte whose value is not 255 is encountered.
This combination of command bytes and replacement bytes is used to specify all the differences between the
last raster row sent (the seed row) and the new row to be transmitted. When the new row has been sent it
becomes the new seed row.
# = 5 indicates that adaptive compression is to be used.
This compression compresses multiple rows (a block) into one transfer graphics command.
Most other compression methods compress only one row to one transfer graphics command.
One transfer graphic command (ESC *b##W) can contain only up to 32,767 bytes.
As mode 5 compression compresses multiple rows, the amount of transferred data may become large.
If compressed data exceeds this limit, reduce the number of
rows in the block.
We can use mode 0 to mode 3 compression to compress each row. We can even compress empty (white)
rows and duplicate rows with these compression methods.
Command byte
Mode 5 compressed data consists of multiple elements. Each element contains 3 header bytes at the
beginning.
The first byte of the header bytes is a command byte.
First byte
Second, third byte
0
Unencoded
1
Run-length Encoding
Number of bytes of data
2
TIFF
3
Delta Row compression
4
Empty Row
Number of empty row or repetition
5
Duplicate Row
Command byte
0 -
This element is an uncompressed row. The next two bytes contain the byte count of the uncompressed
data. Uncompressed data follows the header.
1 -
This element identifies a compressed row. Compression method
is mode 1. The next two bytes
(upper byte first) contain the byte count of the compressed data. Compressed data follows the header.
2 -
This element identifies a compressed row. Compression method is mode 2. The next two bytes
(upper byte first) contain the byte count of the compressed data. Compressed data follows the header
3 -
This element identifies a compressed row. Compression method is mode 3. The next two bytes
(upper byte first) contain the byte count of the compressed data. Compressed data follows the
header
4 -
This element identifies multiple empty rows. The next two bytes
(upper byte first) contain the empty
row count.
5 -
This element identifies duplicate rows. The next two bytes
(upper byte first) contain the duplicate
row count.