diff -r 563557a923d0 .hgignore --- a/.hgignore Tue Oct 27 11:25:59 2009 -0400 +++ b/.hgignore Fri Feb 22 08:54:29 2013 -0300 @@ -7,7 +7,7 @@ configure config config.guess -config.h +config/config.h config.h.in config.log config.status @@ -19,3 +19,18 @@ ltmain.sh autom4te.cache missing +python/MANIFEST +build +*.xcodeproj/*.mode1v3 +*.xcodeproj/*.pbxuser +xcuserdata +contents.xcworkspacedata +.DS_Store +android/obj +*.class +*.dex +android/libs +android/examples/*/libs +android/*.zip +android/local.properties +android/examples/*/local.properties diff -r 563557a923d0 .hgtags --- a/.hgtags Tue Oct 27 11:25:59 2009 -0400 +++ b/.hgtags Fri Feb 22 08:54:29 2013 -0300 @@ -9,3 +9,21 @@ 38265c7b4ad4dfafe7b5e9eae4bb0d43d68b4143 0.9 2dc2d73c468a032edc68a127e9ddbbfe5f520777 0.9 f3670ba47f2e070f4c43e97f4de3200903720e73 0.10 +f3670ba47f2e070f4c43e97f4de3200903720e73 0.10 +563557a923d0e23e36c81878d660aefc1c0fe3e7 0.10 +b21098d27ff88c4f1a529fe0762f1cb307e04399 iPhoneSDK-0.1 +b0bda6247b2fe4ffb52db89a776f91244f25d897 iPhoneSDK-0.1.1 +d1655a680c3df68b3466d3b2c714f30af7223ec6 iPhoneSDK-0.1.2 +4556c996acaaa6fcd5e8e9879f410f8120746e2b iPhoneSDK-1.0 +12de07e51dce0d1cfc3e9699bbf9d5c8774a5371 iPhoneSDK-1.0.1 +12de07e51dce0d1cfc3e9699bbf9d5c8774a5371 iPhoneSDK-1.0.1 +2541a66ae7d64fbd923168ae677abb156021e88d iPhoneSDK-1.0.1 +5e5060b563a1878ea297af5a50261d14cf1cb449 iPhoneSDK-1.1 +f9e46865dbcebd04683ca7592ab32aeda615e772 iPhoneSDK-1.1.1 +801318a6195060c31259da1f076ecc9a609616cc iPhoneSDK-1.1.2 +4bbb4e2bdba8c41a282df7e65a02797250f44daa iPhoneSDK-1.1.3 +1ad84c3c03252c366a82552fa952674ec593c73f iPhoneSDK-1.2 +9e7bad13ae6a4b65e0f0964512f96284d37f0dc8 iPhoneSDK-1.2.1 +146b857ff41ae462cc52f8dddf46d867763433a1 iPhoneSDK-1.2.2 +9b946a7ead73ac99e121de2e7f495213cda88e6f AndroidSDK-0.1 +5eb3c8786845fe3ad2c74f6a660e70176b88347f iPhoneSDK-1.3.1 diff -r 563557a923d0 COPYING --- a/COPYING Tue Oct 27 11:25:59 2009 -0400 +++ b/COPYING Fri Feb 22 08:54:29 2013 -0300 @@ -1,4 +1,4 @@ -The ZBar Bar Code Reader is Copyright (C) 2007-2009 Jeff Brown +The ZBar Bar Code Reader is Copyright (C) 2007-2011 Jeff Brown The QR Code reader is Copyright (C) 1999-2009 Timothy B. Terriberry diff -r 563557a923d0 ChangeLog --- a/ChangeLog Tue Oct 27 11:25:59 2009 -0400 +++ b/ChangeLog Fri Feb 22 08:54:29 2013 -0300 @@ -1,3 +1,95 @@ +current: + * Codabar reliability enhancements + - fix missing check + - require minimum quality + - bump default uncertainty + * tweak Codabar bar/space ratio validation + * finish Codabar support for python, perl, java and iPhone interfaces + - reduce Codabar uncertainty to minimum + * add core support for Codabar symbology + - TBD: python, perl, java and iPhone interfaces + * fix v4l config and build variations (bug #3348888) + - thanks to jarekczek for reporting this! + - NB v4l1 removed from kernel as of 2.6.38 + * fix missing python thread initialization (bug #3349199) + - thanks to jarekczek for reporting this problem! + * fix missing configure check for Python.h (bug #3092663) + - thanks to Zoltan Kovacs for reporting this problem! + * fix C++ wrapper missing Symbol.quality (bug #3076524) + - thanks to Rudy Melli for pointing this out! + * fix C++ wrapper bugs (bug #3396068) + - thanks to anotheruser1 for reporting this! + - add new C++ wrapper test + * fix avoid compositing ISBN10 data + * add support for GraphicsMagick as ImageMagick alternative + * mention xmlto in HACKING (patch #3297039) + - thanks to jarekczek for the patch! + * disable addons by default until synchronization with main symbol is working + * fix image scanner min quality filtering + * fix i25 buffer overrun corner case + * fix EAN addon enables + * fix zbarimg to accept autodetected stdin (lone dash) + * fix Qt 4.6.3 compilation error (patch #3178244) + - thanks to hrhristov for the patch! + * add Python Processor support for request_size interface + * fix Python Processor support for GIL, allowing asynchronous scanning + * fix jpeg decoder skip handling + - thanks to jarekczek for the patch! + * rename dprintf macro to avoid conflicts (patch #3128538) + - thanks to maurochehab for the patch! + * add support for EAN/UPC 2 and 5 digit add-on symbols + - deprecate original, unfinished add-on APIs + - add self-checking to test_decode + * fix support for GS1 AIs + - thanks to jockusch for a patch! + - add decoder/symbol "modifier" flags and config read access + - set flags or emit GS appropriately for Code 128 FNC1 + - add iphone, java, perl, python bindings for modifiers and configs + * add support for Code 93 symbology + * add video size request to (Py)GTK widget (req #3034522) + - thanks to Jerome Charaoui for the patch! + * add support for GS1 DataBar Expanded (RSS Expanded) symbology + * add language bindings for DataBar + * add preliminary support for GS1 DataBar (RSS-14) symbology + * enhance decoder reliability (EAN, Code 39, Code 128) + - enhance decoder test + * fix documentation of command exit codes (bug #3017322) + * fix C++ video callback bug + - add C and C++ processor examples + * add per-symbology cache consistency + - reliable symbologies decode immediately by default + - no more need to disable cache with video + - also fix crop bugs w/video scanning + * add support for scanning partial images (cropping) + - update c++, python, perl, java bindings and tests + * fix couple of leaks + * remove doc hints about GFDL (bug #3004411) + - apply LGPL to API docs + * relax Code 39 width ratio checks + * core library portability improvements + - remove some unnecessary C99 syntax + - add configure checks for errno + - enhance C++ Symbol interface + * adjust Python module README (add examples and note DLL in path) + * fix QR Code missing from man pages (bug #2969857) + * cleanup decoder assertions and locking (bug #2966916) + * add Java interface to library via JNI + - add Java tools and JNI build tests to configure + - fix compiler warnings from binary output changes + * fix output of binary data in zbarimg and zbarcam + - thanks to fukuchi for a patch! + - add base64 format for binary xml output + * add coarse symbol orientation information (patch #2913094) + - thanks to Anssi for a patch! + - add decode direction feedback to decoder + - update C++, Python, Perl and ObjC wrappers + - add orientation to test suites + * fix inconsistent fourcc endian handling bugs (bug #2918994) + - thanks to jdccdevel for a patch! + - add fourcc conversion and parse interfaces to zbar.h + * report QR immediately for video (no inter-frame consistency check) + * add python distutils build infrastructure + version 0.10: * hotfix add MinGW import lib to Windows installer * attempt fix for Qt4 < 4.4 diff -r 563557a923d0 HACKING --- a/HACKING Tue Oct 27 11:25:59 2009 -0400 +++ b/HACKING Fri Feb 22 08:54:29 2013 -0300 @@ -13,6 +13,12 @@ GNU autoconf 2.61 GNU automake 1.10.1 GNU libtool 2.2.6 + GNU gettext 0.18.1.1 + GNU pkg-config 0.25 + xmlto 0.0.20-5 (for docs building) +all above mentioned tools (except xmlto) must be installed in the same +prefix. mixing prefixes (i.g. /usr/bin and /usr/local/bin) may lead to +errors in configuration stages when you're done hacking and want to make your patch, run: diff -r 563557a923d0 Makefile.am --- a/Makefile.am Tue Oct 27 11:25:59 2009 -0400 +++ b/Makefile.am Fri Feb 22 08:54:29 2013 -0300 @@ -1,6 +1,3 @@ -AM_CPPFLAGS = -I$(srcdir)/include -AM_CFLAGS = -Wall -Wno-parentheses -AM_CXXFLAGS = $(AM_CFLAGS) ACLOCAL_AMFLAGS = -I config bin_PROGRAMS = check_PROGRAMS = @@ -9,8 +6,10 @@ pyexec_LTLIBRARIES = CLEANFILES = DISTCLEANFILES = +MAINTAINERCLEANFILES = BUILT_SOURCES = EXTRA_DIST = +SUBDIRS = . pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = zbar.pc @@ -39,6 +38,9 @@ include $(srcdir)/qt/Makefile.am.inc pkgconfig_DATA += zbar-qt.pc endif +if HAVE_JAVA +SUBDIRS += java +endif if HAVE_NPAPI include $(srcdir)/plugin/Makefile.am.inc endif @@ -47,11 +49,8 @@ EXTRA_DIST += zbar.ico zbar.nsi -EXTRA_DIST += examples/upcrpc.pl examples/upcrpc.py examples/paginate.pl \ - examples/barcode.png examples/processor.pl examples/processor.py \ - examples/read_one.py examples/read_one.pl \ - examples/scan_image.c examples/scan_image.cpp examples/scan_image.pl \ - examples/scan_image.py examples/scan_image.vcproj +EXTRA_DIST += examples/barcode.png examples/upcrpc.py examples/upcrpc.pl \ + examples/scan_image.c examples/scan_image.cpp examples/scan_image.vcproj EXTRA_DIST += perl/MANIFEST perl/README perl/Changes perl/COPYING.LIB \ perl/Makefile.PL perl/typemap perl/ZBar.xs perl/ppport.h \ diff -r 563557a923d0 README --- a/README Tue Oct 27 11:25:59 2009 -0400 +++ b/README Fri Feb 22 08:54:29 2013 -0300 @@ -4,9 +4,9 @@ ZBar Bar Code Reader is an open source software suite for reading bar codes from various sources, such as video streams, image files and raw intensity sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128, -Code 39, Interleaved 2 of 5 and QR Code. Included with the library -are basic applications for decoding captured bar code images and using -a video device (eg, webcam) as a bar code scanner. For application +Code 39, Codabar, Interleaved 2 of 5 and QR Code. Included with the +library are basic applications for decoding captured bar code images and +using a video device (eg, webcam) as a bar code scanner. For application developers, language bindings are included for C, C++, Python and Perl as well as GUI widgets for Qt, GTK and PyGTK. diff -r 563557a923d0 README.windows --- a/README.windows Tue Oct 27 11:25:59 2009 -0400 +++ b/README.windows Fri Feb 22 08:54:29 2013 -0300 @@ -3,8 +3,8 @@ ZBar Bar Code Reader is an open source software suite for reading bar codes from various sources, such as video streams, image files and raw intensity -sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, -Interleaved 2 of 5 and QR Code. Included with the library are basic +sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 93, Code 39, +Codabar, Interleaved 2 of 5 and QR Code. Included with the library are basic applications for decoding captured bar code images and using a video device (eg, webcam) as a bar code scanner. For application developers, language bindings are included for C, C++, Python and Perl as well as GUI widgets for diff -r 563557a923d0 TODO --- a/TODO Tue Oct 27 11:25:59 2009 -0400 +++ b/TODO Fri Feb 22 08:54:29 2013 -0300 @@ -25,7 +25,6 @@ * Code 39, i25 optional features (check digit and ASCII escapes) * handle Code 128 function characters (FNC1-4) * Code 128 trailing quiet zone checks - * finish addon decoding decoder: * start/stop/abort and location detail APIs (PDF417, OMR) diff -r 563557a923d0 android/AndroidManifest.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/android/AndroidManifest.xml Fri Feb 22 08:54:29 2013 -0300 @@ -0,0 +1,15 @@ + + + + + + + + + + + diff -r 563557a923d0 android/ChangeLog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/android/ChangeLog Fri Feb 22 08:54:29 2013 -0300 @@ -0,0 +1,2 @@ +version 0.1: + * Add initial support for Android platform diff -r 563557a923d0 android/README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/android/README Fri Feb 22 08:54:29 2013 -0300 @@ -0,0 +1,112 @@ +ZBar Android SDK +================ + +ZBar Bar Code Reader is an open source software suite for reading bar +codes from various sources, such as video streams, image files and raw +intensity sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128, +Code 93, Code 39, Codabar, Interleaved 2 of 5, QR Code and +DataBar. These are the JNI wrappers for developing the library on +Android platform. + +Check the ZBar home page for the latest release, mailing lists, etc. + http://zbar.sourceforge.net/ + +Copyright and License +--------------------- +Licensed under the GNU Lesser General Public License, version 2.1. +http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt + +Copyright 2008-2012 © Jeff Brown et al + +The Android distribution also includes pre-compiled binaries of +supporting libaries, for which copyright, license and source code +locations are as follows: + * The GNU libiconv character set conversion library + Copyright (C) 1999-2011 Free Software Foundation, Inc. + This distribution includes GNU libiconv version 1.14, licensed under + the LGPL version 2. The source code is available from + http://www.gnu.org/software/libiconv + +See included files COPYING and LICENSE for details. + + +Installation +------------ + +After downloading the ZBar-Android-Lib-.zip file, you need to +unzip the file and add it to your Android project. Unzip the file +using your favorite method (ie: command-line, finder, windows +explorer...) + +Follow one of the two options. +Option 1 - via command line + cd + cp -r ZBar-Android-SDK-/libs . + +Option 2 - via Eclipse + Right click on Android Project + Select "Import" -> "File System" + Select "Browse" (next to "From directory File" and select the + ZBar-Android-SDK-/libs directory and click "Open". + Click the check box next to "libs" and the "Options" "Create top-level folder" + check box (below). + Then click "Finish". + + You should then see a "libs" folder under your project. + +Building +-------- + +Via Eclipse +You have to add the zbar.jar file to your build path + 1) select zbar.jar under libs + 2) right-click, select "Build Path" -> "Add to Build Path" + +Via command-line +You are all set; ant will automatcially find jar files under the "libs" +subdirectory. + +Documentation +------------- + TDB + +Examples +-------- + +You should be able to open and build the examples directly from the +unzipped directory. You will need to run the android tools to setup +the local.properties file which sets sdk.dir. + 1) cd /examples/CameraTest + 2) android update project --path . + 3) ant debug install + +If you have problems with this, please create a new Android project +and copy the necessary files from the examples. + +examples/CameraTest is a simple demonstration of how to integrate the +ZBar image scanner with the camera. + +Manually building ZBar JNI library +---------------------------------- +First download and unzip the iconv library source from + http://www.gnu.org/software/libiconv/ + +Then kick off the build from the ZBar android directory. You will +need to run the android tools to setup the local.properties file which +setups sdk.dir. + + 1) cd /android + 2) android update project --path . + 3) ant -Dndk.dir= -Diconv.src= zbar-all + +This will rebuild all source files, create zbar.jar and +ZBarAndroidSDK.zip file (which bundles the jar and shared +libraries). From here, you can follow the steps for "Integrating ZBar +JNI library in Android project". + +To clean run: + ant -Dndk.dir= zbar-clean + +See build-ndk.xml for additional target options. + + diff -r 563557a923d0 android/ant.properties --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/android/ant.properties Fri Feb 22 08:54:29 2013 -0300 @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff -r 563557a923d0 android/build-ndk.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/android/build-ndk.xml Fri Feb 22 08:54:29 2013 -0300 @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 563557a923d0 android/build.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/android/build.xml Fri Feb 22 08:54:29 2013 -0300 @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff -r 563557a923d0 android/examples/CameraTest/AndroidManifest.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/android/examples/CameraTest/AndroidManifest.xml Fri Feb 22 08:54:29 2013 -0300 @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + diff -r 563557a923d0 android/examples/CameraTest/ant.properties --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/android/examples/CameraTest/ant.properties Fri Feb 22 08:54:29 2013 -0300 @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff -r 563557a923d0 android/examples/CameraTest/build.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/android/examples/CameraTest/build.xml Fri Feb 22 08:54:29 2013 -0300 @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff -r 563557a923d0 android/examples/CameraTest/proguard.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/android/examples/CameraTest/proguard.cfg Fri Feb 22 08:54:29 2013 -0300 @@ -0,0 +1,40 @@ +-optimizationpasses 5 +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-dontpreverify +-verbose +-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* + +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Application +-keep public class * extends android.app.Service +-keep public class * extends android.content.BroadcastReceiver +-keep public class * extends android.content.ContentProvider +-keep public class * extends android.app.backup.BackupAgentHelper +-keep public class * extends android.preference.Preference +-keep public class com.android.vending.licensing.ILicensingService + +-keepclasseswithmembernames class * { + native ; +} + +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet); +} + +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet, int); +} + +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} + +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} diff -r 563557a923d0 android/examples/CameraTest/project.properties --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/android/examples/CameraTest/project.properties Fri Feb 22 08:54:29 2013 -0300 @@ -0,0 +1,11 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 diff -r 563557a923d0 android/examples/CameraTest/res/layout/main.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/android/examples/CameraTest/res/layout/main.xml Fri Feb 22 08:54:29 2013 -0300 @@ -0,0 +1,28 @@ + + + + + + + +