Are there any open source libraries that allows to create a custom, self made 2D barcode algorithm and design? If not, where to start?