Commit Graph

218 Commits (df44e259d1dabad66b4450aa657c0b2d91202f88)

Author SHA1 Message Date
Project Nayuki df44e259d1 Added a paragraph to partially synchronize all readme files and package-level documentation comments.
3 years ago
Project Nayuki 7a052cc5b2 Removed references to other programming languages within language-specific overview/readme text.
3 years ago
Project Nayuki 50f0c4b5bc Tweaked some of QrSegment.makeEci()'s integer literals to binary notations in most language ports.
3 years ago
Project Nayuki c7ab2582aa Added value range assertions to QrCode.getPenaltyScore(), in all language ports.
3 years ago
Project Nayuki 41b90335d9 Inlined Java handleConstructorMasking() and tweaked comments to correspond to other language ports.
3 years ago
Project Nayuki db4ad0bda8 Hyphenated a phrase.
3 years ago
Project Nayuki 4c74eea03e Generalized the Java API to accept CharSequence instead of String, which can be helpful if the input is a temporary StringBuilder. This is possible because almost all functions read characters and convert them to another representation in a new buffer instead of storing the input string immutably.
3 years ago
Project Nayuki 72037f3047 Added string length limit and integer value range assertions to QrSegmentAdvanced.computeCharacterModes(). This fixes int32 overflow for ridiculously long input strings (somewhere around 2^23 characters), which are impossible to put in a QR Code anyway.
3 years ago
Project Nayuki 4d13c303dc Updated package version numbers.
3 years ago
Project Nayuki c614fd1ff8 Added Java module declaration, updated POM to compile module as Java 9 but all other classes as Java 8.
3 years ago
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.
3 years ago
Project Nayuki 3562aceb20 Added more blank lines to Java POM file.
3 years ago
Project Nayuki da7ad83c5c Updated Java POM configuration to exclude QrCodeGeneratorDemo because it's not core library functionality.
3 years ago
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.
3 years ago
Project Nayuki 201993945d In Java and TypeScript versions, added parameters for custom module colors when rendering to SVG.
3 years ago
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.
3 years ago
Project Nayuki 764749bd8a Added spaces around multiplication operators in QrCode.getAlignmentPatternPositions() for all language versions, for consistency with other code.
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
Project Nayuki 71c75cfeb0 Tweaked Java Maven POM configuration.
5 years ago
Project Nayuki fd849b188c Updated package version numbers.
5 years ago
Project Nayuki 13a25580a3 Simplified QrCode.getPenalty() in all language versions except Rust, related to commit 1439e8e4a5.
5 years ago
Project Nayuki ae22a368bb De-optimized a bit of Java code to tighten scope at the expense of allocating more temporary memory.
5 years ago
Project Nayuki 67c62461d3 Renamed some method parameters to completely avoid variable shadowing, in C++ and Java versions.
5 years ago
Project Nayuki 6e088f72d3 Added an assertion to QrCode.getNumRawDataModules() in all language versions.
5 years ago
Project Nayuki 20e904578e Updated readme text in multiple programming language versions.
5 years ago
Project Nayuki 8407d37839 Updated package version numbers.
5 years ago
Project Nayuki b7c9ccfff9 Simplified and clarified a few bits of code, without changing behavior.
5 years ago
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.
5 years ago
Project Nayuki cc9176cdbe Removed a blank line for stylistic consistency.
5 years ago
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}.
5 years ago
Project Nayuki 1ca214499b Renamed a local variable in all language versions (although the Java version has different logic).
5 years ago
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.
6 years ago
Project Nayuki 04e1942b16 Tweaked a Javadoc comment.
6 years ago
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.
6 years ago
Project Nayuki 8e54f6ffa6 Added a working Maven pom.xml file, in order to release the library on The Central Repository.
6 years ago
Project Nayuki 5483653b53 Moved Java source files into new subdirectories for Maven standard layout.
6 years ago
Project Nayuki 52b885fae1 Updated Java code - changed QrSegmentAdvanced.makeSegmentsOptimally() to throw DataTooLongException and synchronize logic and Javadoc with QrCode class, changed Javadoc of DataTooLongException.
6 years ago
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.
6 years ago
Project Nayuki 5ac0e2a938 Inverted some if-else statements in QrCode.getPenaltyScore() without changing behavior, in all languages.
6 years ago
Project Nayuki 111b20b2b9 Tweaked logic in QrCode.getPenaltyScore() for future expansion, without changing behavior, in all languages.
6 years ago
Project Nayuki a14de3d959 Renamed colorX, colorY local variables in QrCode.getPenaltyScore() to just color, in all language versions.
6 years ago
Project Nayuki c36c4a28eb Updated Java, C++, Python, Rust worker programs to catch the new exception; removed error message string comparisons.
6 years ago
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.
6 years ago
Project Nayuki 4635e8a8a8 Added new unused "data too long" exception/error class to Java, C++, Python, Rust code.
6 years ago
Project Nayuki f2ea49b7d4 Tweaked QrCode.drawFormatBits() to use end-exclusive range in second copy for clarity, in most languages.
6 years ago