Added support for DPD code.
Database expanded stacked barcode with AI 255 not working
issue can be closed
Hello Milton Neal, thank you very much for the quick response. With your fix, the issue is resolved. We can fully use your library now in our company. have a nice day!
Hello beytullah gueneyli The issue was a typo in MessageProcessor.cs file. I had 254 instead of 255 for the AI. This is fixed now and have uploaded it to the repository. You can download the file and re-compile the source or download the binary. Let me know how you get on. Cheers Milton
Fix typo in MessageProcessor.cs for AI255
title should be "Databar expanded stacked barcode with AI 255 not working". sorry for the confusion
Hello, First of all, thank you for porting the Zint library to C#. In our company, we are using this project to generate database expanded stacked barcodes. The barcodes we generate have the application identifier of [255] which represents a GCN (general coupon number). Unfortunately, the generation fails with an ZintNetDLLException with the message that the Application identifier is invalid. When I run the portable original Zint application and enter the database expanded stacked barcode, it works....
Database expanded stacked barcode with AI 255 not working
Telepen barcode fix.
Added support for Ultracode.
Code audit and update to copyright message. No functional change.
Hi Vadim Thanks for the feedback. I've re-check all the dm code and all appears correct. Hopefully we have sovled all the issues. :)
Hello Milton! I checked a big list of our barcodes with the new patch, they all generated correct now. (I wrote a small application for barcode checking. It uses a handheld barcode scanner in automatic mode. A list of source string is loaded into the app and it displays generated barcodes one by one, waiting a response from scanner. When response is receved, next barcode is shown, otherwise the app shows an error message.) Thank you again.
Hello, Milton! It seems that it's ok now 010468006519912121SOIP5XD3XtmjV 91002A 92WSV7Nv2lqcL3YH/Fm5hjs4klyF7LjRjojuu2Jhvga/T4ZtH2rJg6WSvn6GsIO7c6VR+Mae8VpqyulBpX/GRP+Q== I'll rebuild my application with your latest patch a bit later and check it once again. Thank you!
Vadim Can you try the lastest patch for me. Thanks Milton
Fix issue with edifact mode processing remainder.
Hello Milton All our existing labels generated correctly, but we found a new string which causes unreadable barcode: [01]04680065199121[21]SOIP5XD3XtmjV[91]002A[92]WSV7Nv2lqcL3YH/Fm5hjs4klyF7LjRjojuu2Jhvga/T4ZtH2rJg6WSvn6GsIO7c6VR+Mae8VpqyulBpX/GRP+Q== I hope it will help to find another reason. Thank you.
Hello Vadim I've uploaded a code fix for DataMatrix.cs to the repository. You can download it into your project. Let me know how you get on. Cheers Milton
ECI bug fix
Hello Vadim As you may know the ZintNet library is a port of the C Zint library. So a lot of code was converted from C to C#. Some of the issues were typing errors in converting the code. Some were bug fixes in the original Zint C code which I hadn't applied to the ZintNet code. In my code I found that an ECI was being inadvertently added the beginning of the symbol, which shouldn't have affected scanning of the barcode, as all you lastest samples scanned correctly with my scanner. I'll look deeper...
For example, some more strings which caused unreadable barcodes. I can't see, what they have in common...
Hello, Milton! What was the exact reason of this bug? How can I find which strings caused this behavior of the library? I'll explain. I work for company that has a huge amount of barcodes for special labels used in its production process. And we want to find which barcodes was generated incorrectly to reissue the labels with them. It's impossible to reissue all labels, so we want to replace only defecive labels. Thank you.
Code updates and refactoring.
Barcodes are not readable
Datamatrix barcode creation error (again)
Great! It works like a charm now. Thank you very much!
Hello Vadim I have uploaded a new patch for the DatamatrixEncoder.cs. You can down load it from the repository. It should fix you issues. Let me know how you get on. Milton
Thank you very much! I'll check it out in a week. Now we are working at home because of the coronavirus! Be healthy!
Hello Sergey I have uploaded a patched version on DatamatrixEncoder.cs. You can download it from the repository. This now generates and scans correctly. I tested this with your sample data. Let me me if you have any more problems. Milton
Bug fixes in Datamatrix encoder - LookAheadTest
Code refactoring and some bug fixes.
Add support for rMQR and refactor code in QR encoder.
https://github.com/micjahn/ZXing.Net/blob/master/Source/lib/datamatrix/encoder/EdifactEncoder.cs private static String encodeToCodewords(StringBuilder sb, int startPos) { int len = sb.Length - startPos; if (len == 0) { throw new InvalidOperationException("StringBuilder must not be empty"); } char c1 = sb[startPos]; char c2 = len >= 2 ? sb[startPos + 1] : (char)0; char c3 = len >= 3 ? sb[startPos + 2] : (char)0; char c4 = len >= 4 ? sb[startPos + 3] : (char)0; int v = (c1 << 18) + (c2 << 12) + (c3...
Zxingb Error 0 void ProcessRemainingData( .... case EDIFACT: .... if (dataBytesLeft == 1) { dataStream.Add((byte)((processBuffer[0] << 2) + ((31 & 0x30) >> 4))); dataStream.Add((byte)((31 & 0x0f) << 4)); dataStream.Add((byte)0); Maybe you don't need to add the last element ZXing https://github.com/micjahn/ZXing.Net/blob/master/Source/lib/datamatrix/decoder/DecodedBitStreamParser.cs /// <summary> /// See ISO 16022:2006, 5.2.8 and Annex C Table C.3 /// </summary> private static bool decodeEdifactSegment(BitSource...
Zxingb Error 0 void ProcessRemainingData( .... case EDIFACT: .... if (dataBytesLeft == 1) { dataStream.Add((byte)((processBuffer[0] << 2) + ((31 & 0x30) >> 4))); dataStream.Add((byte)((31 & 0x0f) << 4)); dataStream.Add((byte)0); Maybe you don't need to add the last element ZXing /// <summary> /// See ISO 16022:2006, 5.2.8 and Annex C Table C.3 /// </summary> private static bool decodeEdifactSegment(BitSource bits, StringBuilder result) { while (bits.available() > 16) { for (int i = 0; i < 4; i++)...
Zxingb Error 0 void ProcessRemainingData( .... case EDIFACT: .... if (dataBytesLeft == 1) { dataStream.Add((byte)((processBuffer[0] << 2) + ((31 & 0x30) >> 4))); dataStream.Add((byte)((31 & 0x0f) << 4)); dataStream.Add((byte)0); May by need add 129
Zxingb Error 0 void ProcessRemainingData( .... case EDIFACT: .... if (dataBytesLeft == 1) { dataStream.Add((byte)((processBuffer[0] << 2) + ((31 & 0x30) >> 4))); dataStream.Add((byte)((31 & 0x0f) << 4)); dataStream.Add((byte)0);
Old DataMatrixEncoder.cs generate good barcode.
Old DataMatrixEncoder.cs generate good second barcode. ZXing In first not first NFC1
3-line barcode [01]04610044273252[21]LRFX)k<C7ApWJ[91]003A[92] K8rNAqdvjmdxsmCVuj3FhaoNzQuq7Uff0sHXfz1TT/ doiMaGQqNF+VPwMvwVbm1fxjzuDt6jxLCcc8o/tqbEDA== other barcode [01]04610044273054[21]g2gsiKr,RFeBP[91]8029[92] 2pCgkX8afzBWSyXmjg9T+z5cpVqo7VltiIwbTHAv2T0 +BfRaCcmul5dVAzU9C2pmNyC041qMxpbsXAXhual/LA==
Barcodes are not readable
Datamatrix barcode creation error (again)
Eroor create Datamatrix
Made tests with different barcodes, no errors! Thank you very much!
Thank you very much!
Image for you to compare.
Hi Sergey, Found the issue you were having with datamatrix encoding. I have uploaded the fix in the DatamatrixEncoder.cs file. You can downloaded and recompile and this should fix your problem. Let me know how you get on. Thanks Milton
Fix issue with Datamatix encoding.
Hi Sergey I tried your input data on my computer using the latest dll version and it generates a correct barcode. Have you got the latest version? Milton
3 strings [01]04620039830186[21]Gznra4z6zGGpR[91]003A[92] 1Ad/gx6aOHPbjxZhr4CuLILQJmvmJTwDAdTQqvel7F21xniRMz8meYtyw2x+ KpRXRS6GWqDxe147Bhe2upm1iQ==
Eroor create Datamatrix
Added ECI support to Dotcode
Thank you very very much,.
Removing Hewlett-Packard ArrayEx.dll dependency
Removing Hewlett-Packard ArrayEx.dll dependency
Hello Anthony, Yes the module is mine. I have update the assembley attributes and re compiled the dll. It now has the correct copyright info etc for the dll. I have uploaded it, so you download it and update your source. Regards Milton
Hello Milton, I am still a bit confused. The ArrayEx.dll included in the project has a copyright of "Copyright © Hewlett-Packard 2017" Are you saying that you wrote that module? I realized that the ArrayEx.cs in the project was not used. I was hoping that it was your attempt to remove that dependency. Anthony
Hi Anthony, ArrayEx.dll was a module I wrote severall years earlier for another project, decided to use it for ZintNet. It has nothing to do with HP other than the computer I wrote the code on was a HP with the computer name Hewlett-Packard, in which Visual Studio picks as the default developers name. In saying all this, I should update this old module , though I have been tossing up to re-write some of the code and do away with this dll altogether. The ArrayEx.cs is in the code repository but not...
Removing Hewlett-Packard ArrayEx.dll dependency
Fix typos in code128 table. Clean up commented lines.
fix possible issue when disposing.
Hello Brian, thanks for bringing this issue to light. I will apply your suggested bug fixs and update the code repository and project files. With thanks ... Milton
NullReferenceException when calling Dispose
Updates to Dotcode Encoder.
Fix enforces length for GSRN
Mailmark bug fix.
Added support for VIN code and Mailmark 4 state barcodes.
Bug fix in Mailmark barcode
Mailmark bug fix
Bug fix Mailmark.cs
Add 4 State method.
Merge branch 'master' of ssh://miltonneal@git.code.sf.net/p/zintnet/code
Added support for VIN code and Mailmark 4 state barcodes.
Enhanced data length checks for GS1 AI's in MessageProcessors
Add multiply to BinaryMath.cs and update encoders that use it.
Refactor code and bug fixes
Added DMRE size 26x40
Add length checking to PostNet and Planet barcodes.