Commit Graph

4 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
44bf92b7e6 2010-11-17 12:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbzebra/pdf417.c
  * harbour/contrib/hbzebra/code128.c
  * harbour/contrib/hbzebra/eanupc.c
  * harbour/contrib/hbzebra/code11.c
  * harbour/contrib/hbzebra/itf.c
  * harbour/contrib/hbzebra/datamtrx.c
  * harbour/contrib/hbzebra/code39.c
  * harbour/contrib/hbzebra/code93.c
  * harbour/contrib/hbzebra/codabar.c
    % added const to all static table declarations and updated
      code to use const pointers to them. Please remember that
      memory regions declared as const can be better optimized
      by compiler during compilation and on some machines also
      on runtime because can be located in readonly area which
      is cached in more efficient way.
    ! fixed some non const declarations for pure "..." strings
2010-11-17 11:19:59 +00:00
Mindaugas Kavaliauskas
1aa52c0105 2010-11-10 19:12 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* 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
    * pacified warning
2010-11-10 17:13:17 +00:00
Viktor Szakats
483a3c868e 2010-11-09 15:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbplist
    + Enabled hbzebra.

  * contrib/hbzebra/hbzebra.hbp
    + Added optional cairo dependency.
    + Enabled cairo dependent components if cairo is detected.
    - Deleted hard-coded reference to cairo lib.
    + Adjusted reference to hbcairo.hbc.

  * contrib/hbzebra/itf.c
  * contrib/hbzebra/codabar.c
    * Silenced three warnings.
    ; TOFIX: Remains one: 
             ../../../../../contrib/hbzebra/code128.c: In function 'hb_zebra_create_code128':
             ../../../../../contrib/hbzebra/code128.c:316:19: warning: suggest parentheses around '&&' within '||'

  * contrib/hbzebra/core.c
    ! Replaced hbcairo.h header reference with hbstack.h

  * contrib/hbzebra/cairo.c
  * contrib/hbzebra/hbzebra.hbc
    ! Added EOL at EOF.
    * Indenting.
2010-11-09 14:13:54 +00:00
Mindaugas Kavaliauskas
986e945874 2010-11-09 15:20 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
+ 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).
2010-11-09 13:22:33 +00:00