Monthly Archives: July 2009

MONOGRAM Code 128 library

Pri jednom našom projekte som potreboval vedieť generovať čiarové kódy. Voľba formátu kódu padla na Code 128, pre jeho univerzálnosť a vysokú hustotu zapísanej informácie. Tento formát Vám umožňuje zapísať kompletne všetky znaky definované v ASCII, a to aj napriek tomu, že ASCII znakov je 128 a Code 128 má iba 106 znakov a to aj s jeho špeciálnymi znakmi.
Je to možné kvôli tomu, že existujú 3 jeho varianty:

  • 128A – znaky 0×00 – 0x5F
  • 128B – znaky 0×20 – 0x7F
  • 128C – iba číslice ( 0×30 – 0×39 ) – číslice sú ale kódované po dvojiciach, teda v dvojnásobnej hustote

Ako vidíte, znaky zapísateľné týmito variantami niesú disjunktné, napríklad číslice môžete zapísať všetkými troma variantami, veľké znaky abecedy variantou 128A aj 128B. Celý čiarový kód môže byť napísaný v jednej variante, ale môže používať aj viacero variánt na rôzne jeho časti. Medzi variantami sa dá prepínať špeciálnymi znakmi a dokonca medzi 128A a 128B dvoma spôsobmi. Čiarový kód je ľahké dekódovať, o čosi ťažšie ale je ho efektívne zapísať.

A práve absencia podpory varianty 128C v knižnici GenCode 128 ma donútila napísať vlastnú knižnicu schopnú využívať aj 128C variantu a inteligentne používajúcu všetky možnosti štandardu Code 128 za účelom čo najefektívnejšieho zápisu dát.

Knižnica MONOGRAM Code 128 library je šírená pod GNU LGPL, a zdrojové kódy ako aj skompilovanú assembly aj s testovacou aplikáciou môžete sťahovať odtiaľto.