이곳은 다양한 오픈소스 프로젝트를 소개하고 리뷰, 활용 방법을 공유합니다.
조회 수 4315 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

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


  1. Elastic Stack 에 대해서

    Date2024.08.25 Bymakersweb Views1811
    Read More
  2. Flutter 위젯의 상태관리에 대해서

    Date2023.04.06 Bymakersweb Views2050
    Read More
  3. [NodeGui] JavaScript로 데스크탑 응용프로그램 작성

    Date2023.02.21 Bymakersweb Views4513
    Read More
  4. openFrameworks 한글 폰트 설정 및 출력하기

    Date2023.02.19 Bymakersweb Views1847
    Read More
  5. LVGL 을 통해 GUI 구현 시 한글 폰트 추가

    Date2023.02.07 Bymakersweb Views4315
    Read More
  6. Windows에서 Qt Creator + CMake + vcpkg 로 C++ 개발환경 구성 (POCO 라이브러리 DirectoryWatcher 예제)

    Date2023.01.14 Bymakersweb Views2518
    Read More
  7. NAppGUI, C언어용 크로스 플랫폼 GUI 라이브러리

    Date2022.10.10 Bymakersweb Views3262
    Read More
  8. No Image

    OTA 오픈소스 프로젝트

    Date2022.08.03 Bymakersweb Views2310
    Read More
  9. AGL (Automotive Grade Linux) 개요

    Date2022.06.19 Bymakersweb Views4488
    Read More
  10. Chromium과 Ozone 층

    Date2022.03.03 Bymakersweb Views2564
    Read More
  11. Flutter Application 에서 한글(EUC-KR) 깨져서 나오는 문제

    Date2022.01.06 Bymakersweb Views5242
    Read More
  12. CopperSpice 에 대해서 (C++ Gui 라이브러리)

    Date2022.01.02 Bymakersweb Views2604
    Read More
  13. Flutter/Dart 와 Qt/QML 비교

    Date2021.11.07 Bymakersweb Views3299
    Read More
  14. VSCode 와 Qbs 플러그인으로 C/C++ 개발환경 구성

    Date2021.09.12 Bymakersweb Views2726
    Read More
  15. ZeroMQ 를 이용한 Qt 응용프로그램 간 통신

    Date2021.08.28 Bymakersweb Views2544
    Read More
  16. C++를 위한 Lottie 라이브러리 with SDL2

    Date2021.08.15 Bymakersweb Views3026
    Read More
  17. CANdevStudio 를 사용하여 CAN 네트워크 시뮬레이션

    Date2021.03.09 Bymakersweb Views3794
    Read More
  18. Protocol Buffers 를 이용한 직렬화 with Conan Package Manager

    Date2021.02.24 Bymakersweb Views1955
    Read More
  19. 라즈베리파이에서 Redis의 Pub/Sub 패턴을 사용하는 Electron 응용프로그램

    Date2021.01.31 Bymakersweb Views2690
    Read More
  20. Nana, C++용 크로스플랫폼 GUI 라이브러리

    Date2021.01.06 Bymakersweb Views4136
    Read More
Board Pagination Prev 1 2 Next
/ 2