gen_charset.py 501 B

123456789101112131415161718192021
  1. #!/usr/bin/env python3
  2. import cv2
  3. import numpy as np
  4. HEADER = """\
  5. #ifndef _CHARSET_H
  6. #define _CHARSET_H
  7. #include <stdint.h>
  8. %s
  9. #endif // _CHARSET_H\
  10. """
  11. if __name__ == '__main__':
  12. im = cv2.imread('charset.png')[:, :, 0]
  13. rows = [ '{ %s }' % ', '.join([ '0b%s' % ''.join(map(str, x)) for x in ((im[i*7:(i+1)*7, j*5:(j+1)*5] == 0) * 1).T]) for i in range(16) for j in range(16) ]
  14. charset = 'const uint8_t PROGMEM CHARSET[256][5] = {\n %s\n};' % ',\n '.join(rows)
  15. print(HEADER % charset)