Barcode
As a bar code , bar code , bar code or bar code (in the case -kode of English bar , bar ') is an opto-electronically readable font called, consisting of different width, parallel bars and spaces. The term code stands for the mapping of data in binary symbols. The data in a bar code is read with optical reading devices such as e.g. B. barcode readers (scanners) or cameras, read by machine and electronically processed.
history
Norman Joseph Woodland and Bernard Silver carried out the first experiments with barcode technology in 1949, the patent for which was granted on October 7, 1952. In Switzerland, there were attempts by the retail company Migros and the Zellweger company to read articles electronically around 1968 , but this was discontinued. Heinrich Weiss had previously introduced the barcode for its printed products. One of the reasons for the barcode's acceptance was the pressure exerted on producers by the US supermarket chain Walmart in the 1970s.
In 1973 the UPC was introduced in North America.
On June 26, 1974, in a branch of the US supermarket chain Marsh in Troy (Ohio), the first product marked with a barcode, a ten pack of Juicy Fruit (chewing gum) from the manufacturer Wrigley , was scanned by a Datalogic (formerly PSC / Spectra Physics) recorded and sold.
In 1976 the EAN code was introduced in Europe.
In 1977 the retail company Carl Doderer KG ( taken over by the Schwarz Group in 1987 ) was the first German company to introduce scanner cash registers in one of its Augsburg hypermarkets . The Wuppertal spice dealer Wichartz was the first German company to have a product printed with a barcode on July 1, 1977.
In Austria it was the supermarket chain BILLA , today part of the REWE Group , which was the first to equip two branches in Vienna with scanners in 1979 and tried to use the EAN code, which was not very common even among suppliers.
First, the actual barcodes were used, in which the code is only applied in one axis, i.e. one-dimensional (1D codes). Since the late 1980s, two-dimensional codes ( 2D codes ) have also been used, in which the code is applied in two axes or dimensions. These codes may be made of stacked 1D codes consist ( stacked ) may be arranged in rows or constructed as a real area code (regular matrix or matrix with staggered rows of dot patterns). In the case of 3D codes, for example, the hue, color saturation or color brightness represent the third dimension. In 2007, researchers at the Bauhaus University Weimar developed 4D codes in which the fourth dimension is time, i.e. H. the codes are animated.
General
The different types of barcodes were developed for different tasks, depending on the user groups and the respective manufacturing possibilities. Depending on the application, the barcodes are printed with conventional printing processes such as offset, flexographic or gravure printing or with laser, direct thermal, thermal transfer, inkjet printing and the like. a. manufactured. Dot matrix printers are less suitable because their printouts can often not be read by the scanners due to their low quality.
Regardless of the shape of the individual bit patterns, the group of deterministic spatially resolving codes will continue to be referred to as bar codes. There are also pseudo-stochastic (apparently random) and irregular barcodes, such as finger lines, as well as pseudo-stochastic point codes, which can hardly be copied, and finally also purely random codes which, however, in principle cannot be copied.
Often the data content is also in the plain text line directly below the barcode in human-readable font. In this way, the information can be entered manually if the scanner has reading problems.
There are 1D barcode types with 2 bar widths as well as those with more bar widths. The barcode should have a certain minimum height, which is standardized in some cases (see below). In addition, the width ratio between narrow and wide bars is standardized and is between 1: 1.8 to 1: 3.4 according to the standard (normally only 1: 2.0 to 1: 3.0 should be used, the larger range is allowed Tolerances). Multi-bar width codes usually have bar widths that increase by one module. A field must also remain free before and after the code - the so-called quiet zone - in order to be able to decode the code correctly. The bars are often referred to with the English word bars , the gaps with space . The first and last characters are usually a start or stop character, which the reader can use to determine the type of barcode on the one hand and the reading direction on the other. But there is, for example, the Pharma Code or Laetus Code without start and stop characters. With other codes, such as B. the EAN code, start and stop characters are the same, the reading direction results from the uniqueness of the code words with respect to reading forwards or backwards.
The barcode can be modified depending on the application. So the code can be oversquare , that is, it is taller than it is wide. This makes it possible to read the code in any position with two scanners at right angles to each other . This is used, for example, for luggage tags on airlines. Another type is the T-shaped code. Two codes with the same content are printed on each other in a T-shape. Here it is possible to read in all directions with a single scanner.
Every provider is free to define their own code. The variety of proprietary geometric codes already defined is great. As a rule, labeling can be easily done using all conceivable methods. The quality of a code method is shown in the availability of suitable reading devices, in the interoperability of use and the robustness of the code against contamination and - with increasing importance - the security against corruption.
Normalization
The print quality of bar codes is defined in the ISO / IEC 15416 standard. Data structures (including GS1-128 or Fact) are specified in ISO / IEC 15418 (or in the referenced ANSI MH10.8.2 ).
Well-known types of barcodes
Commercial bar codes: EAN, UPC, IAN, JAN
The barcode is standardized in the international standard ISO / IEC 15420. The content is determined by the user group specification (trade) in the GS1 General Specifications:
- Character set 0–9
- Fixed lengths:
- EAN-8 has 8 digits, one of which is a check digit
- EAN-13 has 13 digits, one of which is a check digit
- UPC-A has 12 digits, one of which is a check digit
- UPC-B, -C, -D are standardized, but of no practical importance
- UPC-E defines the compression of 11 useful digits (like UPC-A) into an 8-digit barcode if the useful digits contain certain sequences of zeros.
- IAN (International article numbering) barcode is identical to EAN, the content is coordinated with EAN.
- JAN (Japanese article numbering) as well.
- Additional codes: Two-digit and five-digit additional codes that are printed directly next to the EAN or UPC and are used, for example, to encode the issue number of a magazine or the weighted quantity of loose goods (see below). It is also possible to specify a price here, but cash register systems usually know “their” items and the associated price.
- 4 different bar and gap widths are required for the representation, which define a total of 32 symbols: There are 3 symbols each (coding A, B, C) for the digits 0–9, plus a border symbol as the first and last character and finally a Separator symbol in the middle.
- 12 symbols are also sufficient for coding the EAN-13 (13 digits!). In the literature, numbers are counted from right to left. While the digits in digits 1-6, including the check digit in digit 1, are printed with the corresponding symbols from set C, digits 7-12 are coded from symbols from A and B in a sequence that is unambiguous the 13th digit results. This is the first digit. Usually the number is in plain text below and you can see the 13th digit to the left of the barcode. The UPC-A code is the original code in this system. The UPC-A code only uses the character set A for the digits 7–12. This means that the UPC-A code has the number 0 as the 13th digit, while the EAN-13 can have values from 0 to 9 in the 13th digit. The 13th digit is never printed. Scanners can be programmed so that the UPC-A code is read either as 12 or 13 digits.
It is advisable to use these code types only in connection with a valid EAN (referred to as GTIN - Global Trade Item Number since 2009 ), otherwise the risk of mix-ups is very high. The use of the code type in a delimited space (in-house EANs), which start with the number 2 and otherwise can be filled with numbers as required by the user, is also compliant with the standard. Such codes are used in the German discount trade as well as for private labels. There is no risk of overlap because these items only appear in one retail chain. Because of possible overlaps, such barcodes are not recommended if several business partners are involved, for example in wholesalers or for branded goods.
- Subspecies
- ITF code:
- The ITF code (Interleaved Two of Five) is structured like the European article number, but is also preceded by a one-digit ITF prefix, which can be used to differentiate between different units of measure or packaging of a material. The ITF code is used to identify transport units. In the context of EAN or GS1, this code is always referred to as ITF-14. The ITF-14 is a normal 2/5 interleaved code according to ISO / IEC 16390, but has limitations: module width only from 0.495 mm to 1.016 mm, always 14 digits, always with GTIN check digit. This code is not intended for reading at the supermarket checkout.
-
ISBN and ISSN are encoded in the EAN-13 code:
- In the case of the 10-digit ISBN, the last digit (the check digit of the numeric ISBN code) is removed, a 978 is placed in front and the check digit of the barcode is appended so that the 13-digit EAN code is created. The new 13-digit ISBN, on the other hand, is identical to the EAN in all digits from the outset, and the Bookland number line 979, which has also been opened, allows the size of the number space to be doubled.
- The ISSN (for journals) is similar to the ISBN: 977 is placed in front, followed by the seven digits of the ISSN (i.e. without the check digit). Numbers 11 and 12 can be used for special or double editions. If not used, these reserve digits are each “0”. The thirteenth digit is the check digit according to the EAN guidelines.
- Add-on codes can supplement the EAN-13 code for ISBN and ISSN. The add-on codes are separated from the EAN-13 by a quiet zone and contain either two digits (for issue number, issue) or 5 digits (price without commas, no currency information) without an additional check digit being appended.
Target code
This in-house development by the former Deutsche Bundespost was presented in 1979, and today almost every letter transported by Deutsche Post has the fluorescent barcode in the lower right corner of the address page.
2/5 family
Character set 0–9
- 2 / 5i can only be used with an even number of digits. It should always be used with a check digit. It has a high information density, which means that many digits can be accommodated in a small space. The construction of the code interlocks bars and gaps in such a way that the bars form one information unit and the gaps between them form another information unit. Five information units are required for one digit, two being wide and three being narrow. This enforces the even number of digits and provides the high information density.
The 2/5 interleaved is specified in the ISO / IEC 16390 standard. Often one also finds the term ITF for Interleaved 2 of 5 - Interleaved Two of Five . Usually the term ITF-14 is used in a slightly different context. This is still a normal 2 / 5i code. The specialty is the restrictive specification through the GS1 General Specifications. The ITF-14 code therefore only has 14 fixed digits, it must contain a check digit, the permitted size range is optimized for automated recording and the ratio should be 1: 2.5. In practice, it can happen that only part of the code is read because part of the code is covered, not visible or distorted. A set check digit can only weaken this problem. That is why you should only use the interleaved code with a defined length of digits.
Only rarely used subspecies:
- Industrial / Discrete
- matrix
- 3 lines of Datalogic
- inverted
- IATA
The subspecies are not standardized, but rather defined by company-specific specifications.
Code 39
The Code 39 is an older alphanumeric code. It is widely used in industry. For example , it is often used in the automotive industry (with the VDA shipping labels) or in the pharmaceutical industry (with the pharmaceutical central number as PZN code or Code-32) because it is easy to manufacture due to its large printing tolerances. With this type of code, one character in plain text corresponds to one character in a barcode. Start and stop characters are each represented by an * .
Code 39 is specified in ISO / IEC 16388. Subspecies are:
- Standard Code 39 (characters A – Z, numbers 0–9, and the special characters $% / + .-),
- Extended Code 39 (characters A – Z, a – z, 0–9, and some special characters). The complete ASCII character set is possible, but in this case it has a low information density, since it requires two characters for each character.
- Code 32 (22 letters, numbers 0–9, start / stop characters *) (Italian Pharmacode - article number for pharmaceutical products). It is a self-checking, discrete code. Advantage: high security. Disadvantages: low information density, gaps within a character carry information, low tolerance.
Code 93
Code 93 was developed as a further development from Code39. The code structure, however, is more similar to Code128. With alphanumeric coding, Code 93 achieves the highest character density in linear barcodes. This type of code has almost no meaning in Europe.
Character set ASCII character set: character set A – Z, 0–9, some special characters.
Standard: ANSI / AIM BC5 1995
Codabar
The Codabar encoding provides a limited alphanumeric character set . Codabar was developed for the retail trade but was quickly replaced by EAN and Code128.
Code128
The Code 128 is an interleaved code, wear in the bars and spaces significant information. For this purpose, both the line widths and the width of the gaps are varied. There are four different line widths and four different gap widths. The decoding takes place via the ratios of line-gap pairs. This improves the ability to decode when the bar widths vary, because the bar + gap remains the same when a bar becomes wider (the gap usually becomes narrower accordingly).
Code 128 is slowly replacing Code 39 today, as the information possibilities in this code are much greater. All characters between ASCII 0 and ASCII 127 can be displayed with a high information density. The same symbols are used for several characters at the same time, but these are represented by shift characters at the beginning of the code or in front of a block (character set A, B and C). In the Code 128 character set C, only digits from 0 to 9 can be coded. Due to this restriction, two digits always fit in a barcode character, whereas normally only one character can be encoded. A purely numeric code 128 will therefore require significantly less space than alphanumeric codes in code 128.
The GS1-128 is actually not a barcode, but a data structure for logistics that defines the Code128 as a transport medium (physical layer). The protocol is also EDI- compatible using EANcom. The purpose of the special character FNC1 after the start character is to make the GS1-128 data structure clearly recognizable. The uniqueness only works if all users know the rules and adhere to them. In practice, neither is the case. The uniqueness is therefore only partially available and the (conditional) uniqueness of the GS1-128 is not a unique selling point of the GS1-128 data structure.
With the renaming of the EAN organizations to GS1 (Global Standards 1), the EAN128 is now referred to as GS1-128. The GS1-128 data structure is now also used with other code types (GS1 Databar (formerly RSS), DataMatrix). GS1-128 data structure and size restrictions are defined in the GS1 General Specifications.
Another (conditionally) unique data structure is used on the so-called ODETTE transport labels of the automotive industry. Code 128 is also used here (Code 39 in older applications).
The parcel service provider DHL uses a license plate (= serial number of a transport unit for tracking and tracing in accordance with ISO / IEC 15459-1 ) for the unique identification of transported packages . The ISO data structures that are defined in ISO / IEC 15418 are used to uniquely identify a barcode as a license plate . This includes both data structures according to ANS MH10.8.2 and GS1. Here, too, Code 128 is used as a data carrier - if GS1 data structures are used, again in the GS1-128 version. Due to the global nature of this number, there is no restriction to numbers issued by DHL itself. Instead, customers can alternatively use their own numbers, provided they comply with the ISO 15459 standard.
Standard: Code 128 ISO / IEC 15417
2D codes
Two-dimensional area codes mostly encode the information in the area, whereby the information is then not contained in the form of lines but in the form of (white and black) dots. A distinction is made between stacked barcodes, matrix codes, point codes and some other special forms.
As a rule, the expression “two-dimensional barcode” should be avoided, as the partial word “bar-” stands for the bars of the classic one-dimensional code. With the exception of stacked barcodes such as the PDF417 , 2D codes do not contain any bars.
Barcode reader
Barcode readers are among the data collection devices . There are different types of readers:
- Reading pen: The reading pen is moved over the barcode by hand. A decoder receives the light / dark signal and thus deciphers the barcode.
- CCD scanner: The barcode is illuminated with LEDs . The barcode reflects on a CCD or photodiode line , depending on whether it is light or dark .
- Laser scanner: One or more laser beams are directed onto the barcode and are reflected and decoded differently depending on the color.
- Mobile phone scanners: So-called mobile phone scanners are a new generation. Mobile phone software enables 2-dimensional codes (e.g. data matrix ) and barcodes to be recorded with the digital camera of the mobile phone and the code information to be displayed to the user immediately in decoded form, i.e. in plain text.
Barcode verification device
A bar code verifier is a special measuring device for checking the print quality (contrast, metrics , systematic properties and sometimes data structures). These measuring devices are subject to the measuring tolerances typical of the measuring device. The requirements for the measuring accuracy of these measuring systems are specified in ISO / IEC 15426-1 (linear) and ISO / IEC 15426-2 (2D). This requirement for the measuring accuracy of the device is often confused with the print quality requirement of the bar codes and matrix codes. The requirements for the code print quality are specified in ISO / IEC 15416 for bar codes and ISO / IEC 15415 for matrix codes.
In contrast to the reading device, the test device has to work under defined conditions for quality control, i.e. a constant angle, distance and base is required. A reading pen, laser scanner, CCD or camera-based scanner cannot be used as test equipment. The "grading" ability of scanners, which is often found in practice, is therefore a pseudo measurement that can only be compared with itself. A real measurement must be carried out by a calibrated measuring device, the measurement results of which can be traced back to national standards (see Physikalisch Technische Bundesanstalt in Braunschweig). It is often difficult for users to distinguish which devices provide a pseudo measurement and which devices are real measuring devices. Even some industry experts do not know this difference and sell scanners with pseudo-measurement capabilities as calibrated optical measuring devices.
Controlling the print quality of barcodes is essential for a barcode-based system to function efficiently. In practice, this aspect is very often neglected, which means that the desired increase in efficiency and minimization of errors are not achieved. Problems often only arise some time after such a system has been commissioned. As the maintenance status of the barcode printer deteriorates, the barcode quality and thus the efficiency decrease steadily, but initially imperceptibly.
The test criteria are specified in the ISO / IEC 15416 standard (linear bar codes). 2D matrix codes and stacked codes are checked according to the ISO / IEC 15415 standard. Both standards specify a quality classification as follows: -
- Grade 4 - very good (ANSI Grade A)
- Grade 3 - good (ANSI Grade B)
- Grade 2 - satisfactory (ANSI Grade C)
- Grade 1 - sufficient (ANSI Grade D)
- Grade 0 - failed (ANSI Grade F)
Typical errors are imprecise line widths and positions that arise from interpolation errors when codes are created as bitmap graphics or with true type fonts.
Production of bar codes
Barcodes are printed for larger quantities of labels, packaging etc. with all common printing processes . In practice, high-resolution, cartridge-based inkjet printers are used in the industry e.g. B. used for direct labeling of folding boxes. The print quality of the barcodes depends on the carrier material (e.g. corrugated cardboard) when writing directly with ink or laser. This can lead to massive problems or, with a suitable carrier material, produce good and very inexpensive barcodes. Barcodes in prepress (common printing processes such as flexographic printing, gravure printing, offset printing) should only ever be generated using special programs that are suitable for this purpose. These programs allow a bar width correction (BWC) or bar width reduction (BWR) to be specified in order to compensate for the ever-present increase in pressure. The resolution determines the scaling steps of the barcode. The result must meet the requirements of the ISO / IEC 15421 standard.
In most cases, special label printers are used. These can be thermal direct or thermal transfer printers . The use of label design programs is recommended here. These programs must be able to use the printer's internal barcode generators. Very few label design programs are suitable for use with laser printers , as these usually do not have built-in barcode generators (the point overlap that occurs is not taken into account, which is also a problem with barcode telephones).
Barcodes can also be created using barcode fonts that are saved as a separate font on the respective PC . The application almost always results in print quality problems because the font does not take into account the printer resolution. With barcodes, however, this is necessary in order to maintain the relationship between bars and gaps. With high-resolution laser printers or sufficiently large barcodes this effect becomes less important. It should also be noted that, depending on the symbolism, it is not sufficient to simply print the characters to be encoded using the desired font. Rather, it may be possible to calculate check digits (e.g. EAN 13), print start and stop symbols (e.g. EAN family) and combine two digits into one symbol (e.g. Interleaved 2/5 ) must be taken into account. With laser printers, into which the writing is loaded beforehand or which have a barcode module installed, you can get problems like with a barcode phone. If a barcode generator is built into the printer, there should be no problems.
Finally, barcodes can also be etched, milled, punched, needled, lasered or generated in any other way, provided that there is only one change to the surface that complies with the barcode specifications and can be recognized by an optical system (laser / CCD). It is z. B. in grazing light, the shadow cast by the height offset is evaluated by processing in the scanner.
The barcode technology assumes that the code is on a light, (usually for red light) diffusely reflective carrier material. The lines must be dark and absorb the light from the scanner. In an open logistical system, all those involved assume these relationships. It is possible to deviate from this in a closed, local system because the scanners can be optimized locally to the conditions (e.g. camera technology with efficient image processing and special lighting).
Data structures
In the simplest case, a data structure is only the knowledge of the meaning of the character string encoded in a barcode. Data structures are very important when barcodes are used in large, cross-company logistic systems. Any introduction of a barcode application should be preceded by a consideration of the data structures to be used. There are generally available data structures that are standardized in ISO / IEC 15418. The procedures for globally unique article numbers, serial numbers, etc. are defined in the ISO / IEC 15459 standards (Part 1 to Part 8). The prerequisite for a globally unique number assignment is the procedure defined in ISO / IEC 15459-2. The organizations that register in this way can generate unique numbering systems worldwide that are also unmistakable among each other. Examples of such registered organizations are ODETTE , Dun & Bradstreet , EDIFICE , IBM , UPU , NATO . GS1 also belongs on this list, but needs special mention as there is often the erroneous assumption that it is the only organization that can generate unique number systems worldwide.
safety
When implementing barcode systems, characters should always be checked. Code 39 in particular represents a possible attack vector, since alphanumeric and special characters can be displayed. SQL injection attacks are therefore possible in principle.
Design barcodes
The bar structure of the barcode is artistically worked out by some companies and thus used as a means of branding .
Design barcode of the vodka brand Grasovka , which is machine-readable - "valid" - in the lower part
Curiosities
- Some evangelical or right-wing esoteric conspiracy theorists in the USA claim that the vertical delimitation and dividing lines of the EAN barcodes represent the digits 666 and thus the number of the beast from the Revelation of John of the New Testament (13.18 ELB ). In verse 17 is called only those who bear the mark of the beast can still buy or sell. In fact, these lines are markers and are used for synchronization when reading in with the reader. They show where the section of code begins and ends.
- Some companies "suppress" the barcode with a small horizontal line, as some customers claim they are afraid of alleged energy fields that, according to some esotericists, should emanate from the barcodes. Some mineral water bottlers print a light pink or light green figure eight on the barcodes. This should be "more effective" than a horizontal line.
- In the Chinese new town of Lingang New City , the architects von Gerkan, Marg and Partner designed a building with barcode facades.
- The facade design of the Sächsische Landes- und Universitätsbibliothek (SLUB) is supposed to be reminiscent of barcodes, which serve as unique identification features of the inventory units in a library.
attachment
Similar codes
- High Capacity Color Barcode - A colored code developed by Microsoft
- Ultracode - A colored 3D code with a high data density
Alternatives
Instead of optical codes simply printed on packaging or labels , transponders such as RFID are increasingly being used for automatic identification and data acquisition , as they can be customized and do not have to be visible for reading. Depending on their design, they can store transferred information. Amazon Go , on the other hand, relies on other sensor technology that uses autonomous vehicle control technology and is not an open standard and has to recognize temporal processes.
literature
- Oliver Rosenbaum: The Barcode Lexicon. bhv, Kaarst 1997, ISBN 3-89360-948-2 .
- Bernhard Lenk: manual of automatic identification. Lenk, Kirchheim unter Teck.
- Volume 1: ID Techniques, 1D Codes, 2D Codes, 3D Codes. 2000, ISBN 3-935551-00-2 .
- Volume 2: 2D codes, matrix codes, stacked codes, composite codes, dot codes. 2002, ISBN 3-935551-01-0 .
- Volume 3: Project planning, code selection, printing technology, code checking, labeling, reading devices. 2004, ISBN 3-935551-02-9 .
Web links
- In praise of the barcode . BBC News , February 16, 2002 (English)
- Barcode, Chapter 5 of Data Entry provides detailed information on some barcodes
- 35 years of barcodes in supermarkets . heise online , June 1, 2008
- Information on barcode systems in healthcare
- Information on standardization activities for barcodes, 2D codes, data structures and more
- Registration office for so-called IACs (GS1 is one of these IACs)
- Standards committee at DIN, which deals with automatic identification
- Issuing Agency EDIFICE - electronics industry
- Labeling and shipping of electronic products
Individual evidence
- ↑ U.S. Patent 2,612,994
- ↑ taz.de
- ↑ Götz W. Werner: What I never expected . Berlin 2013, p. 113 (there, however, without evidence).
- ↑ GS1 website (in German)
- ↑ Media systems create new dimensions: Barcodes with color and time - the junior professorship in Augmented Reality at the Bauhaus University Weimar is developing four-dimensional barcodes. on: uni-weimar.de , September 7, 2007.
- ^ Website of GS1 - the organization that issues manufacturer-specific barcode base numbers worldwide (English).
- ↑ Lenk, Hansen: Codiertechnik - the key to the barcode . 1989
- ↑ a b GS1: Barcode quality, publication / article GTIN 4000001015870 p. 4–5, accessed in July 2015
- ↑ Podcast on the subject of barcode security ( Memento from February 13, 2010 in the Internet Archive ) SQL injection on barcode systems
- ^ XSS, SQL Injection and Fuzzing Barcode Cheat Sheet
- ^ John David Rausch, Jr .: Universal Price Codes. In: Peter Knight (Ed.): Conspiracy Theories in American History. To Encyclopedia . ABC Clio, Santa Barbara / Denver / London 2003, Volume 2, p. 709; Michael Barkun : A Culture of Conspiracy. Apocalyptic Visions in Contemporary America. 2nd Edition. University of California Press, Berkeley 2013, pp. 45 and 79.
- ↑ a b The cross with the lines. In: Frankfurter Allgemeine Zeitung . Retrieved May 24, 2013 .
- ↑ a b The barcode conspiracy: Why some manufacturers "suppress" their barcodes. In: Spiegel Online # Bento . Retrieved July 16, 2019 .
- ↑ Barcode Halls - gmp
- ↑ Barcodes Revival - Are colorful ultra codes replacing QR codes in labeling technology? In: Labels, Print Service & Printer . July 13, 2017 ( niesel.de [accessed January 26, 2018]).