BARCODEWRITEDM

typedef struct _tagBARCODEWRITEDM
{
   L_UINT uStructSize;
   L_UINT32 ulFlags;
   L_CHAR cGroupNumber;
   L_CHAR cGroupTotal;
   L_UCHAR cFileIDLo;
   L_UCHAR cFileIDHi;
   L_INT nXModule;
} BARCODEWRITEDM,  * pBARCODEWRITEDM;

The BARCODEWRITEDM structure contains write information for Data Matrix symbols.

Member

Description

uStructSize

Size of the BARCODEWRITEDM structure, in bytes, for versioning. Use the sizeof() macro to calculate the value.

ulFlags

Flags used to configure the engine. You can combine values when appropriate, by using a bitwise OR ( | ). Possible values are:

 

Flags

Meaning

 

BARCODE_JUSTIFY_RIGHT

[0x1000] Justify the Data Matrix symbol to the right side of the bitmap.

 

BARCODE_JUSTIFY_H_CENTER

[0x2000] Justify the Data Matrix symbol in the horizontal center of the bitmap.

 

BARCODE_JUSTIFY_BOTTOM

[0x4000] Justify the Data Matrix symbol to the bottom side of the bitmap.

 

BARCODE_JUSTIFY_V_CENTER

[0x8000] Justify the Data Matrix symbol in the vertical center of the bitmap.

cGroupNumber

Specifies a group of Data Matrix symbols. The maximum number of symbols in a group is 16. Use this member to specify the order of each barcode in a group so that when you read each barcode's data, you can put the large piece of data back together in the correct order.

cGroupTotal

Specifies the total number of Data Matrix symbols in the group specified by the cGroupNumber member. The maximum number of symbols in a group is 16.

cFileIDLo

Specifies the low byte of the file ID number. The number must range from 1 to 254. Use this as an ID for the group since an image can have multiple groups.

cFileIDHi

File ID high byte. Specifies the high byte of the file ID number. The number must range from 1 to 254. Use this as an ID for the group since an image can have multiple groups.

nXModule

The size of the written Data Matrix barcode, specified in 0.001 inch. If the value is too small, a minimum of 5 pixels will be used.

Comments

pBARCODEWRITEDM is a pointer to an BARCODEWRITEDM structure. Where the function parameter type is pBARCODEWRITEDM, you can declare a BARCODEWRITEDM variable, update the structure's fields, and pass the variable's address in the parameter. Declaring a pBARCODEWRITEDM variable is necessary only if your program requires a pointer.

This structure is used by the LBarCode::Write functions.

Use the cGroupNumber, CGroupTotal, CFileIDLo, cFileIDHi members whenever it is necessary to split up the information that needs to be encoded into different barcodes.

The following table contains information for writing Data Matrix barcodes:

Data Matrix type

Maximum Numeric Length

Maximum Alphanumeric Length

Maximum Binary Length

Maximum Correctable Error / Erasure

10 x 10

6

3

1

2

12 x 12

10

6

3

3

14 x 14

16

10

6

5/7

16 x 16

24

16

10

6/9

18 x 18

36

25

16

7/11

20 x 20

44

31

20

9/15

22 x 22

60

43

28

10/17

24 x 24

72

52

34

12/21

26 x 26

88

64

42

14/25

32 x 32

124

91

60

18/33

36 x 36

172

127

84

21/39

40 x 40

228

169

112

24/45

44 x 44

288

214

142

28/53

48 x 48

348

259

172

34/65

52 x 52

408

304

202

42/78

64 x 64

560

418

278

56/106

72 x 72

736

550

366

72/132

80 x 80

912

682

454

96/180

88 x 88

1152

862

574

112/212

96 x 96

1392

1042

694

136/260

104 x 104

1632

1222

814

168/318

120 x 120

2100

1573

1048

204/390

132 x 132

2608

1954

1302

248/472

144 x 144

3116

2335

1556

310/590

8 x 18

10

6

3

3

8 x 32

20

13

8

5

12 x 26

32

22

14

7/11

12 x 36

44

31

20

9/15

16 x 36

64

46

30

12/21

16 x 48

98

72

47

14/25