M5StickC의 텍스트 표시 기능을 읽는다(1) ~ 폰트 일람

6409 단어 M5StickCArduinoESP32
M5StickC의 (라고 하는지 베이스가 되고 있는 TFT_eSPI의) 텍스트 표시 기능은 수수께끼가 많다. M5StickC 비공식 일본어 참조 등 친절한 정보 사이트도 있지만, 나는 소스 코드를 직접 보고 확인하는 것이 빠르고 안심할 수 있다. 여기에 조사 결과를 메모해 두기로 한다. (→ 그 2)

setTextFont()로 선택할 수 있는 폰트


setTextFont(番号) 에서 선택할 수 있는 폰트는 이 디렉토리 바로 아래에 들어 있다.
htps : // 기주 b. 이 m / m5s ck / M5S Chick C / t Ree / Mas r / src / 펑 ts

어느 번호가 어느 폰트에 대응하는지를 알 수 있는 테이블이 여기.
htps : // 기주 b. 이 m/m5s한 ck/M5S치ckC/bぉb/24b448915d32후 cfbc베 4f09아7아3245에77로 155d/src/우치/yn_에S피. h# L618-L663

실제로 어떤 글리프인지 잘 모르기 때문에, 스스로 화상화( M5StickC로 스프라이트에 그려 시리얼로 빨아들이기 ) 해 보았다.

Font 1 (glcdfont.c)



HelloWorld에서 친숙한 기본 5x7 글꼴. 비 ASCII(문자 코드 128 이상)에도 글리프가 할당되어 있고, UTF-8 인코딩된 바이트열을 건네주면 표시할 수 있다. (실은 drawString 는 올바르게 인코딩하지 않아도 어쩐지 움직여 버린다; 이유에 대해서는 그 2 를 참조)






Font 2 ( Font16.* )



높이 16픽셀. 문자 코드 0x60이 백쿼트가 아닌 도 기호(°)로 되어 있다. Font16.c#define 를 만지면 바꿀 수 있는 것 같다.






Font 4 ( Font32rle.* )



높이 26픽셀. 문자 코드 0x60이 도기호일 뿐만 아니라, 0x24가 $가 아니라 £로 되어 있다.






Font 6 ( Font64rle.* )



높이 48 픽셀의 숫자 폰트. 시계 용도와 같이 am/pm이 포함되어 있다.






Font 7 ( Font7srle.* )



높이 48 픽셀의 7 세그 LED 스타일의 숫자 글꼴.






Font 8 ( Font72rle.* )



75픽셀 높이의 Arial 숫자 폰트. M5StickC에는 너무 커서 조금 사용하기 어렵다.






setFreeFont()로 선택할 수 있는 폰트



GFXfont에 대한 포인터를 setFreeFont(&FreeMono12pt7b) 와 같이 전달하여 사용한다. 이하 라이브러리에 번들되어 있는 것을 소개한다.

그런데, 이러한 번들 폰트는 In_eSPI.h 로 호쾌하게 #include 되고 있습니다만, 여기↓에
htps : // 기주 b. 이 m/m5s한 ck/M5S치ckC/bぉb/24b448915d32후 cfbc베 4f09아7아3245에77로 155d/src/우치/yn_에S피. h#L412-L413
// We can include all the free fonts and they will only be built into
// the sketch if they are used

라고 써 있다. 헤-, 그렇다.

Fonts / GFXFF 디렉토리에있는 것



GNU FreeFont에서 유래한 것



Adafruit GFX Library에 붙어 오는 GNU FreeFont 유래의 폰트가 그대로 동봉되고 있는 모습. 폰트 일람과 명칭 규칙은 이쪽을 참조.
ぇtps://ぇあrん. 아다 f 루이 t. 코 m / 아다 f 루이 tgfx-g et al.






TomThumb



3x5 픽셀의 최소 글꼴. 사용한 적이 없지만.
htps : // 로베 y.ぁg. 네 t / 2010 / 01 / 23 / 치 니의 s 파세 후 t. HTML






Fonts/Custom 디렉터리에 있는 항목



이 디렉토리에는 장식성이 높은 글꼴이 몇 개 들어 있다.

Orbitron


setFreeFont(&Orbitron_Light_24)




setFreeFont(&Orbitron_Light_32)





Roboto


setFreeFont(&Roboto_Thin_24)





Satisfy


setFreeFont(&Satisfy_24)





Yellowtail


setFreeFont(&Yellowtail_32)





이상입니다(・∀・)

좋은 웹페이지 즐겨찾기