2021-10-31 00:00:31 +03:00
/* pdf417.h - PDF417 tables and coefficients declarations */
2008-07-14 01:15:55 +04:00
/*
libzint - the open source barcode library
Add Structured Append support for AZTEC, CODEONE, DATAMATRIX, DOTCODE,
GRIDMATRIX, MAXICODE, MICROPDF417, PDF417, QRCODE, ULTRA
DOTCODE: use pre-calculated generator poly coeffs in Reed-Solomon for
performance improvement
PDF417/MICROPDF417: use common routine pdf417_initial()
GUI: code lines <= 118, shorthand widget_obj(),
shorten calling upcean_addon_gap(), upcean_guard_descent()
various backend: var name debug -> debug_print
2021-09-28 23:42:44 +03:00
Copyright ( C ) 2008 - 2021 Robin Stuart < rstuart114 @ gmail . com >
2008-07-14 01:15:55 +04:00
Portions Copyright ( C ) 2004 Grandzebu
2013-05-16 21:26:38 +04:00
Redistribution and use in source and binary forms , with or without
modification , are permitted provided that the following conditions
are met :
2016-02-20 13:50:15 +03:00
1. Redistributions of source code must retain the above copyright
notice , this list of conditions and the following disclaimer .
2013-05-16 21:26:38 +04:00
2. Redistributions in binary form must reproduce the above copyright
notice , this list of conditions and the following disclaimer in the
2016-02-20 13:50:15 +03:00
documentation and / or other materials provided with the distribution .
2013-05-16 21:26:38 +04:00
3. Neither the name of the project nor the names of its contributors
may be used to endorse or promote products derived from this software
2016-02-20 13:50:15 +03:00
without specific prior written permission .
2013-05-16 21:26:38 +04:00
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS " AS IS " AND
ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT , INDIRECT , INCIDENTAL , SPECIAL , EXEMPLARY , OR CONSEQUENTIAL
DAMAGES ( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES ; LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION )
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT
LIABILITY , OR TORT ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY
2016-02-20 13:50:15 +03:00
OUT OF THE USE OF THIS SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF
2013-05-16 21:26:38 +04:00
SUCH DAMAGE .
2016-02-20 13:50:15 +03:00
*/
2021-10-31 00:00:31 +03:00
/* vim: set ts=4 sw=4 et : */
2008-07-14 01:15:55 +04:00
2021-10-31 00:00:31 +03:00
/* See "pdf417_tabs.h" for table definitions */
2008-07-14 01:15:55 +04:00
2020-11-01 21:32:55 +03:00
# ifndef __PDF417_H
# define __PDF417_H
2008-07-14 01:15:55 +04:00
/* PDF417 error correction coefficients from Grand Zebu */
2021-10-31 00:00:31 +03:00
INTERNAL_DATA_EXTERN const unsigned short pdf_coefrs [ 1022 ] ;
2016-02-20 13:50:15 +03:00
2021-10-31 00:00:31 +03:00
INTERNAL_DATA_EXTERN const unsigned short pdf_bitpattern [ 2787 ] ;
2016-02-20 13:50:15 +03:00
2008-07-14 01:15:55 +04:00
/* MicroPDF417 coefficients from ISO/IEC 24728:2006 Annex F */
2021-10-31 00:00:31 +03:00
INTERNAL_DATA_EXTERN const unsigned short pdf_Microcoeffs [ 344 ] ;
2008-07-14 01:15:55 +04:00
/* rows, columns, error codewords, k-offset of valid MicroPDF417 sizes from ISO/IEC 24728:2006 */
2021-10-31 00:00:31 +03:00
INTERNAL_DATA_EXTERN const unsigned short pdf_MicroVariants [ 170 ] ;
2008-07-14 01:15:55 +04:00
/* following is Left RAP, Centre RAP, Right RAP and Start Cluster from ISO/IEC 24728:2006 tables 10, 11 and 12 */
2021-10-31 00:00:31 +03:00
INTERNAL_DATA_EXTERN const char pdf_RAPTable [ 136 ] ;
2008-07-14 01:15:55 +04:00
/* Left and Right Row Address Pattern from Table 2 */
2021-10-31 00:00:31 +03:00
INTERNAL_DATA_EXTERN const unsigned short pdf_rap_side [ 52 ] ;
2008-07-14 01:15:55 +04:00
/* Centre Row Address Pattern from Table 2 */
2021-10-31 00:00:31 +03:00
INTERNAL_DATA_EXTERN const unsigned short pdf_rap_centre [ 52 ] ;
2008-07-14 01:15:55 +04:00
2021-10-31 00:00:31 +03:00
INTERNAL void pdf_byteprocess ( int * chainemc , int * mclength , const unsigned char chaine [ ] , int start , const int length ,
2021-08-10 14:04:25 +03:00
const int debug ) ;
2020-11-01 21:32:55 +03:00
# endif /* __PDF417_H */