The LIBDLMCLIB Library

The Maxicode Kit for Mac OS-X does NOT generate characters that can be displayed in a font to produce Maxicode symbols.

It does produce a pattern string (using the getPattern() function) and a map of pixels (using the getBits() function) representing the pixel pattern of the Maxicode symbol.

The getPattern(char * szout, int isteer) function return the length of the pattern string if isteer=1, or copies the pattern string into the buffer pointed to by szout if isteer=0. The pattern string represents the pixels of the Maxicode symbol when produced at a resolution (in pixels per inch) specified by the dpi parameter of the previous barcode() call

I=barcode(datain, strlen(datain), NULL, 0, imode, dpi, 0)

The library supports resolutions between 200 and 400 dpi, with recommended values of 200, 300 and 400 dpi. For higher resolutions developers should use a scaled up version of one of the recommended resolutions. For example, for 600 dpi use the 300 dpi symbol scaled up by a factor of 2 in each direction, while for 1200 dpi use the 400 dpi symbol scaled up a factor of 3 in each direction.

The pattern string contains 1s for black pixels, 0s for white pixels, and each line of pixels is terminated by a newline character (ASCII 10). A small section of a typical symbol  pattern is shown below.

 

00000000000000000000000000000000000000000000000000000000000000000
00000000000110000000000001100000000000011000000000000110000000000
00000000001111000000000011110000000000111100000000001111000000000
00000000011111100000000111111000000001111110000000011111100000000
00000000011111100000000111111000000001111110000000011111100000000
00000000011111100000000111111000000001111110000000011111100000000
00000000001111000000000011110000000000111100000000001111000000000
00000000000110000000000001100000000000011000000000000110000000000
00000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000
00001100000000000011000000000000110000000000001100000000000011000
00011110000000000111100000000001111000000000011110000000000111100
00111111000000001111110000000011111100000000111111000000001111110
00111111000000001111110000000011111100000000111111000000001111110
00111111000000001111110000000011111100000000111111000000001111110
00011110000000000111100000000001111000000000011110000000000111100
00001100000000110011000000001100110000000011001100000000110011000
00000000000001111000000000011110000000000111100000000001111000000
00000000000011111100000000111111000000001111110000000011111100000
00000000000011111100000000111111000000001111110000000011111100000
00000000000011111100000000111111000000001111110000000011111100000

 

More:

getBits()