Deprecation warning
Please note that this is outdated documentation for an older release of the Scandit Barcode Scanner SDK.
We are deprecating the 5.x API on all platforms (except Linux). Release 5.19 in April 2021 will be our final. Applications running 5.x will continue to work, and we will continue to release critical bug fixes and security patches only, for one year. We encourage you to migrate to 6.x and take advantage of our latest / advanced features and improved performance.
You'll find the updated documentation at: Data Capture SDK Documentation for Android
The following table lists symbology properties of the Scandit SDK. The availability of a symbology depends on your specific contract. E.g. Professional or Enterprise packages offer different sets of symbologies than Community.
1D Symbologies (barcodes)
- All symbologies and all extensions are disabled by default when using the low-level API. For historical reasons, when using any of the picker API's, the remove_leading_zero extension is enabled for UPCA codes.
- Color-inverted (bright bars on dark background) decoding for symbologies that support it is disabled and must be explicitly enabled.
- Optional checksum digits (e.g. for interleaved 2 of 5 codes, or MSI-Plessey codes) are always returned as part of the data.
Symbology | Mandatory Checksums | Supported Optional Checksums | Default Optional Checksum | Default Symbol Count Range | Supported Symbol Count Range | Color-Inverted Codes | Extensions |
---|---|---|---|---|---|---|---|
EAN-13 | mod10 | 12 | 12 | yes | relaxed_sharp_quiet_zone_check | ||
EAN-8 | mod10 | 8 | 8 | yes | relaxed_sharp_quiet_zone_check | ||
UPC-A | mod10 | 12 | 12 | yes | relaxed_sharp_quiet_zone_check, remove_leading_zero | ||
UPC-E | mod10 | 6 | 6 | yes | return_as_upca, remove_leading_upca_zero | ||
Two-Digit Add-on | mod10 | 2 | 2 | yes | |||
Five-Digit Add-on | mod10 | 5 | 5 | yes | |||
MSI Plessey | none | mod10, mod11, mod1010, mod1110 | mod10 | 7-20 | 3-32 | no | |
Code 128 | mod103 | 7-20 (includes 1 checksum and 2 guard symbols) | 4-50 | yes | relaxed_sharp_quiet_zone_check, strip_leading_fnc11 | ||
Code 11 | none | mod11 | mod11 | 7-20 (includes 0-2 checksum digits) | 3-32 | no | |
Code 25 | none | mod10 | 7-20 | 3-32 | no | ||
Code 39 | none | mod43 | 7-20 (includes 2 guard symbols) | 3-40 | no | full_ascii, relaxed_sharp_quiet_zone_check | |
Code 93 | mod47 | 7-22 (includes 2 checksums and 2 guard symbols) | 5-40 | no | full_ascii2 | ||
Codabar | none | mod16, mod11 | 7-20 (includes 2 guard symbols) | 5-34 | no | ||
GS1 DataBar 14 | mod10 | 2 (encoding 14 digits) | 2 | no | |||
GS1 DataBar Expanded | mod211 | 1-11 (encoding 1-74 characters) | 1-11 | no | |||
GS1 DataBar Limited | mod89 | 1 (encoding 14 digits) | 1 | no | |||
Interleaved-Two-of-Five (ITF) | none | mod10 | 8-18 | 4-48 | no | ||
RM4SCC | mod36 | 7-24 | 4-50 | no | |||
KIX | none | 7-24 | 4-50 | no |
1: Enabled by default.
2: Always enabled and can't be disabled.
2D Symbologies
- All symbologies and all extensions are disabled by default when using the low-level API.
- Color-inverted decoding for symbologies that support it is disabled and must be explicitly enabled.
Symbology | Color-Inverted Codes | Extensions |
---|---|---|
Aztec Code | no | |
Data Matrix | yes | strip_leading_fnc11, direct_part_marking_mode |
DotCode | yes | |
MaxiCode | no | |
MicroPDF417 | no | |
PDF417 | no | |
QR Code | yes |
1: Enabled by default.
Calculating Symbol Counts for Variable-Length Symbologies
The length of data encoded in variable-length symbologies such as Code 128, Codabar, Code 39 etc. is measured as the number of symbols. Depending on the symbology, the symbol count includes the start and end symbol, and/or checksum characters. The following list shows how to calculate the number of symbols for each variable-length symbology. These counts can be used as the input to sc_symbology_settings_set_active_symbol_counts().
- Interleaved-Two-of-Five: The number of symbols corresponds to the number of digits in the code. Note that the number of digits must be even. Example: the code
"1234567890123"
has a symbol count of 14. For the active symbol count calculation, optional checksum digits are treated like normal data symbols. - Codabar: The number of symbols corresponds to the number of digits in the code, plus the start and end symbols. Example: the code
"A2334253D"
has a symbol count of 7 + 2 = 9. - Code 11: The number of symbols corresponds to the number of digits in the code, plus one or two checksum symbols. For less than ten digits in the code, one checksum symbol is added. Two checksum symbols are added for ten or more digits in the code. Example: the code
"912-34956"
("912-349566"
) has a symbol count of 9 + 1 = 10. The code"912-3495-6"
("912-3495-638"
) has a symbol count of 10 + 2 = 12. - Code 128: The number of symbols depends on the encoding used (A, B or C). All encodings require a start, an end and a checksum symbol. The ASCII encoding modes (A and B) store each character in one symbol. Example: the code
"ABC123"
in mode A has a symbol count of 6 + 2 + 1 = 9. The numeric encoding mode (C) encodes pairs of digits in one symbol. Example: the code"123456"
has a symbol count of 3 + 2 + 1 = 6. Some encoders switch modes inside the code using switch symbols to optimize the code length. In this case the exact encoding used is needed to compute the number of symbols. - Code 93: The number of symbols corresponds to the number of characters in the code, plus the start and end symbols and 2 checksum digits. Shift characters used in "extended code93" are treated as normal data symbols. Example: the code
"ABCDE12345"
has a symbol count of 10 + 2 + 2= 14. - Code 39: The number of symbols corresponds to the number of characters in the code, plus the start and end symbols. Note that the start and end symbols are not included in the returned barcode data. Example: the code
"4F70050378196356D"
("*4F70050378196356D*"
) has a symbol count of 17 + 2 = 19. - MSI Plessey and Code 25: The number of symbols corresponds to the number of digits in the code. Example: the code
"12345674"
has a symbol count of 8. For the active symbol count calculation, optional checksum digits are treated like normal data symbols. - GS1 DataBar 14: The symbol count corresponds to the number of finder patterns in the code. Each finder is accompanied by two data segments.
- GS1 DataBar Expanded: The symbol count can not be changed at the moment.
- RM4SCC: The number of symbols corresponds to the number of characters in the code, including the checksum character.
- KIX: The number of symbols corresponds to the number of characters in the code.
Symbology Extension Descriptions
- full_ascii: Interprets the Code39 code data using two symbols per output character to encode all ASCII characters.
- relaxed_sharp_quiet_zone_check: Enables scanning codes that have quiet zones (white area before and after the code) that are significantly smaller than allowed by the symbology specification. Use this extension if you are having difficulties to scan codes due to quiet zone violations. However, enabling it may come at the cost of more false positives under certain circumstances.
- return_as_upca: Transforms the UPCE result into its UPCA representation.
- remove_leading_zero: Removes the leading zero digit from the result.
- remove_leading_upca_zero: Removes the leading zero digit from the result if the UPCA representation extension 'return_as_upca' is enabled.
- strip_leading_fnc1: Removes the leading FNC1 character that indicates a GS1 code. To determine whether a certain code is a GS1 code, use sc_barcode_is_gs1_data_carrier.
- direct_part_marking_mode: Use this mode to improve scan performance when reading direct part marked (DPM) Data Matrix codes. Enabling this extension comes at the cost of increased frame processing times. It is recommended to restrict the scanning area to a smaller part of the image for best performance.