한국어
오픈소스포럼
 이곳은 다양한 오픈소스 프로젝트를 소개하고 리뷰, 활용 방법을 공유합니다.

LVGL 프로젝트에 새 폰트를 추가하는 방법에는 세 가지가 있다.

  1. 가장 간단한 방법은 온라인 폰트 변환기를 사용하는 것이다. 매개 변수를 설정하고 변환 버튼을 클릭한 다음 생성된 C파일을 프로젝트에 복사하고 사용한다.
  2. 오프라인 폰트 변환기를 사용하여 TTF/WOFF/OTF 형식의 폰트를 임베디드 시스템에 적합한 형식으로 변환할 수 있다. (Node.js가 설치되어 있어야 함)
  3. 내장 폰트(Roboto 폰트 및 기호)의 크기 및 범위가 다른 것을 만들고 싶다면 lvgl/scripts/built_in_font 폴더에서 built_in_font_gen.py 스크립트를 사용할 수 있다.(Python 및 lv_font_conv를 설치해야 한다.)

파일에서 폰트를 선언하려면 LV_FONT_DECLARE(my_font_name)를 사용한다.

오프라인 변환기(lv_font_conv) 를 사용하여 NotoSansKR-Regular 한글 폰트를 LVGL 형식으로 생성하는 예는 다음과 같다.

bin 파일로 변환

lv_font_conv.cmd --font NotoSansKR-Regular.otf -r 0x020-0x07F,0xAC00-0xD7AF --size 28 --format bin --bpp 4 -o NotoSansKR-Regular_28.bin

또는 C파일로 변환

lv_font_conv.cmd --font NotoSansKR-Regular.otf -r 0x020-0x07F,0xAC00-0xD7AF --size 28 --format lvgl --bpp 4 -o NotoSansKR_Regular_28.c

bpp(픽셀당 비트 수)값이 높을수록 글자가 더 부드러워진다.(anti-aliased)

그 다음 폰트를 전역적으로 사용할 수 있게 하기위해(내장 폰트와 같이) 폰트를 lv_conf.h의 LV_FONT_CUSTOM_DECLARE에 추가한다.

#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(NotoSansKR_Regular_28)

 

스타일에서 NotoSansKR_Regular_28 폰트로 설정한다.

lvgl.png

번호 제목 글쓴이 날짜 조회 수
35 Wayland IVI Extension 간단 리뷰 file makersweb 2019.05.12 2259
34 GDBus 튜토리얼(GDBus tutorial) file makersweb 2019.06.30 10377
33 텔레그램(Telegram) Bot 개발 file makersweb 2019.07.21 5716
32 리눅스에서 SDL2 최신버전 컴파일과 Qt Creator로 개발환경 구성 file makersweb 2019.10.06 3040
31 webOS소개 및 Raspberry Pi 3 에서 실행 file makersweb 2019.10.13 3884
30 도커(docker)설치 및 기본 명령어 makersweb 2019.12.02 483
29 Pluma(C++ Plug-in Management Framework) 튜토리얼 file makersweb 2019.12.07 14012
28 [SDL2 와 OpenGL]윈도우 생성과 2D그래픽 file makersweb 2020.04.11 3076
27 ZeroMQ의 기본 메세지 패턴들 file makersweb 2020.07.31 8525
26 ZeroMQ 비동기 클라이언트/서버 패턴 file makersweb 2020.08.13 1781
25 Qt와 GStreamer 로 작성한 flac 오디오 재생 예제 file makersweb 2020.09.05 1142
24 가볍고 쉬운 임베디드용 그래픽 라이브러리 - LVGL file makersweb 2020.09.16 3363
23 윈도우에서 안드로이드 flutter 프로그래밍 개발환경 구축(with Visual Studio Code) file makersweb 2020.09.16 796
22 GENIVI DLT(Diagnostic Log and Trace) 활용 file makersweb 2020.11.19 8398
21 Dear ImGui, 경량의 C++ 용 GUI 및 Widget 라이브러리 file makersweb 2020.11.28 9090
20 라즈베리파이4에서 openFrameworks 예제 실행 file makersweb 2020.12.13 560
19 Nana, C++용 크로스플랫폼 GUI 라이브러리 file makersweb 2021.01.06 2072
18 라즈베리파이에서 Redis의 Pub/Sub 패턴을 사용하는 Electron 응용프로그램 file makersweb 2021.01.31 682
17 Protocol Buffers 를 이용한 직렬화 with Conan Package Manager file makersweb 2021.02.24 867
16 CANdevStudio 를 사용하여 CAN 네트워크 시뮬레이션 file makersweb 2021.03.09 1720