Commit Graph

208 Commits

Author SHA1 Message Date
Project Nayuki
4eb5dfaa25 Moved QrCodeGeneratorDemo.java out of the package because it's an informal demo and not a core library feature; this also simplifies the Maven build process. 2021-08-08 16:21:49 +00:00
Project Nayuki
3562aceb20 Added more blank lines to Java POM file. 2021-08-08 04:56:01 +00:00
Project Nayuki
da7ad83c5c Updated Java POM configuration to exclude QrCodeGeneratorDemo because it's not core library functionality. 2021-08-01 01:22:45 +00:00
Project Nayuki
8f9c1be974 Added new public functions QrSegment.{isNumeric(),isAlphanumeric()} and privatized the regexes in {Java, TypeScript, Python}, because the regexes are awkward compared to a clean abstraction. 2021-07-28 19:55:24 +00:00
Project Nayuki
201993945d In Java and TypeScript versions, added parameters for custom module colors when rendering to SVG. 2021-07-28 18:01:41 +00:00
Project Nayuki
bfd18b2fb8 In Java version, added parameters for custom module colors when rendering to BufferedImage, changed some demo code to use non-black/white colors. 2021-07-28 17:48:21 +00:00
Project Nayuki
764749bd8a Added spaces around multiplication operators in QrCode.getAlignmentPatternPositions() for all language versions, for consistency with other code. 2021-07-28 17:32:33 +00:00
Project Nayuki
2261248957 Removed the test worker program in every language and the Python batch tester, because this is not core functionality and is hard to explain. 2021-07-28 17:09:18 +00:00
Project Nayuki
6cd17bb9fb In Java version: moved QrCode.toSvgString() out of the library and into the runnable demo program, slightly adapted some code, updated documentation comments. 2021-07-28 17:06:27 +00:00
Project Nayuki
010410be02 In Java version: moved QrCode.toImage() out of the library and into the runnable demo program, slightly adapted some code, updated documentation comments. 2021-07-28 17:05:35 +00:00
Project Nayuki
1fd0216dfe Changed the word "black" to "dark" in {comments, local variables,} in order to match the vocabulary in the QR Code specification document. 2021-07-27 23:35:06 +00:00
Project Nayuki
99e7d59383 Changed the word "white" to "light" in {comments, local variables, a private C function} in order to match the vocabulary in the QR Code specification document. 2021-07-27 23:34:00 +00:00
Project Nayuki
68b2b7782b Simplified Java and C++ code to remove unnecessary this, also improving consistency with other field assignments, enabled by a local variable renaming in commit 67c62461d3. 2021-07-24 21:54:42 +00:00
Project Nayuki
71c75cfeb0 Tweaked Java Maven POM configuration. 2020-03-05 19:00:48 +00:00
Project Nayuki
fd849b188c Updated package version numbers. 2020-03-05 17:46:11 +00:00
Project Nayuki
13a25580a3 Simplified QrCode.getPenalty() in all language versions except Rust, related to commit 1439e8e4a5. 2020-01-29 17:52:21 +00:00
Project Nayuki
ae22a368bb De-optimized a bit of Java code to tighten scope at the expense of allocating more temporary memory. 2020-01-29 17:23:44 +00:00
Project Nayuki
67c62461d3 Renamed some method parameters to completely avoid variable shadowing, in C++ and Java versions. 2019-10-14 00:20:16 +00:00
Project Nayuki
6e088f72d3 Added an assertion to QrCode.getNumRawDataModules() in all language versions. 2019-09-13 04:09:42 +00:00
Project Nayuki
20e904578e Updated readme text in multiple programming language versions. 2019-07-30 20:44:38 +00:00
Project Nayuki
8407d37839 Updated package version numbers. 2019-07-14 17:15:03 +00:00
Project Nayuki
b7c9ccfff9 Simplified and clarified a few bits of code, without changing behavior. 2019-07-14 17:11:28 +00:00
Project Nayuki
b5aaadf758 Demoted ReedSolomonGenerator from a class to a set of functions, and changed some names and comments, in all languages except C. This reduces code verbosity but doesn't change public APIs or visible behavior. The code organization is similar to the finder-like-pattern-detector feature. 2019-07-14 16:54:00 +00:00
Project Nayuki
cc9176cdbe Removed a blank line for stylistic consistency. 2019-07-14 03:12:18 +00:00
Project Nayuki
6794ebefa7 Inlined the Java-version finder-like pattern detector into the penalty score calculation logic in a non-trivial way, keeping behavior identical but reducing {declarations, computations, comments, explanations}. 2019-07-06 01:59:24 +00:00
Project Nayuki
1ca214499b Renamed a local variable in all language versions (although the Java version has different logic). 2019-07-06 01:43:20 +00:00
Project Nayuki
b2ff7ce765 Replaced the finder-like pattern detection algorithm with a more sophisticated and accurate one, including documentation comments, only for the Java version of the library. This fixes nearly all the false negatives/positives in the previous implementation. 2019-06-23 03:40:03 +00:00
Project Nayuki
04e1942b16 Tweaked a Javadoc comment. 2018-11-05 04:20:09 +00:00
Project Nayuki
fd083f70e8 Reordered calls to applyMask()/drawFormatBits() for conceptual clarity, without changing output (because masks don't affect format bits), in all language versions. 2018-11-04 19:26:33 +00:00
Project Nayuki
8e54f6ffa6 Added a working Maven pom.xml file, in order to release the library on The Central Repository.
The POM content was made with tremendous help from these reference documentation:
- https://maven.apache.org/pom.html
- https://central.sonatype.org/pages/apache-maven.html
2018-11-02 00:37:35 +00:00
Project Nayuki
5483653b53 Moved Java source files into new subdirectories for Maven standard layout. 2018-10-27 03:02:36 +00:00
Project Nayuki
52b885fae1 Updated Java code - changed QrSegmentAdvanced.makeSegmentsOptimally() to throw DataTooLongException and synchronize logic and Javadoc with QrCode class, changed Javadoc of DataTooLongException. 2018-10-27 02:14:52 +00:00
Project Nayuki
af872343c0 Completely rewrote the algorithm for detecting finder-like patterns, making it more accurate and compliant with the QR Code specification, in all languages. 2018-10-26 06:53:12 +00:00
Project Nayuki
5ac0e2a938 Inverted some if-else statements in QrCode.getPenaltyScore() without changing behavior, in all languages. 2018-10-26 05:24:21 +00:00
Project Nayuki
111b20b2b9 Tweaked logic in QrCode.getPenaltyScore() for future expansion, without changing behavior, in all languages. 2018-10-26 05:21:34 +00:00
Project Nayuki
a14de3d959 Renamed colorX, colorY local variables in QrCode.getPenaltyScore() to just color, in all language versions. 2018-10-26 03:47:04 +00:00
Project Nayuki
c36c4a28eb Updated Java, C++, Python, Rust worker programs to catch the new exception; removed error message string comparisons. 2018-10-26 02:42:35 +00:00
Project Nayuki
8da8107cc2 Updated QrCode.encodeSegments() to throw DataTooLongException - in Java, C++, Python, Rust code. Rust code also changes return types from Option to Result. Updated Java and Rust documentation. 2018-10-26 02:42:04 +00:00
Project Nayuki
4635e8a8a8 Added new unused "data too long" exception/error class to Java, C++, Python, Rust code. 2018-10-26 02:39:46 +00:00
Project Nayuki
f2ea49b7d4 Tweaked QrCode.drawFormatBits() to use end-exclusive range in second copy for clarity, in most languages. 2018-10-13 19:54:30 +00:00
Project Nayuki
13e4b5b310 Added Java package summary Javadoc comment. 2018-10-07 20:43:23 +00:00
Project Nayuki
35f3b292e7 Converted Javadoc comments of non-public members of Java QrSegment class to informal comments. 2018-10-07 06:12:46 +00:00
Project Nayuki
950955a4c5 Renamed QrSegment.getBits() to getData() in {Java, JavaScript, TypeScript, Python} code, to match C++ and Rust. 2018-10-06 04:49:04 +00:00
Project Nayuki
b7922a8dce Tweaked code slightly. 2018-10-06 04:48:47 +00:00
Project Nayuki
c7bc281e18 Inlined BitBuffer.getBytes() into its single usage (with simplification because the bit length is a multiple of 8) in most language versions, synchronized comment and variable name in Rust version. 2018-10-06 04:44:03 +00:00
Project Nayuki
f4b16f25b0 Updated documentation comment for field QrCode.modules, in most languages. 2018-10-06 03:40:31 +00:00
Project Nayuki
efed57782e Updated Javadoc-specific sections of the Java QrSegment class to add not-null qualifications. 2018-10-06 03:29:57 +00:00
Project Nayuki
012d4a3e5f Updated Javadoc-specific sections of documentation comments in Java classes. 2018-10-06 03:29:38 +00:00
Project Nayuki
f011e52770 Updated and synchronized documentation comments for QrCode's instance methods, in all languages. 2018-10-06 03:26:54 +00:00
Project Nayuki
76f97dd0b8 Updated and synchronized documentation comments for QrCode class's constructor and static factory functions, in all languages. 2018-10-06 03:11:03 +00:00