Technical Specifications - Aztec
The Aztec symbol is an ISO international standard (IEC 24778). You are allowed to use it within your applications.
The Aztec code is a 2D barcode that can encode a large amount of information within a square symbol. All 256 characters can be encoded.
You may use multiple symbols to spread your information in order to create a bigger message.
This barcode contains a way to detect and correct errors based on the Reed Solomon algorithm. You can use 0% to 99% of error detection. The advised percentage of error detection is 23%.
Encoding
The data encoded in the barcode comes from different code sets. Switching between code sets will impact the maximal amount of data you can use.
Here is the list of what each code set can encode. The first code sets encode the data in 5 bits, the digit code set encodes in 4 bits. The binary code set encodes in 8 bits.
- Code Set Upper: Uppercase and space
- Code Set Lower: Lowercase and space
- Code Set Mixed: ASCII 1-13, 27-31, 64, 92, 94-96, 124, 126-127
-
Code Set Punctuation: The following set of characters: CR (13), !"#$%&'()*+,-./:;<=>?[]{}
Also, the combinaison of two characters together to use only 5 bits: CR (13) + LF (10), period + space, comma + space, colon + space - Code Set Digit: Numbers, comma, period and space
- Code Set Binary: ASCII 0-255
Encoding always starts with code set Upper.
Sizes
There are two types of output: compact and full. The full mode can expand to support more data. It also contains a reference grid to help with the reading alignment.The data is written in counter-clock spiral starting from the center going around the finder pattern.
Capacity | ||||
---|---|---|---|---|
Layer | Size | Numbers | Letters | Bytes |
1 * | 15x15 | 13 | 12 | 6 |
1 | 19x19 | 18 | 15 | 8 |
2 * | 19x19 | 40 | 33 | 19 |
2 | 23x23 | 49 | 40 | 24 |
3 * | 23x23 | 70 | 57 | 33 |
3 | 27x27 | 84 | 68 | 40 |
4 * | 27x27 | 110 | 89 | 53 |
4 | 31x31 | 128 | 104 | 62 |
5 | 37x37 | 178 | 144 | 87 |
6 | 41x41 | 232 | 187 | 114 |
7 | 45x45 | 294 | 236 | 145 |
8 | 49x49 | 362 | 291 | 179 |
9 | 53x53 | 433 | 348 | 214 |
10 | 57x57 | 516 | 414 | 256 |
11 | 61x61 | 601 | 482 | 298 |
12 | 67x67 | 691 | 554 | 343 |
13 | 71x71 | 793 | 636 | 394 |
14 | 75x75 | 896 | 718 | 446 |
15 | 79x79 | 1511 | 808 | 502 |
16 | 83x83 | 1008 | 900 | 559 |
17 | 87x87 | 1123 | 998 | 621 |
18 | 91x91 | 1246 | 1104 | 687 |
19 | 95x95 | 1378 | 1210 | 753 |
20 | 101x101 | 1653 | 1324 | 824 |
21 | 105x105 | 1801 | 1442 | 898 |
22 | 109x109 | 1956 | 1566 | 976 |
23 | 113x113 | 2116 | 1694 | 1056 |
24 | 117x117 | 2281 | 1826 | 1138 |
25 | 121x121 | 2452 | 1963 | 1224 |
26 | 125x125 | 2632 | 2107 | 1314 |
27 | 131x131 | 2818 | 2256 | 1407 |
28 | 135x135 | 3007 | 2407 | 1501 |
29 | 139x139 | 3205 | 2565 | 1600 |
30 | 143x143 | 3409 | 2728 | 1702 |
31 | 147x147 | 3616 | 2894 | 1806 |
32 | 151x151 | 3832 | 3067 | 1914 |
* Compact sign |
Structured Append
BCGaztec supports the Structured Append mode. You can spread across multiple barcodes a single message thanks to this feature.
You can use a maximum of 26 different barcodes.
Rune
Runes are a series of small but distinct machine-readable marks designed to be graphically compatible with Aztec Code. They can encode a number between 0 and 255.
Extended Channel Interpretation
BCGaztec supports the Extended Channel Interpretation. This allows the output have interpretations different from that of the default character set.
To activate it, you have to use setTilde() and use the code ~Exxxxxx in your message. X represents a number from 0 to 9.
You wish to encode this string: ¶Ж. Both characters are represented by the ASCII code 182.
The first character is from ECI 000003 (ISO-8859-1 which is the default) and the second one is from ECI 000007 (ISO-8859-5 cyrillic).
You can proceed like this:
$code->setTilde(true);
$code->parse(chr(182) . '~E000007' . chr(182));
Please note that your Barcode Reader must support this feature.
Barcode Bakery Supports
Supports | |
---|---|
Encodes Characters, Numbers, Binary | |
Encodes on many codes (Structured Append) | |
Encodes FNC1 | |
Extended Channel Interpretation (Arabic, Hebrew, etc.) | |
Aztec "Runes" | |
Reader Initialization Symbols * | |
Specific to PHP package | |
PHP 7.4 | |
PHP 8+ |