After an initial test, I was able to notice the issue as you mentioned by using your barcode image. I found Datamatrix barcode value has leading space in code text.
But we need to evaluate your issue in detail. We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.
Issue ID(s): BARCODENET-38970
You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.
Aspose.Barcode recognizes current DataMatrix with value (with leading space before 2):
" 21111231"
Other engines recognizes current DataMatrix with the same value. DataMatrix is a part of the family of 2D barcodes and uses Reed–Solomon error correction. In most cases it cannot be read incorrectly (unlike 1D barcodes).
This is good investigation. I appreciate it. I am not familiar with the inner workings of the Datamatrix standard, so this looked like a bug. Again, I really appreciate the effort.