Lexmark X864 Forms and Bar Code Technical Reference - Page 157

Maximum encodable character length, code 19 NotEnoughMemory

Page 157 highlights

data, rather than the actual bar code encoded data, which this Technical Reference considers as an error. The LXK BCC also performs the exact same way as the HP BDP. The BCE does not support lowercase "a-z" start and stop character input, does not translate to uppercase, and will throw a "Error 12 - Invalid Character" error. The BCE is operating per the specs noted above, and does not translate lowercase to uppercase. Therefore, the Forms and Bar Code Card firmware must convert any Codabar lowercase start-stop input to uppercase before submission to the BCE. This will then generate the proper uppercase start and stop bar code characters. However, visually the HRT start and stop characters will also be uppercase, reflecting the actual data within the bar code itself. Maximum encodable character length The BCE allocates memory for a requested bar code on a per-symbology basis. It does not "malloc" memory on a symbol-by-symbol basis as it builds the bar code, but rather allocates the entire memory block needed at once for each bar code it generates. It uses this technique to reduce the overhead of memory allocation, and ensure good performance. The LXK BCC allocates memory in a different manner, and how HP allocates memory is unknown. Because the BCE allocates a finite amount of memory per bar code, input data with large amounts of encodable data will fail, usually with a garbled bar code image that does not have well-formed bars and spaces, or in some cases a code 19 NotEnoughMemory. The practical commercially viable limit for a typical 1D bar code is approximately 20-25 characters. Large bar codes may not fit on the page, or the reliability of the scan may begin to suffer with large amounts of encoding data. However, the BCE will still attempt to encode large amounts of input data, until the image fails. There is no warning or error associated with excessive data that leads to garbled images. The maximum amount of input data is shown in the table below. This table is just a guide, not an absolute definition of capability, and could change upward or downward depending on these assumptions: • the amount of RAM in the printer • the version of BCE • the compiler/linker used • other unknown factors. Symbology 2of5 Industrial Code 39 Code 39 Extended MSI Typeface 24650T 24670T 24680T 24760T Max characters 388 339 339 454 Deviations 154

  • 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

Deviations
154
data, rather than the actual bar code encoded data, which this Technical Reference considers as an
error.
The LXK BCC also performs the exact same way as the HP BDP.
The BCE does not support lowercase “a-z” start and stop character input, does not translate to
uppercase, and will throw a “Error 12 – Invalid Character” error. The BCE is operating per the specs
noted above, and does not translate lowercase to uppercase.
Therefore, the Forms and Bar Code Card firmware must convert any Codabar lowercase start-stop
input to uppercase before submission to the BCE. This will then generate the proper uppercase start
and stop bar code characters. However, visually the HRT start and stop characters will also be
uppercase, reflecting the actual data within the bar code itself.
Maximum encodable character length
The BCE allocates memory for a requested bar code on a per-symbology basis. It does not “malloc”
memory on a symbol-by-symbol basis as it builds the bar code, but rather allocates the entire
memory block needed at once for each bar code it generates. It uses this technique to reduce the
overhead of memory allocation, and ensure good performance.
The LXK BCC allocates memory in a different manner, and how HP allocates memory is unknown.
Because the BCE allocates a finite amount of memory per bar code, input data with large amounts of
encodable data will fail, usually with a garbled bar code image that does not have well-formed bars
and spaces, or in some cases a
code 19 NotEnoughMemory
.
The practical commercially viable limit for a typical 1D bar code is approximately 20-25 characters.
Large bar codes may not fit on the page, or the reliability of the scan may begin to suffer with large
amounts of encoding data. However, the BCE will still attempt to encode large amounts of input data,
until the image fails. There is no warning or error associated with excessive data that leads to garbled
images.
The maximum amount of input data is shown in the table below. This table is just a guide, not an
absolute definition of capability, and could change upward or downward depending on these
assumptions:
the amount of RAM in the printer
the version of BCE
the compiler/linker used
other unknown factors.
Symbology
Typeface
Max characters
2of5 Industrial
24650T
388
Code 39
24670T
339
Code 39 Extended
24680T
339
MSI
24760T
454