.h 헤더 파일 내보내기 지원



(드디어) 1비트 흑백 비트맵으로 인코딩 된 데이터가 담긴 헤더 파일로 내보내는 기능을 추가하였습니다.


보시다시피, uint8_t 배열로 출력이 되며, 초성/중성/종성의 배열 오프셋도 편의를 위해 같이 출력됩니다.

현재로써는 :
도깨비한글 8x4x4 벌식의 프로젝트를 내보내면 BITMAP_ASCII 와 BITMAP_KR 이라는 이름의 배열 변수에 데이터를 담았고,
이전 버전 호환용 비표준 벌식은 BITMAP_FNT 라는 이름의 배열 변수에 데이터를 담아두었습니다.



보시다시피, 초성/중성/종성 그리고 때에 따라 자모와 ASCII 글자 하나마다 8비트 16진수 (uint8_t) 로 표현된 이진 비트맵이 담겨있습니다.
그리고 글꼴의 너비에 따라 한 줄에 여러 개의 8비트 16진수가 있을수도 있고, 단 하나의 8비트 16진수가 있을 수가 있는데요..
그 기준은 글꼴의 너비에 따라 달라집니다.
만약에 글꼴의 너비가 8px 이하이면, 즉 1 줄당 8비트인 uint8_t 16진수 1개로 표현 가능하면 한 줄당 16진수가 1개,
너비가 12px라던가 16px이라던가 1 줄당 8비트인 uint8_t 16진수 2개로 표현해야한다면 16진수가 2개 사용됩니다.
마찬가지로, 너비가 18px / 24px 라고 한다면 3개가 사용 될 테고요.

이렇게 생성된 데이터는 이와 같이 사용 가능합니다 (웹 GL 필요, 쉐이더에서 돌아갑니다.) :
https://www.shadertoy.com/view/wtKGzG


부디 잘 사용해주셨으면 좋겠네요. 즐거운 게임개발 되세요.
~ MMXX ZIK

Files

편집기 (윈도우 용) 2.7 MB
Jan 17, 2020

Get 조합형 한글 비트맵 글꼴 편집기

Comments

Log in with itch.io to leave a comment.

(1 edit)

안녕하세요? 

조합형 글꼴 편집기를 만드시느라 수고 많으셨습니다. 

글꼴을 편집해서 헤더 파일로 저장한 후 마이크로 컨트롤러를 사용해서 TFT LCD에 한글을 표현하려고 합니다. 문제는 편집기 프로그램이 16진수로 변환할 때 오른쪽에서 왼쪽 방향으로 변환이 되어서 사용에 불편이 따른다는 점입니다. 마이크로 컨트롤러는 클럭이 수Mhz에서 수십Mhz인데 비트변환을 하면 시간이 많이 걸려서 표시속도 저하가 불가피 합니다. 

그래서 염치 불구하고 부탁을 드리려 합니다. 헤더 파일로 변환시에 비트 변환을 왼쪽에서 오른쪽으로 하는 옵션을 추가해주셨으면 합니다. (아래 처럼)

0xE0, 0xFF, 0x0F, // 000001111111111111110000 --> 0x07, 0xFF, 0xF0

0xE0, 0xFF, 0x0F, // 000001111111111111110000 --> 0x07, 0xFF, 0xF0
0x00, 0x00, 0x0C, // 000000000000000000110000 --> 0x00, 0x00, 0x30
0x00, 0x00, 0x0C, // 000000000000000000110000 --> 0x00, 0x00, 0x30

이렇게만 변환이 된다면 마이크로 컨트롤러를 사용하는 많은 임베디드 개발자분들이 한글을 표시하는데 많은 도움이 될 것 같습니다.

그리고 글꼴을 편집한 후 미리보기에서 한글 '동해물 과 백...'의 표현에서 '물' 자가 깨져 보입니다. 

긴글 읽어 주셔서 감사 드립니다.

인코딩 된 비트맵의 순서를 변경하는 기능을 넣는다는걸 깜빡하고 잊어먹었네요, 최대한 빠르게 구현해보도록 해보겠습니다!
한편 글꼴을 편집하고 미리보기에서 다음 사진과 같이 깨지는 문제를 말씀하시는 것 이라면 호환용 비공식 벌식으로 된 폰트를 제작하실 때 이러한 문제가 일어날 수가 있습니다.. 호환용 벌식은 도깨비한글식 8x4x4벌식보다 벌의 수가 적고 여러개의 벌이 하나로 통일되어 적절하지 못한 글자를 표현하기에 이런 일이 일어 날 수 있는데요, 그래서 최대한 도깨비한글식의 벌식을 사용하시는것을 추천합니다.
감사합니다.

요청하신 비트맵의 비트 순서를 뒤집는 기능을 추가했습니다 :
https://zikbakguru.itch.io/einstein-bacon-machine/devlog/123780/-

감사합니다.

비트순서 뒤집기를 체크하니 제대로 변환이 됩니다.

바쁘실텐데 정말로 감사 드립니다. 

실제 LCD로 표시해보고 피드백 드리겠습니다.