diff options
Diffstat (limited to 'vendor/github.com/boombuler/barcode/datamatrix/encoder.go')
| -rw-r--r-- | vendor/github.com/boombuler/barcode/datamatrix/encoder.go | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/vendor/github.com/boombuler/barcode/datamatrix/encoder.go b/vendor/github.com/boombuler/barcode/datamatrix/encoder.go deleted file mode 100644 index b8921dc..0000000 --- a/vendor/github.com/boombuler/barcode/datamatrix/encoder.go +++ /dev/null @@ -1,75 +0,0 @@ -// Package datamatrix can create Datamatrix barcodes -package datamatrix - -import ( - "errors" - - "github.com/boombuler/barcode" -) - -// Encode returns a Datamatrix barcode for the given content -func Encode(content string) (barcode.Barcode, error) { - data := encodeText(content) - - var size *dmCodeSize - for _, s := range codeSizes { - if s.DataCodewords() >= len(data) { - size = s - break - } - } - if size == nil { - return nil, errors.New("to much data to encode") - } - data = addPadding(data, size.DataCodewords()) - data = ec.calcECC(data, size) - code := render(data, size) - if code != nil { - code.content = content - return code, nil - } - return nil, errors.New("unable to render barcode") -} - -func render(data []byte, size *dmCodeSize) *datamatrixCode { - cl := newCodeLayout(size) - - cl.SetValues(data) - - return cl.Merge() -} - -func encodeText(content string) []byte { - var result []byte - input := []byte(content) - - for i := 0; i < len(input); { - c := input[i] - i++ - - if c >= '0' && c <= '9' && i < len(input) && input[i] >= '0' && input[i] <= '9' { - // two numbers... - c2 := input[i] - i++ - cw := byte(((c-'0')*10 + (c2 - '0')) + 130) - result = append(result, cw) - } else if c > 127 { - // not correct... needs to be redone later... - result = append(result, 235, c-127) - } else { - result = append(result, c+1) - } - } - return result -} - -func addPadding(data []byte, toCount int) []byte { - if len(data) < toCount { - data = append(data, 129) - } - for len(data) < toCount { - R := ((149 * (len(data) + 1)) % 253) + 1 - data = append(data, byte((129+R)%254)) - } - return data -} |
