1
0
mirror of https://git.code.sf.net/p/zint/code synced 2025-12-19 02:47:06 +00:00

DATAMATRIX: make EOD encodation strictly ISO 16022 compliant

This commit is contained in:
gitlost
2021-02-23 00:01:15 +00:00
parent 63053c4c0f
commit 88d1a9f625
35 changed files with 2112 additions and 1264 deletions

View File

@@ -231,10 +231,10 @@ static int c1_look_ahead_test(const unsigned char source[], const int sourcelen,
byte_count += 1.0f; /* Step P2 */
}
/* If not end of data and at least 4 characters processed */
/* If at least 4 characters processed */
/* NOTE: different than spec, where it's at least 3, but that ends up suppressing C40/TEXT/EDI.
BWIPP uses 4, as does very similar Data Matrix ISO/IEC 16022:2006 Annex P algorithm */
if (sp + 1 != sourcelen && sp >= position + 3) {
BWIPP also uses 4 (cf very similar Data Matrix ISO/IEC 16022:2006 Annex P algorithm) */
if (sp >= position + 3) {
/* Step Q */
float cnt;
ascii_rnded = (int) ceilf(ascii_count);