Commit graph

320 commits

Author SHA1 Message Date
srowen 5f817c69b6 Address a small but clear bug in detector logic
git-svn-id: https://zxing.googlecode.com/svn/trunk@678 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-11-08 14:27:08 +00:00
srowen 41a386f04c Attempt to make encoding detection slightly more accurate -- rule out Shift_JIS in a few more cases
git-svn-id: https://zxing.googlecode.com/svn/trunk@677 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-11-08 14:25:36 +00:00
srowen 56644b1af2 Small additional error check in decoder
git-svn-id: https://zxing.googlecode.com/svn/trunk@674 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-11-06 19:14:48 +00:00
dswitkin c4a28fa4a7 Made some temporary changes to make throwing ReaderExceptions more efficient. Long term, we need to delete this class and change the decoders to return errors instead of throwing.
git-svn-id: https://zxing.googlecode.com/svn/trunk@669 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-11-05 19:16:27 +00:00
srowen e6e3472471 Renamed UPC result type to Product, and introduced an idea of 'product ID' and 'normalized product ID' to account for UPC-E, where the actual visible ID is different from what we may want to search for as a key. Updated clients to use this too.
git-svn-id: https://zxing.googlecode.com/svn/trunk@668 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-11-04 12:08:19 +00:00
dswitkin 1dc71920e9 Another round of optimization, focused on reusing arrays and small objects.
git-svn-id: https://zxing.googlecode.com/svn/trunk@665 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-11-02 16:07:36 +00:00
srowen 14e22bd443 Revamp the character encoding detection to use a more complicated but still crude algorithm that detects more Shift_JIS sequences correctly.
git-svn-id: https://zxing.googlecode.com/svn/trunk@664 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-11-02 12:22:33 +00:00
srowen 70732c334e Now more lenient in detecting Shift_JIS to detect more byte sequences as Shift_JIS
git-svn-id: https://zxing.googlecode.com/svn/trunk@662 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-11-02 10:30:09 +00:00
dswitkin a8b57c466d Discovered that our 1D Readers were being reallocated for every row scanned - yikes! I made them reusable across both rows and different scans. This saved 26 ms on the worst case rejection. We can now consistently reject any 240x240 image on Android in 150 ms or less, checking all 7 formats.
git-svn-id: https://zxing.googlecode.com/svn/trunk@661 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-11-01 02:31:05 +00:00
srowen 5a5987df88 Allow up to 3 superfluous bits at end of stream
git-svn-id: https://zxing.googlecode.com/svn/trunk@659 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-31 18:49:54 +00:00
dswitkin 8671371c59 Did a big refactoring on the MonochromeBitmapSource. I removed all the caching luminance calls and converted them to getting luminance data on demand. This saved another 33,000 function calls per rejected scan, good for another 15 ms savings. I also moved the luminance calls to BaseMonochromeBitmapSource and made them protected, to indicate that the decoders shouldn't use them.
Overall the recent optimizations took one rejected scan from 307 to 135 ms, which is definitely noticeable.

WARNING: I am not able to build the Bug or J2ME clients, but I believe they are correct.

git-svn-id: https://zxing.googlecode.com/svn/trunk@656 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-30 18:44:10 +00:00
dswitkin bef3c75048 Fixed a crash in calendar parsing when encountering an illegal VEVENT without newlines.
git-svn-id: https://zxing.googlecode.com/svn/trunk@655 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-30 16:35:26 +00:00
dswitkin 4f7b7d573d Made the data members of BitArray public so they will be inlined. This saves about 60,000 function calls per rejected scan. We can make these private again once we figure out the ProGuard problems with -allowaccessmodification.
git-svn-id: https://zxing.googlecode.com/svn/trunk@653 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-29 21:16:46 +00:00
dswitkin d80cd07064 Made a change to the QR detector which cuts the worst case rejection time from 300 ms to 160 ms, with almost no penalty in decoding ability. Given that we're emphasizing continuous decoding, I feel it's much better to reject the occasional borderline image in half the time, and get on with the next scan.
git-svn-id: https://zxing.googlecode.com/svn/trunk@648 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-29 14:22:44 +00:00
srowen 78da6447b0 Inner class elements now not private since it is pointless and confuses Proguard
git-svn-id: https://zxing.googlecode.com/svn/trunk@647 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-28 15:59:51 +00:00
srowen 96f6428eea Add column caching to MonochromeBitmapSources and use it to improve Data Matrix speed
git-svn-id: https://zxing.googlecode.com/svn/trunk@631 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-22 08:43:56 +00:00
dswitkin f142a9478c Reordered the address book fields to something a little more standard/reasonable.
git-svn-id: https://zxing.googlecode.com/svn/trunk@623 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-17 20:21:29 +00:00
dswitkin 77d29c3d7a Added support for URL to MECARD and VCARD.
git-svn-id: https://zxing.googlecode.com/svn/trunk@622 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-17 16:12:10 +00:00
dswitkin 8cb804ec9e Made a change to 1D decoding which looks for 100% instead of 150% of the start and end patterns when searching for quiet zones, but in exchange for that reduction, we reject rows whose quiet zones would run off either edge of the image.
The result is complete elimination of all false positives in the new batch of 40 images I just checked in. Bettter than that, we come up with a net gain of 38 new barcodes decoded (counting rotation and try harder variations). We even get some of the reflective images that were impossible up to this point.

git-svn-id: https://zxing.googlecode.com/svn/trunk@620 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-15 19:47:34 +00:00
dswitkin c91f427a8b Added a bit of defensive programming in the AlignmentPattern code. There were real world examples where the width passed to AlignmentPatternFinder was zero, which causes BitArray to throw when built with a size of zero. I'm going a little bit farther and not searching extremely small areas either.
Sean, please review.

git-svn-id: https://zxing.googlecode.com/svn/trunk@617 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-14 18:24:23 +00:00
dswitkin ef2f3f8ce0 Expanded calendar parsing to allow more date formats, added some unit tests for ISBN and VEVENTS, and fixed the EAN13-1 test which was failing by one image.
git-svn-id: https://zxing.googlecode.com/svn/trunk@616 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-14 15:56:03 +00:00
dswitkin 7fe2c1c60c Prevented ISBN parsing from happening twice.
git-svn-id: https://zxing.googlecode.com/svn/trunk@610 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-09 18:46:21 +00:00
srowen 83c01f0cee Camel-cased log_table, exp_table vars
git-svn-id: https://zxing.googlecode.com/svn/trunk@609 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-09 12:17:37 +00:00
mschulkind 76b4fa1910 Fixing a comment.
git-svn-id: https://zxing.googlecode.com/svn/trunk@607 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-08 20:52:58 +00:00
mschulkind af555d2409 Renaming two member variables so they no longer share names with their getters.
git-svn-id: https://zxing.googlecode.com/svn/trunk@606 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-08 20:42:04 +00:00
dswitkin 45677f2bb2 Made calendar event parsing more robust, and also reject non-calendar contents a little faster.
git-svn-id: https://zxing.googlecode.com/svn/trunk@604 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-08 15:37:38 +00:00
srowen 773409ed6a Add check for minimal whitespace before/after Code 128, Code 39; a few code tweaks as well
git-svn-id: https://zxing.googlecode.com/svn/trunk@601 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-07 09:53:53 +00:00
srowen 089df8eb7b Added redundant abstract method declarations to maybe work around problems on Nokias
git-svn-id: https://zxing.googlecode.com/svn/trunk@600 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-06 11:43:19 +00:00
srowen b0b0afc172 Added redundant abstract method declarations to maybe work around problems on Nokias
git-svn-id: https://zxing.googlecode.com/svn/trunk@599 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-04 14:46:15 +00:00
dswitkin bacd1469af - Fixed a crash when parsing a particular VCard with a blank entry.
- Trimmed whitespace around many fields to sanitize the results (this is very useful upstream, for example we hyphenate phone numbers on Android but can't tolerate extra whitespace).
- Fixed a bug with 1D result points when scanning upside down - they needed to be mirrored to draw correctly.

git-svn-id: https://zxing.googlecode.com/svn/trunk@592 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-09-29 18:45:00 +00:00
srowen 6db50e0b79 Finally actually fix the Code-128 bug and add tests
git-svn-id: https://zxing.googlecode.com/svn/trunk@588 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-09-24 12:16:41 +00:00
srowen e2b141e1a3 Another fix -- account for CODE_STOP. Add some comments.
git-svn-id: https://zxing.googlecode.com/svn/trunk@585 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-09-22 09:08:57 +00:00
srowen b29b4d2070 Fix bug that would cut out part of result string if final checksum value happened to be the code for a non-printable character
git-svn-id: https://zxing.googlecode.com/svn/trunk@584 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-09-21 11:14:48 +00:00
dswitkin 1ab0f14f41 Made a couple utility methods public.
git-svn-id: https://zxing.googlecode.com/svn/trunk@582 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-09-19 01:10:25 +00:00
dswitkin d45123da9e Added an ISBN parsed result type courtesy of jbreiden.
git-svn-id: https://zxing.googlecode.com/svn/trunk@576 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-09-08 20:54:52 +00:00
srowen 8b5d15cc5c URIParsedResult now has isPossiblyMaliciousURI() to check for username in host, which may be an attempt to mask the host of the URI
git-svn-id: https://zxing.googlecode.com/svn/trunk@570 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-08-21 04:33:42 +00:00
srowen 7dbc556789 Per dominik.wild, added support for "sms:number:body" format URIs
git-svn-id: https://zxing.googlecode.com/svn/trunk@565 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-08-15 16:35:47 +00:00
srowen 966c5a8e97 (Thanks to John White) Make UPC/EAN decoder less picky about white space bordering 1D code
git-svn-id: https://zxing.googlecode.com/svn/trunk@557 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-08-12 18:29:29 +00:00
srowen 7c6276d89b Reverted inadvertent Detector changes that broke unit tests. Fixed test target to definitely exclude non-TestCase classes from tests.
git-svn-id: https://zxing.googlecode.com/svn/trunk@548 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-08-06 16:07:46 +00:00
srowen 3a1d1f1850 Initial checkin of Data Matrix detector. Still needs work, and is not enabled by default.
git-svn-id: https://zxing.googlecode.com/svn/trunk@545 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-08-04 18:37:42 +00:00
srowen 91b0ef1622 Some small improvements in error handling based on exceptions observed at zxing.org
git-svn-id: https://zxing.googlecode.com/svn/trunk@538 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-30 21:58:17 +00:00
srowen dbc1eebc49 Minor style changes; optimized nested loops at end to avoid some redundant computation
git-svn-id: https://zxing.googlecode.com/svn/trunk@537 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-25 15:24:59 +00:00
srowen e413ceae95 Remove dead files (why doesn't this happen automatically on a move?)
git-svn-id: https://zxing.googlecode.com/svn/trunk@535 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-24 21:39:34 +00:00
srowen 124130f6a3 Factor out ECI-related code for reuse with Data Matrix later.
git-svn-id: https://zxing.googlecode.com/svn/trunk@534 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-24 21:37:37 +00:00
srowen a43e928575 Factor out and clarify cross product computation and its use, so it can be reused elsewhere.
git-svn-id: https://zxing.googlecode.com/svn/trunk@527 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-23 18:54:35 +00:00
srowen cebac631ac Added support for "05 Macro" and "06 Macro" in ASCII encodation
git-svn-id: https://zxing.googlecode.com/svn/trunk@526 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-23 18:25:16 +00:00
dswitkin 08d44240aa Modified the library entry point in a way which lets continuous scan clients reuse the same decoding objects at each pass. This is source and semantically compatible with the previous version, so you have to choose to call decodeWithState() to get the benefits. The unit tests cannot use this because they test each image in normal and then try harder mode, which requires changing the hints object.
git-svn-id: https://zxing.googlecode.com/svn/trunk@524 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-22 16:16:21 +00:00
srowen a79fad4b9c Quick shortening of a method in FinderPatternFinder that I just noticed
git-svn-id: https://zxing.googlecode.com/svn/trunk@523 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-21 21:52:43 +00:00
srowen 5c8b0558e1 Enhance GenericResultPoint and move some logic out of qrcode packages for reuse with datamatrix soon
git-svn-id: https://zxing.googlecode.com/svn/trunk@522 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-21 21:48:32 +00:00
srowen 81ef86b634 More refactoring, fixed a small issue in X12 encodation of \r
git-svn-id: https://zxing.googlecode.com/svn/trunk@521 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-21 21:45:37 +00:00
srowen d04099f61b Tiny improvement to toString() visualization of BitMatrix
git-svn-id: https://zxing.googlecode.com/svn/trunk@520 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-18 22:46:26 +00:00
srowen 7fbb81a0ed Fixed problem that is unclear from spec: shift apparently resets after being used in C40/Text encodation. Introduced some locals to reduce array accesses, change char to int where we are really using a numeric type, and tweaked javadoc indentation
git-svn-id: https://zxing.googlecode.com/svn/trunk@519 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-18 22:40:33 +00:00
srowen 4cecc3578d Oops, fix an error introduced in recent change
git-svn-id: https://zxing.googlecode.com/svn/trunk@504 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-09 17:25:44 +00:00
srowen 6d124e1be5 Minor style tweaks
git-svn-id: https://zxing.googlecode.com/svn/trunk@503 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-09 17:24:02 +00:00
srowen 42940c4580 Add iCal support, plus many small changes suggested by code inspection -- mostly making things less visible for now
git-svn-id: https://zxing.googlecode.com/svn/trunk@502 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-08 04:11:24 +00:00
srowen 3feb56ece3 Rename some methods so that they're not technically overloading one another -- maybe slightly better style-wise in Java but reduces complication in port to C++
git-svn-id: https://zxing.googlecode.com/svn/trunk@501 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-07 18:25:19 +00:00
srowen 2a9feb1f49 Added another phone type field to BIZCARD implementation
git-svn-id: https://zxing.googlecode.com/svn/trunk@499 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-03 20:36:06 +00:00
dswitkin 0ddf4bcf96 Don't add a newline at the front of a ParsedResult.
git-svn-id: https://zxing.googlecode.com/svn/trunk@498 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-03 16:35:00 +00:00
srowen 64369b3878 Add BIZCARD support and a little refactoring
git-svn-id: https://zxing.googlecode.com/svn/trunk@494 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-07-01 19:02:03 +00:00
srowen d392d57c67 Now we can support BDAY in DoCoMo MECARD format
git-svn-id: https://zxing.googlecode.com/svn/trunk@493 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-27 19:38:24 +00:00
srowen 0e311f40c9 Standardize getDisplayResult() implementation in parsed results, and fix up web site download page to show one J2ME download
git-svn-id: https://zxing.googlecode.com/svn/trunk@490 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-27 18:55:00 +00:00
srowen 1eab5aba49 Add minimal support for FNC1 mode in QR Code
git-svn-id: https://zxing.googlecode.com/svn/trunk@489 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-27 18:47:31 +00:00
srowen 90297efc57 Added mms:, mmsto: support and tests, plus basic tests for vCard format
git-svn-id: https://zxing.googlecode.com/svn/trunk@488 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-27 18:14:19 +00:00
srowen aa65741586 More refactoring of parsed results / result parsers; added basic vCard support
git-svn-id: https://zxing.googlecode.com/svn/trunk@487 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-27 17:50:47 +00:00
srowen dd57042f9a And fixed the "270" issue: logic error in computing the "skip" allowed after finding two finder patterns when the QR Code was inverted.
git-svn-id: https://zxing.googlecode.com/svn/trunk@486 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-26 22:58:08 +00:00
srowen 621a9f25e9 Switch to integer math in a critical QR Code detector method for speed and tweak a few things before I start investigating this method and the infamous "270 issue"
git-svn-id: https://zxing.googlecode.com/svn/trunk@485 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-26 22:14:53 +00:00
srowen 011e6e9cee Big refactoring of ParsedResult: now split into ResultParser and ParsedResult classes, per Christian's suggestion. This unifies the parsed results that are produced from various input, simplifying client handling of different types.
git-svn-id: https://zxing.googlecode.com/svn/trunk@482 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-26 19:49:38 +00:00
srowen 584564a594 Added ECI for values 0-2 and also standardize character encoding names throughout the code to use the canonical values for java.lang and java.io
git-svn-id: https://zxing.googlecode.com/svn/trunk@468 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-23 17:11:53 +00:00
srowen c9ead4ce8a Added some degree of support for Character Set ECIs
git-svn-id: https://zxing.googlecode.com/svn/trunk@467 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-20 22:38:35 +00:00
dswitkin d713f52437 Tuned the Code 128 parameters:
Right-side up went from 9/40 to 33/40
Upside down went from 8/40 to 34/40

and try harder now gets 39/40.

git-svn-id: https://zxing.googlecode.com/svn/trunk@462 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-20 19:57:48 +00:00
dswitkin 12e5d9462c Fixed a bug in patternMatchVariance() which caused the max individual variance to never eliminate any patterns. As a result, the false positives unit test dropped from 15 to 4. Also did some other minor cleanup.
git-svn-id: https://zxing.googlecode.com/svn/trunk@456 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-19 21:38:48 +00:00
srowen e0db8f9271 Standardize and update all copyright statements to name "ZXing authors" as suggested by open-source team to correctly attribute copyright in a project with contributions from several sources.
git-svn-id: https://zxing.googlecode.com/svn/trunk@455 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-19 20:56:24 +00:00
srowen 24e31c6a9a Correct a few more things about ECI parsing
git-svn-id: https://zxing.googlecode.com/svn/trunk@451 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-19 16:49:04 +00:00
dswitkin 905d44424b Fixed the build.
git-svn-id: https://zxing.googlecode.com/svn/trunk@447 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-19 15:46:39 +00:00
srowen 9ee69fee5a Added, at least, parsing of ECI mode in QR Code
git-svn-id: https://zxing.googlecode.com/svn/trunk@443 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-19 01:37:49 +00:00
srowen 15f34edb52 Simple check in Code 39 reader to determine wide bars vary in width a lot, to cut out most false positives
git-svn-id: https://zxing.googlecode.com/svn/trunk@442 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-18 22:52:45 +00:00
srowen 180e833b3e Improved approach to 1D decoding -- better use of integer math by scaling pattern ratios up to expected number of pixels, rather than the other way. Modified constants accordingly. Also introduced notion of maxium variance that any one bar in a pattern can have and stiill be accepted. Finally, adjusted false-positives test failure limit downward due to recent improvements.
git-svn-id: https://zxing.googlecode.com/svn/trunk@441 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-18 22:12:59 +00:00
srowen 2f9e5ca32b Fix pretty clear bug on Code 128 and 39 readers: reject empty barcodes as a false positive.
git-svn-id: https://zxing.googlecode.com/svn/trunk@440 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-18 21:56:30 +00:00
srowen 4cc490db56 Remove compile-time reference to DataMatrixReader
git-svn-id: https://zxing.googlecode.com/svn/trunk@426 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-12 16:30:01 +00:00
srowen 56c4b6a94d Added build-optimized target to produce optimized core.jar; tests now test optimized version; also removed the dependency from core to MIDP 2.0 as it was just depending on silly IllegalStateException
git-svn-id: https://zxing.googlecode.com/svn/trunk@423 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-12 15:55:42 +00:00
srowen 14895cf9b3 Now use integer math in patternMatchVariance for performance, plus a few other similar style and speed tweaks
git-svn-id: https://zxing.googlecode.com/svn/trunk@422 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-12 15:17:53 +00:00
srowen 038add9da1 Oops one more style change
git-svn-id: https://zxing.googlecode.com/svn/trunk@421 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-12 12:52:18 +00:00
srowen 31b8b3d226 Small tweaks on top of Daniel's excellent refactoring
git-svn-id: https://zxing.googlecode.com/svn/trunk@420 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-12 12:51:26 +00:00
dswitkin 7b2cafe970 Missed one place that needs to cache the luminance data.
git-svn-id: https://zxing.googlecode.com/svn/trunk@419 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-11 23:58:04 +00:00
dswitkin 9adb83bbd3 Refactored the MonochromeBitmapSource hierarchy to share a great deal of code and shrink the derived classes considerably.
git-svn-id: https://zxing.googlecode.com/svn/trunk@418 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-11 23:52:35 +00:00
srowen f5b58916c1 Fix bad logic black point estimator, improving threshold estimation performance (and adjust some == to .equals())
git-svn-id: https://zxing.googlecode.com/svn/trunk@417 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-11 19:59:38 +00:00
srowen 88afca0842 Unify UPC-A reader into EAN-13 reader since EAN-13 is a superset and we can take advantage of the commonality to improve performance.
git-svn-id: https://zxing.googlecode.com/svn/trunk@416 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-11 19:30:57 +00:00
dswitkin f431cae59f - Added support for rotation in our blackbox test framework, and refactored the ways tests are created and run.
- Turned on 0 and 180 degree rotation for all 1D formats.
- Turned on 0, 90, 180, and 270 degree rotation for QR.
- Changed the 1D code to re-enable upside down scanning, with a dramatic improvement in barcodes found and fewer false positives.

git-svn-id: https://zxing.googlecode.com/svn/trunk@411 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-11 00:05:51 +00:00
srowen 2cc9d7f630 Tiny bug fix, need to deal with no query params case correctly
git-svn-id: https://zxing.googlecode.com/svn/trunk@410 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-06-10 19:44:47 +00:00
srowen a73fc5919a Added SMSTO support, added subject/body param support in mailto:, improved handling of mailto: and tel: URIs
git-svn-id: https://zxing.googlecode.com/svn/trunk@402 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-05-23 22:40:13 +00:00
srowen c2c8b2fcfb Added handy toString() methods
git-svn-id: https://zxing.googlecode.com/svn/trunk@401 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-05-23 22:20:10 +00:00
srowen 8d31073968 Detector is now a little more skeptical once it has found 3 confirmed finder patterns -- one may be a false positive, so it also checks to see if the estimated module sizes are "pretty similar". If not, keeps looking.
git-svn-id: https://zxing.googlecode.com/svn/trunk@394 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-05-08 15:12:44 +00:00
srowen 40f2cf1a80 Fix some minor javadoc issues
git-svn-id: https://zxing.googlecode.com/svn/trunk@388 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-05-05 17:56:47 +00:00
srowen 08c7c6fadb Checking in somewhat ugly 'fix' for ArrayIndexOutOfBoundsException in rare cases
git-svn-id: https://zxing.googlecode.com/svn/trunk@385 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-05-05 17:31:31 +00:00
srowen 635d904283 Many more little tweaks from IntelliJ inspections
git-svn-id: https://zxing.googlecode.com/svn/trunk@382 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-05-02 19:18:14 +00:00
srowen 188c7fbecb Added preliminary support for MobileTag formats; not enabled yet.
Added "sms:" URI support.

git-svn-id: https://zxing.googlecode.com/svn/trunk@380 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-05-02 18:39:03 +00:00
dswitkin a816d5d9b1 Changed the parsing logic to refer to EAN-8 and EAN-13 as UPCs as well, so that the clients can recognize them as product barcodes and offer to do a product search.
git-svn-id: https://zxing.googlecode.com/svn/trunk@366 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-18 14:30:02 +00:00
srowen 989dc395f0 Added workaround for NoSuchMethodError on some Nokia JVMs with a superfluous abstract method (thanks Marnix)
git-svn-id: https://zxing.googlecode.com/svn/trunk@364 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-16 00:38:54 +00:00
dswitkin ae54d7a937 Changed how many rows we scan while detecting QR finder patterns. The mobile case dynamically calculates this based on the height of the image, and ranges from a small speedup to a big difference for large inputs. Also changed the try harder case to scan every 3rd line for a 3x speedup. The unit tests have the same success rate as before: 16/20 on qr1, 10/10 on qr2.
git-svn-id: https://zxing.googlecode.com/svn/trunk@354 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-10 20:26:42 +00:00
srowen 1c9b906442 Workaround for codes that fail to include (required) final TERMINATOR mode indicator
git-svn-id: https://zxing.googlecode.com/svn/trunk@351 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-07 22:05:40 +00:00
srowen a5b385e764 Standardize array initializer syntax to use the form without "new type[]", to be consistent and make translation to C++ easier
git-svn-id: https://zxing.googlecode.com/svn/trunk@348 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-07 19:42:35 +00:00
srowen 9c1b4a1393 Make two methods public for easier reuse by third-party implementaitons
git-svn-id: https://zxing.googlecode.com/svn/trunk@345 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-04 16:34:42 +00:00
srowen 5f25bd00a3 Moved the "geo:" fix to the 'right' place
git-svn-id: https://zxing.googlecode.com/svn/trunk@343 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-03 22:18:16 +00:00
mschulkind 87da7e9226 small typo fix.
git-svn-id: https://zxing.googlecode.com/svn/trunk@341 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-03 20:34:30 +00:00
srowen d1d7e96238 At last, removing SKIP_N_BARCODES and separating this logic out in a way that individual projects can implement it on their own. It's a bit too onerous and project-specific to live on in the main code.
git-svn-id: https://zxing.googlecode.com/svn/trunk@340 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-03 16:39:44 +00:00
srowen 28ea8e02f0 Parsing wasn't correctly ignoring the ':' in prefix!
git-svn-id: https://zxing.googlecode.com/svn/trunk@339 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-03 16:12:08 +00:00
srowen 0e7872020c Another fix to ensure that 2 barcodes with the same info are counted separately.
git-svn-id: https://zxing.googlecode.com/svn/trunk@338 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-03 15:39:06 +00:00
srowen 01075819c5 "Skip 0 barcodes" was incorrectly not returning the first barcode found
git-svn-id: https://zxing.googlecode.com/svn/trunk@337 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-02 14:03:02 +00:00
srowen 012a8c0ce7 Fixed same ResultPoint bug in Code 128 and Code 39 reader; added convenient toString() to Result and GenericResultPoint; added arg checking for Result constructor too
git-svn-id: https://zxing.googlecode.com/svn/trunk@336 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-02 13:40:29 +00:00
dswitkin f299f413e0 Fixed the result points for 1D decoding so that we once again get a green line in the Android client across the successful row.
git-svn-id: https://zxing.googlecode.com/svn/trunk@335 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-04-01 21:23:14 +00:00
srowen 11fc234d76 Completed basic support for NFC / NDEF formats applicable to 2D barcodes. Not yet enabled.
git-svn-id: https://zxing.googlecode.com/svn/trunk@329 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-31 20:51:24 +00:00
srowen 683a78256d Improved bounds-checking and point-nudging logic in GridSampler. We should check more than endpoints.
git-svn-id: https://zxing.googlecode.com/svn/trunk@317 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-26 17:01:13 +00:00
srowen 4473c00147 Restored a corrected Reed-Solomon optimization and fixed a small issue in black box test cases
git-svn-id: https://zxing.googlecode.com/svn/trunk@316 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-26 16:22:02 +00:00
srowen c465263306 A few refactorings in anticipation of more formats that needs some common functionality
git-svn-id: https://zxing.googlecode.com/svn/trunk@315 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-26 14:46:57 +00:00
srowen 7de539a67c biasTowardsWhite was, embarassingly, not accomplishing anything mathematically. It proved to not have much value so has been removed, to simplify the code.
git-svn-id: https://zxing.googlecode.com/svn/trunk@313 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-26 14:42:33 +00:00
srowen 5f1428308d Undo optimization that seems to not be correct in all cases -- will have to evaluate again later
git-svn-id: https://zxing.googlecode.com/svn/trunk@312 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-26 14:13:14 +00:00
srowen 3a1e3dc156 Optimized 0- and 1-error case of Reed Solomon decoding a bit
git-svn-id: https://zxing.googlecode.com/svn/trunk@309 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-24 20:02:06 +00:00
srowen eec9cd339f More small improvements to SKIP_N_BARCODES -- now remembers value across invocations of doDecode()
git-svn-id: https://zxing.googlecode.com/svn/trunk@305 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-20 17:08:07 +00:00
srowen 93054c2213 Restored SKIP_N_BARCODES functionality and corrected a logic error
git-svn-id: https://zxing.googlecode.com/svn/trunk@304 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-20 17:01:19 +00:00
srowen 76757bdcd4 More proper support for geo: URLs in Android
git-svn-id: https://zxing.googlecode.com/svn/trunk@301 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-19 20:18:28 +00:00
srowen b0f43f0991 "Try harder" mode now tries 2D formats first. BlackPointEstimator more conservative about rejecting histograms with too little dynamic range. Temporarily deprecated SKIP_N_BARCODES hint.
git-svn-id: https://zxing.googlecode.com/svn/trunk@300 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-19 18:40:52 +00:00
srowen fc2f28080d Take small advantage of "TRY_HARDER" in QR code decoder
git-svn-id: https://zxing.googlecode.com/svn/trunk@299 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-19 17:10:58 +00:00
srowen c28040bc61 Oops, forgot to include in last commit
git-svn-id: https://zxing.googlecode.com/svn/trunk@298 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-19 17:10:11 +00:00
srowen 14a9eb7d20 Fixed bug in rotation code for BufferedImageMonochromeBitmapSource; fixed "SKIP_N_BARCODES" behavior to ignore barcodes already found.
git-svn-id: https://zxing.googlecode.com/svn/trunk@297 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-19 17:09:27 +00:00
srowen efb0fb9e3b Dumb logic error in boundary case for transformation: "nudging" the rightmost pixel of a line back onto the image was actually nudging the leftmost pixel
git-svn-id: https://zxing.googlecode.com/svn/trunk@296 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-19 14:45:49 +00:00
srowen 379c3a8cc0 Add support for tel: URIs
git-svn-id: https://zxing.googlecode.com/svn/trunk@292 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-17 20:17:20 +00:00
srowen 5248fb1a7e Only parse UPC result out of a UPC format code, to avoid "false positives" from other formats
git-svn-id: https://zxing.googlecode.com/svn/trunk@291 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-17 20:16:20 +00:00
srowen 5ae6e5be71 git-svn-id: https://zxing.googlecode.com/svn/trunk@290 59b500cc-1b3d-0410-9834-0bbf25fbcc57 2008-03-17 18:41:10 +00:00
srowen cc06bc326b Fixed naming convention. Everything should be a "ParsedResult"
git-svn-id: https://zxing.googlecode.com/svn/trunk@289 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-17 18:24:26 +00:00
srowen b18107391b Nope, disable link from geo: URL to Google Maps. Does not quite work in the browser yet.
git-svn-id: https://zxing.googlecode.com/svn/trunk@287 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-17 16:50:03 +00:00
srowen 4af9453acf First checkin of support for basic NDEF message types -- not enabled yet
git-svn-id: https://zxing.googlecode.com/svn/trunk@286 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-17 15:35:27 +00:00
srowen 444ec0b00f Add client support for geo URIs
git-svn-id: https://zxing.googlecode.com/svn/trunk@285 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-17 15:16:59 +00:00
srowen fab1e27971 Add geo: URL support (oh and removed an old moved file)
git-svn-id: https://zxing.googlecode.com/svn/trunk@284 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-17 14:57:56 +00:00
srowen bf29a16253 "Try harder" now examines a lot more lines in the image
git-svn-id: https://zxing.googlecode.com/svn/trunk@282 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-14 20:54:12 +00:00
srowen 1215cc3512 Added result metadata mechanism: now, reports orientation for 1D barcodes if it's not an upright orientation
git-svn-id: https://zxing.googlecode.com/svn/trunk@281 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-14 20:49:46 +00:00
srowen b6e14d880d Oops, delete old files that were moved
git-svn-id: https://zxing.googlecode.com/svn/trunk@280 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-14 18:54:09 +00:00
srowen 94e3009849 Changed signature of parse() to take in more general Result
git-svn-id: https://zxing.googlecode.com/svn/trunk@279 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-14 18:53:25 +00:00
srowen 34cc1d2b9d Move GridSampler into common package and refactor to ready it for use with Data Matrix
git-svn-id: https://zxing.googlecode.com/svn/trunk@278 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-14 18:44:41 +00:00
srowen 3219223f9d Trying out a new user-requested decode hint, allowing a caller to skip the first n barcodes found.
git-svn-id: https://zxing.googlecode.com/svn/trunk@276 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-13 19:32:08 +00:00
srowen 5f9237e9d0 Javadoc typo fix
git-svn-id: https://zxing.googlecode.com/svn/trunk@273 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-12 19:27:17 +00:00
srowen d31305c5f6 Temporarily turning off Data Matrix in MultiFormatReader until it's done
git-svn-id: https://zxing.googlecode.com/svn/trunk@271 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-12 19:19:02 +00:00
srowen ea13f8b052 Refactorings to allow raw bytes to be passed back with reader result, where applicable
git-svn-id: https://zxing.googlecode.com/svn/trunk@270 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-12 18:51:46 +00:00
srowen 727cc95858 Fixed a few more extractPureBits() gotchas that came up, and added a couple tests for UPC-E
git-svn-id: https://zxing.googlecode.com/svn/trunk@269 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-11 17:43:32 +00:00
srowen df4e3ac853 Added some needed bounds checking in Data Matrix, QR Code extractPureBits() methods
git-svn-id: https://zxing.googlecode.com/svn/trunk@267 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-11 15:26:45 +00:00
srowen fd1620e753 Small tweaks on this test too
git-svn-id: https://zxing.googlecode.com/svn/trunk@266 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-11 15:05:10 +00:00
srowen 1b36bc820e Completed some modest tweaks to new Data Matrix code based on IntelliJ suggestions
git-svn-id: https://zxing.googlecode.com/svn/trunk@265 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-11 15:01:02 +00:00
briangbrown 916edd548e Added code for the Data Matrix decoder.
Added initial ASCII tests for Data Matrix.
Added test symbols for DataMatrix.
Modified MultiFormatReader to try the DataMatrixReader after 1D and QRCode.



git-svn-id: https://zxing.googlecode.com/svn/trunk@264 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-11 03:48:12 +00:00
srowen 600e93c174 Overdue unit tests for some QR code classes
git-svn-id: https://zxing.googlecode.com/svn/trunk@260 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-10 20:38:00 +00:00
srowen 7a6f72bad4 Move BitSource to common package so that it can be reused by Data Matrix decoder
git-svn-id: https://zxing.googlecode.com/svn/trunk@259 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-10 20:16:57 +00:00
srowen 7d3abc8896 Add support for Android Intent URIs encoded in a barcode
git-svn-id: https://zxing.googlecode.com/svn/trunk@251 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-03-06 16:05:56 +00:00