Code39Extended Checksum Is Wrong


#1

We are using Aspose.BarCode for .NET (version 18.8.0 from the NuGet package feed) to generate a barcode with the EncodingType set to EncodeTypes.Code39Extended.
The checksum is enabled using both settings to show the checksum. If the created image is scanned (using a regular barcode scanner for smartphones), the checksum is wrong.

Example:
Code text: “XFVOM”
Expected checksum: “$” (values of characters = 125, modulo 43 = 39, 39 = “$”)
Actual checksum: “+” (wrong)

Code

using (var bcBuilder = new BarCodeBuilder())
{
    bcBuilder.CodeText = codeText;
    bcBuilder.CodeTextEncoding = Encoding.UTF8;
    bcBuilder.EncodeType = EncodeTypes.Code39Extended;
    bcBuilder.EnableChecksum = EnableChecksum.Yes;
    bcBuilder.AlwaysShowChecksum = true;
    bcBuilder.Save(saveFilePath, BarCodeImageFormat.Png);
}

Generated file is attached.

wrongchecksum-20180914-154603.png (432 Bytes)


#2

@markus.estermann

While using EncodeTypes.Code39Extended, it returns “+” as checksum but if we use EncodeTypes.Code39Standard then it returns “$” as checksum.

Please find the sample code below:

using (var bcBuilder = new BarCodeBuilder())
{
     bcBuilder.CodeText = codeText;
     bcBuilder.CodeTextEncoding = Encoding.UTF8;
     bcBuilder.EncodeType = EncodeTypes.Code39Standard;
     bcBuilder.EnableChecksum = EnableChecksum.Yes;
     bcBuilder.AlwaysShowChecksum = true;
     bcBuilder.Save(dataDir + "checksum_out.png", BarCodeImageFormat.Png);
}

Moreover, we have logged this issue with ID “BARCODENET-36995” for further investigation using EncodeTypes.Code39Extended. You will automatically be notified here once we have more information.


#3

Hi,
Thank you for taking action. I see the issue has been resolved.
Can I expect the fix to be included in version 18.9.0?


#4

@markus.estermann

Yes, the issue shall be resolved in our next version of Aspose.BarCode for .NET 18.9.


#5

Using the same code but having updated to the new version 18.9, I can confirm this example now produces the correct checksum in the output when using the Code39Extended. Thanks!

Barcode_nowCorrectChecksum.png (432 Bytes)


#6

@markus.estermann

Thank you very much for your feedback.
You are always welcome and please feel free to write us if you have any query in future.