Codablock

From HandWiki
Codablock A barcode example
Codablock-F barcode example

Codablock is a family of stacked 1D barcodes (Codablock A,.[1] Codablock F,[2] Codablock 256) which was invented in Identcode Systeme GmbH in Germany in 1989[3][4] by Heinrich Oehlmann. Codablock barcodes are based on stacked Code 39 and Code 128 symbologies and have some advantages of 2D barcodes.

The barcodes were used mostly in health care industry (HIBC)[5][6] and presently, Codablock codes are fully replaced by Data Matrix[7]

History

Codablock codes invention were proceeded from 1989 to 1995 year. Codablock A was invented in 1989[8] and standardized as AIM standard in 1994.[9][10] Codablock A was based on stacked Code 39 barcodes and wasn’t widely used because of Code 39 restrictions.

The next Codablock F[11][12] was based on stacked Code 128 symbology and was standardized as AIM standard in 1995.[13] As this time Codablock F is officially accessed as historical standard and isn’t recommended to use in new applications.[14]

Codablock 256[15] was invented as internal ICS Identcode-Systeme standard and wasn’t standardized. It was also based on stacked Code 128 symbology. Codablock 256 could encode all 256 symbol ISO 8859-1 charset with FNC4 character and each line had error correction. Because of it has issues with reading by code128 scanners, 8-bit charset encoding was added to Codablock F standard and Codablock 256 almost was not used.

The Codablock also played an important pioneering role in the advance of 2D codes, because only it could be read reliably with the slightest modification of the laser scanners used at the time.

Codablock types

Codablock symbologies[16][17] has been developed as a stacked version of Code 39 and Code 128 barcodes and has some advantages of 2D barcodes. They allow to utilize rectangular space more effectively then 1D barcode and have additional checking characters to ensure the content of the overall message.

Codablock can be compared with a line break in a text editor. As soon as one line is full, the next is broken, whereby the line number is inserted into each line and the number of lines is inserted into the finished block. First line contains row counts. Each code line also contains an indicator for orientation for the readers and additional checksum values at the end of last line.

Codablock A

Codablock A[18][19] is based on the Code 39 barcode, consists of 2 to a maximum of 22 barcode lines of 1 to 61 data character each and can encode up to 1,340 characters. The checksum for the error correction is calculated according to modulo 43 over the entire code block.

Codablock F

Codablock F is based[20] on Code 128 barcode,[21] consists of 2 to a maximum of 44 lines, of 4 to 62 data character each and can encode up to 2,725 characters.[22] Codablock F can encode full ISO 8859-1 8-bit charset. Codablock F start character always must be Start A(Code 128).

Codablock 256

Codablock 256 has the same structure as Codablock F with the difference that each line has its own start character. Codablock 256, like Codablock F can encode a maximum of 2,725 characters. Additionally, each code line has its own error correction so small damage can be repaired. This version of Codablock was not standardized as international standard and left as internal Identcode Systeme GmbH development.

Codablock F structure

Codablock F consists from stacked Code 128 barcode lines and have the following features:

  • has from 2 to 44 lines;
  • each line has from 4 to 62 data characters;
  • can encode up to 2,725 characters;
  • can more effectively use rectangular space then any 1D barcode;
  • can use any code 128 reading equipment with slight modification or even without it;
  • when printing consists from standard Code 128 rows;
  • secured by two mod-86 check sums in addition to the row check sums;
  • can encode full ASCII character set. 8-bit character set is available using the ISO 8859-1 (Latin-1) character set (FNC4);
  • numeric compression: allows to encode blocks of numbers (minimum 4) using only the half of the usual space;
  • additionally, secured by a row checksum with modulo 103.

Codablock F constructed[23] from Code 128 data rows which are blocked between Start A (Code128) character and Code 128 Stop character. Every row has its number in second position after encoding mode selector or data character. The first row has rows count on the number place. The last row has two additional checksum characters.

Codablock F structure
Start Data(Code 128) Stop
Mode/Data Row Number Row Data(Code 128) Row CS
Start A(Code 128) MD1 Rows Count Row 1 Data CS1 Stop(Code 128)
MDX RX Row X Data CSX
MDN RN Row N Data CBS1 CBS2 CSN


MDX - encoding mode selector or data character if data can be encode in Code A mode.
Rows Count - count of rows in barcode, set in the first row.
RX - row number.
Row X Data - encode data in the code 128 row.
CSX - Code 128 checksum.
CBS1, CBS2 two Codablock F checksum characters.

See also

References

  1. stevewhims. "BarcodeSymbologies.CodablockA Property (Windows.Devices.PointOfService) - Windows UWP applications". Microsoft. https://docs.microsoft.com/en-us/uwp/api/windows.devices.pointofservice.barcodesymbologies.codablocka. 
  2. stevewhims. "BarcodeSymbologies.CodablockF Property (Windows.Devices.PointOfService) - Windows UWP applications". Microsoft. https://docs.microsoft.com/en-us/uwp/api/windows.devices.pointofservice.barcodesymbologies.codablockf. 
  3. Bhasker, Raj, Raj (2001). Bar Codes. Tata McGraw-Hill Education. p. 99. ISBN 0074638491. https://books.google.com/books?id=G-AQ6YERKrkC. 
  4. EDN, V.35, N25. Rogers Publishing Company. 1990. p. 110. https://books.google.com/books?id=lDhJAQAAIAAJ. 
  5. "HIBC BARCODE for Industry and Health Care Application Guidelines". http://www.fide-online.org/downloads/HIBC_Guide_english_Nov_2002.pdf#page=20. 
  6. "BARCODE für das Gesundheitswesen HIBC" (in German). https://www.eurodatacouncil.org/images/documents/RI_2.pdf#page=8. 
  7. "The health industry bar code (HIBC) provider application standard". https://www.hibcc.org/wp-content/uploads/ANSI-HIBC-1.3-FINAL_errata.pdf#page=27. 
  8. 33rd International Conference Proceedings, October 8-12, 1990, New Orleans, Louisiana. American Production and Inventory Control Society, 1990. 1990. p. 573. ISBN 1558220275. https://books.google.com/books?id=wjwdAQAAMAAJ. 
  9. "ISO/IEC 15424 Information technology — Automatic identification and data capture techniques — Data Carrier Identifiers (including Symbology Identifiers)". 2008. https://www.freestandardsdownload.com/iso-iec-15424-2008-free-download.html. 
  10. AIM USA Technology group 4/18/94 TSC052 — Codablock A (39)
  11. "Introduction Into Barcodes by ByteScout". 2014. https://bytescout.com/wp-content/uploads/2016/05/Introduction-Into-Barcodes-by-ByteScout.pdf#page=35. 
  12. Michael Hompel, Thorsten Schmidt (2006). Warehouse Management: Automation and Organisation of Warehouse and Order Picking Systems. Springer Science & Business Media. p. 211. ISBN 3540352201. https://books.google.com/books?id=ja799ganvtAC. 
  13. AIM Europe USS — Codablock F
  14. "AIM ISS - CODABLOCK F". https://web.aimglobal.org/external/wcpages/wcecommerce/eComItemDetailsPage.aspx?ItemID=236&Category=9. 
  15. Heinrich Barta (2011) (in German). Marktstudie Output Management: Elektronische Dokumente revolutionieren: Auswirkungen auf den Output Management-Markt. Diplomica Verlag. p. 20. ISBN 978-3842859289. https://books.google.com/books?id=r8dzh1QOF78C&pg=PA21. 
  16. Katona, Melinda; G Nyúl, László (May 2013). "Efficient 1D and 2D Barcode Detection Using Mathematical Morphology". https://www.researchgate.net/publication/249313182. 
  17. "Abstimmung bei der Strichcodeauswahl Stapelcode - Codablock" (in German). http://www.id-products.at/index.htm?/barcodefibel/bcf_bdd01.htm. 
  18. Benjamin Nelson (1997). Punched Cards to Bar Codes: A 200 Year Journey. Helmers Publishing Company. p. 206. ISBN 0911261125. https://books.google.com/books?id=kyoeAQAAMAAJ. 
  19. The Bar Code Book: Reading, Printing, and Specification of Bar Code Symbols. Roger C. Palmer. 1991. p. 59. ISBN 9780911261059. https://books.google.com/books?id=jxAZAQAAIAAJ. 
  20. Burton, Terry. "Codablock F symbology description". https://github.com/bwipp/postscriptbarcode/wiki/Codablock-F. 
  21. "The AIM Global Network Stacked Symbologies Codablock F". http://www.aimglobal.org/aimstore/stackedsymbologies.htm#Codablock%20F. 
  22. "Overview 2D Barcode Symbologies". https://www.tec-it.com/ru/support/knowbase/barcode-overview/2d-barcodes/Default.aspx. 
  23. "Codablock F encoder on Java". https://github.com/woo-j/OkapiBarcode/blob/master/src/main/java/uk/org/okapibarcode/backend/CodablockF.java. 

External links