automatic.go raw

   1  package qr
   2  
   3  import (
   4  	"fmt"
   5  
   6  	"github.com/boombuler/barcode/utils"
   7  )
   8  
   9  func encodeAuto(content string, ecl ErrorCorrectionLevel) (*utils.BitList, *versionInfo, error) {
  10  	bits, vi, _ := Numeric.getEncoder()(content, ecl)
  11  	if bits != nil && vi != nil {
  12  		return bits, vi, nil
  13  	}
  14  	bits, vi, _ = AlphaNumeric.getEncoder()(content, ecl)
  15  	if bits != nil && vi != nil {
  16  		return bits, vi, nil
  17  	}
  18  	bits, vi, _ = Unicode.getEncoder()(content, ecl)
  19  	if bits != nil && vi != nil {
  20  		return bits, vi, nil
  21  	}
  22  	return nil, nil, fmt.Errorf("No encoding found to encode \"%s\"", content)
  23  }
  24