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

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

번호 제목 글쓴이 날짜 조회 수
36 Pluma(C++ Plug-in Management Framework) 튜토리얼 file makersweb 2019.12.07 15191
35 GENIVI DLT(Diagnostic Log and Trace) 활용 file makersweb 2020.11.19 12982
34 GDBus 튜토리얼(GDBus tutorial) file makersweb 2019.06.30 12964
33 Dear ImGui, 경량의 C++ 용 GUI 및 Widget 라이브러리 file makersweb 2020.11.28 11215
32 ZeroMQ의 기본 메세지 패턴들 file makersweb 2020.07.31 10489
31 텔레그램(Telegram) Bot 개발 file makersweb 2019.07.21 7226
30 가볍고 쉬운 임베디드용 그래픽 라이브러리 - LVGL file makersweb 2020.09.16 5314
29 webOS소개 및 Raspberry Pi 3 에서 실행 file makersweb 2019.10.13 5222
28 Flutter Application 에서 한글(EUC-KR) 깨져서 나오는 문제 file makersweb 2022.01.06 4829
27 리눅스에서 SDL2 최신버전 컴파일과 Qt Creator로 개발환경 구성 file makersweb 2019.10.06 4581
26 [SDL2 와 OpenGL]윈도우 생성과 2D그래픽 file makersweb 2020.04.11 4411
25 AGL (Automotive Grade Linux) 개요 file makersweb 2022.06.19 3807
24 [NodeGui] JavaScript로 데스크탑 응용프로그램 작성 file makersweb 2023.02.21 3785
» LVGL 을 통해 GUI 구현 시 한글 폰트 추가 file makersweb 2023.02.07 3619
22 Nana, C++용 크로스플랫폼 GUI 라이브러리 file makersweb 2021.01.06 3598
21 Wayland IVI Extension 간단 리뷰 file makersweb 2019.05.12 3516
20 ZeroMQ 비동기 클라이언트/서버 패턴 file makersweb 2020.08.13 3457
19 CANdevStudio 를 사용하여 CAN 네트워크 시뮬레이션 file makersweb 2021.03.09 3366
18 Flutter/Dart 와 Qt/QML 비교 file makersweb 2021.11.07 2952
17 NAppGUI, C언어용 크로스 플랫폼 GUI 라이브러리 file makersweb 2022.10.10 2679