Amazfit Bip Font Creator 4 - 폰트 생성
쓰레드 초기화가 끝났으면, font_creator_thread.start()로 run
을 실행합니다.
1 | class FontCreator(QThread): |
먼저 bmp 파일들을 생성하고 패킹하여 폰트파일을 생성합니다.
create_bmp
1 | # bip_font_creator.py |
pyqtSignal 로 전달하기 위해 emit
을 호출합니다.
1 | self.set_progress.emit(i, all_range[1]) |
all_range = (0x0000, 0xFFFF)
로 전체 범위의 폰트 bmp 를 생성합니다. 폰트파일에 해당 문자 가 있는지 확인하기 위해 char_in_font
함수를 호출합니다.
1 | class FontCreator(QThread): |
해당 문자가 폰트 파일에 있으면 True
를 리턴합니다. 없으면 False
Image 로 text 를 생성한 다음 빈 문자인지 확인하기 이해 histogram을 비교합니다.
1 | image = Image.new('1', (16, 16), "black") |
black_histogram 은 위에서 정의한 배열입니다. black_histogram = [256, 0, ... , 0]
그리고 덮여쓰기 설정 여부에 따라 이미지를 저장합니다. (save)
1 | if self.overwrite_bmp: |
pack_bmp
1 | class FontCreator(QThread): |
pack_font
는 tools/bipfont.py at master · amazfitbip/tools · GitHub 를 사용하였습니다.
실행파일에서 사용하기 위해 경로 관련된 부분만 변경하였습니다.
1 | class FontCreator(QThread): |
실행 완료
실행이 완료되면
- 실행파일 경로에 config.ini 파일이 생성됩니다.
OK
메시지 창이 출력됩니다.- 그리고 ft 폴더안에 폰트 파일이 생성됩니다.