986e94587411b157537f9407d7b39d3bb9a97da9
+ harbour/contrib/hbzebra
+ harbour/contrib/hbzebra/hbzebra.ch
+ harbour/contrib/hbzebra/hbzebra.h
+ harbour/contrib/hbzebra/core.c
+ harbour/contrib/hbzebra/codabar.c
+ harbour/contrib/hbzebra/code11.c
+ harbour/contrib/hbzebra/code128.c
+ harbour/contrib/hbzebra/code39.c
+ harbour/contrib/hbzebra/code93.c
+ harbour/contrib/hbzebra/eanupc.c
+ harbour/contrib/hbzebra/itf.c
+ harbour/contrib/hbzebra/msi.c
+ harbour/contrib/hbzebra/hbzebra.hbc
+ harbour/contrib/hbzebra/hbzebra.hbp
+ added barcode library. It supports these types of barcodes: EAN-13,
EAN-8, UPC-A, UPC-E, Code 128, Code 93, Code 39, Code 11, Codabar,
Interleave 2 of 5 (ITF), MSI.
Library has both C and Harbour level API functions. GC pointers
are used to store Zebra structures in Harbour items.
Current impementation has Cairo draw backend only. Draw A different
backends can be added
Harbour level API:
hb_zebra_create_<type>( cCode [, nFlags ] ) --> hZebra
hb_zebra_destroy( hZebra )
hb_zebra_geterror( hCairo ) --> nError
hb_zebra_getcode( hCairo ) --> cPrintableCode
hb_zebra_draw_cairo( hZebra, hCairo, nX, nY, nLineWidth, nHeight [, nFlags ] ) --> hZebra
+ harbour/contrib/hbzebra/tests
+ harbour/contrib/hbzebra/tests/test1.prg
+ harbour/contrib/hbzebra/tests/hbmk.hbm
+ added test app to generate barcodes. Creates .pdf and .png output,
uses Cairo backend to draw barcode
; TODO: (my todo list with low priority)
- 2-digit and 5-digit supplemental barcodes for EAN13
- draw EAN, UPC barcode in native format
- 2D barcode support
- PDF417
; If someone has real scanner it would be nice to do tests and get feedback.
; I guess I've implemented Code 128 encoding (code set selection, etc) that
generates the optimal (shortest) barcode. If someone can find a sample of
barcode that encodes the same data and is shorter than hbzebra's barcode,
please inform me.
; Make system is not working and a requires to be fixed by someone!
This library has properties that possibly could not be solved in current
make implementation. It can have multiple draw backends: Cairo, Win32 GDI,
GD, ASCII art, libharu, etc. These depends on system and installed
packages. I do not know howto put all backends into the same hbzebra
library. A separate library for each backend seems to be wasteful way to
solve a problem, because draw backend implements only one function (a few
more functions should be implemented to support EAN/UPC native draw, some
2D barcodes, but backend code size is small).
Description
Harbour Core — Reference source for Five development
Languages
C
80.3%
xBase
17.8%
Makefile
0.6%
C++
0.4%
Harbour
0.4%
Other
0.3%