bb60 Posted June 15, 2022 Share Posted June 15, 2022 I have to build by FP Creator a DM for Poste Italiane that requires the following: Error Correction: ECC 200 (Reed-Solomon) Format: Rectangular, 16 x 48 cells X Dimension: 0,508 mm Dimensions (no quiet-zone):2 cells per side (H x L): 8,128 mm x 24,384 mm; Dimensions (with quiet-zone): 2 celle per lato (H x L): 10,160 mm x 26,416 mm; Pixel/Cell: 4 (200 dpi) This has to be built by using 72 alphanumeric chars. I still do not have the input file, so I created a 72 chars txt... I simply created a rule like this (see also zip attached): var FieldOrRuleToEncode = "barcode"; var EncodingMode = "C40"; var PreferredFormat = "29"; var PointSize = StringToNumber("10 pt"); var Font = "IDAutomationDMatrix"; var NoFontTag = false; var ProcessTilde = false; var DataToEncode = FieldOrRule(FieldOrRuleToEncode); return MakeDataMatrixBarcode(DataToEncode, ProcessTilde, EncodingMode, PreferredFormat, PointSize, NoFontTag, Font); And I got a readable SQUARE DM. I guess the PreferredFormat 29 is correct for the rectangular DM, but I got it square: no clue about ECC 200... Any Help? Thank you MaurizioDM.zip Quote Link to comment Share on other sites More sharing options...
Dan Korn Posted June 16, 2022 Share Posted June 16, 2022 The issue is that there's too much data (and the wrong kind of data) for a 16x48 barcode. Your sample data is a mix of digits, upper-case letters, and lower-case letters. The IDAutomation spec says that the C40 encoding mode is "used to encode data that primarily consists of numeric and upper case characters", and that TEXT mode is for numbers and lower-case letters. It also says that the capacity for format 29 (16x48) is 72 alphanumeric characters, but the letters have to all be upper- or lower-case, depending on the encoding mode. And, in fact, if I convert the rule to JavaScript and add this line: DataToEncode = ToUpper(DataToEncode); Then the barcode does appear as 16 x 48. With the original data, it's too much to encode as 16x48, so it uses another mode, something like 32x32, instead. Keep in mind that the format you're specifying is a preferred format, i.e. a minimum size, and that the barcode can get larger than that preferred size as necessary to encode the data. Regarding the ECC200 error correction, that's always used by DataMatrix barcodes, at least with our encoder. Quote Link to comment Share on other sites More sharing options...
bb60 Posted June 17, 2022 Author Share Posted June 17, 2022 Thank you Dan. I verified that customer will use numbers and uppercase letters so I will be able to obtain 16x48 DM's . I guess that I will have to play with pointsize to obtain the DM dimensions I specified above... Do you agree? Thank you Ciao Maurizio Quote Link to comment Share on other sites More sharing options...
Dan Korn Posted June 22, 2022 Share Posted June 22, 2022 (edited) Thank you Dan. I verified that customer will use numbers and uppercase letters so I will be able to obtain 16x48 DM's . I guess that I will have to play with pointsize to obtain the DM dimensions I specified above... Do you agree? Thank you Ciao Maurizio Yes, though you can calculate it. The way the text-based barcodes work, you specify the point size, and each "letter" of the encoded barcode is output as a glyph (character) in the barcode font, in this case the IDAutomationDMatrix font. Each glyph in the font represents four dots (pixels) in the barcode, so each dot will be one-fourth of the point size. So if you want the total height of 16 pixels, which is four lines of characters in the font, to be 8.128 mm, which is 0.32 inches, or 23 points, then we can just divide that 23 points by the four lines of text, to give us a point size of 5.75 points. Edited June 22, 2022 by Dan Korn Fixed height calculcation Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.