Project Nayuki
9e81969139
Added a comment in Java QrSegmentAdvanced.makeSegmentsOptimally() functions to be consistent with QrCode.encodeSegments().
3 years ago
Project Nayuki
5990e6a99c
- In the project (top-level) readme file, kept one language's code example and moved all others out to language-specific readme files.
...
- Added a readme file for each programming language implementation (port) if it didn't already have one, mostly by copying the project readme text, and then added/edited a couple of feature points.
3 years ago
Project Nayuki
d02fe511cc
Updated the content of language-specific readme files and package-level documentation comments.
3 years ago
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.
...
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
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