Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

datamatrix: GS1 DataMatrix support added #86

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

danielwhite
Copy link

This addresses #75 in order to generate a compliant GS1 DataMatrix when the FNC1 character is used as a start character in the barcode.

The FNC1 character may also be used as a separator between GS1 element strings that do not have a pre-defined length.

From the GS1 DataMatrix guidelines:

2.2.1 Function 1 Symbol Character (FNC1)

By definition in ISO/IEC 16022 GS1 DataMatrix uses a special
start sequence to differentiate GS1 DataMatrix from other
ISO/IEC Data Matrix symbols. This is achieved by using the
Function 1 Symbol Character (FNC1) in the first position of
the data encoded. It enables scanners to process the
information according to the GS1 System Rules.

The FNC1 (codeword 232) has two separate uses in GS1 DataMatrix:

■ Start character.

■ Separator character to separate element strings that are not
  in the predefined list

This has been tested by using dmtxread to generate codewords from examples in the GS1 DataMatrix Guideline.

@danielwhite danielwhite mentioned this pull request Aug 30, 2024
This supports generating a compliant GS1 DataMatrix when the FNC1
character is used as a start character in the barcode.

The FNC1 character may also be used as a separator between GS1 element
strings that do not have a pre-defined length.

From the GS1 DataMatrix guidelines:

	2.2.1 Function 1 Symbol Character (FNC1)

	By definition in ISO/IEC 16022 GS1 DataMatrix uses a special
	start sequence to differentiate GS1 DataMatrix from other
	ISO/IEC Data Matrix symbols. This is achieved by using the
	Function 1 Symbol Character (FNC1) in the first position of
	the data encoded. It enables scanners to process the
	information according to the GS1 System Rules.

	The FNC1 (codeword 232) has two separate uses in GS1 DataMatrix:

	■ Start character.

	■ Separator character to separate element strings that are not
	  in the predefined list

See: https://www.gs1.org/standards/gs1-datamatrix-guideline/25
@danielwhite
Copy link
Author

@boombuler, I'd appreciate a look at this PR when you get an opportunity. Is there anything else you might want covered here?

We've been running this in production for around a week now and have additional validation from a carrier that their scanners can read the resulting GS1 DataMatrix symbols.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant