首页 > 其他分享 >LVGL 字体

LVGL 字体

时间:2022-10-26 16:55:25浏览次数:64  
标签:lv FONT MONTSERRAT LV 字体 LVGL define

一、LVGL 内置字体

LVGL有几种不同大小的内置字体,可以通过 LV_FONT_MONTSERRAT_X 定义在 lv_conf.h 中启用。

  1. 普通字体
    包含所有ASCII字符,度数符号(U + 00B0),项目符号(U + 2022)和内置符号,可以根据自己的需要选择定义 如下所示:

    #define LV_FONT_MONTSERRAT_8  0
    #define LV_FONT_MONTSERRAT_10 0
    #define LV_FONT_MONTSERRAT_12 0
    #define LV_FONT_MONTSERRAT_14 1
    #define LV_FONT_MONTSERRAT_16 0
    #define LV_FONT_MONTSERRAT_18 0
    #define LV_FONT_MONTSERRAT_20 0
    #define LV_FONT_MONTSERRAT_22 0
    #define LV_FONT_MONTSERRAT_24 0
    #define LV_FONT_MONTSERRAT_26 0
    #define LV_FONT_MONTSERRAT_28 0
    #define LV_FONT_MONTSERRAT_30 0
    #define LV_FONT_MONTSERRAT_32 0
    #define LV_FONT_MONTSERRAT_34 0
    #define LV_FONT_MONTSERRAT_36 0
    #define LV_FONT_MONTSERRAT_38 0
    #define LV_FONT_MONTSERRAT_40 0
    #define LV_FONT_MONTSERRAT_42 0
    #define LV_FONT_MONTSERRAT_44 0
    #define LV_FONT_MONTSERRAT_46 0
    #define LV_FONT_MONTSERRAT_48 0
    
    
  2. 特殊字体

    LV_FONT_MONTSERRAT_12_SUBPX         0   // 与常规12像素字体相同,但具有亚像素渲染
    LV_FONT_MONTSERRAT_28_COMPRESSED    0   // 与普通的28 px字体相同,但压缩字体为3 bpp
    LV_FONT_DEJAVU_16_PERSIAN_HEBREW    0   // 正常范围内的16像素字体+希伯来语,阿拉伯语,Perisan字母及其所有形式
    LV_FONT_SIMSUN_16_CJK               0   // 16 px字体,具有正常范围+ 1000个最常见的CJK部首
    LV_FONT_UNSCII_8                    0   // 仅包含ASCII字符的8 px像素完美字体
    LV_FONT_UNSCII_16                   0   // 仅包含ASCII字符的16 px像素完美字体
    
  3. 内置符号

二、使用外部字体

在使用外部字体时,需要了解字体编码定义范围,见这么博主的文章:【LVGL(6)】显示中文设置,制作中文字库
字体显示和图片一样,需要外部定义像素,所以我们也可以使用工具将字体转换成程序可以使用的变量,如下所示:

  1. 使用字体在线转换工具
    LVGL 在线字体转换:https://lvgl.io/tools/fontconverter

  2. 转换文字

  3. 将生成的文件导入工程中

三、字体使用

  1. 内部字体使用

    lv_obj_t *test_label = lv_label_create(lv_scr_act());
    lv_label_set_text(test_label, "test");
    
  2. 内置符号使用

    lv_obj_t *test_label = lv_label_create(lv_scr_act());
    lv_label_set_text(test_label, LV_SYMBOL_OK);      // 正常显示,则应显示一个 ✓ 字符。
    
  3. 外部字体使用
    在使用之前需要LV_FONT_DECLARE() 声明字体。
    注意:想要使声明的字体全局可以,则在 lv_conf.h 文件中的 LV_FONT_CUSTOM_DECLARE 宏声明,如下图所示:

    外部字体使用程序

    /* 加载字体样式 */
    static lv_style_t font_label_style;
    lv_style_init(&font_label_style);
    lv_style_set_text_font(&font_label_style, &test_font);
    
    lv_obj_t *test_label = lv_label_create(lv_scr_act());
    lv_obj_add_style(test_label , &font_label_style, 0);
    lv_label_set_text(test_label , "测试字体");
    

标签:lv,FONT,MONTSERRAT,LV,字体,LVGL,define
From: https://www.cnblogs.com/jzcn/p/16828773.html

相关文章

  • LVGL SCROLL循环滚动
    一、案例测试这里我使用LVGL的版本是8.3.3运行案例lvgl_examples\scroll\lv_example_scroll_6效果如下所示二、现象这里先描述一下现象,当我们使用SCROLL控件实现滚......
  • 《将博客搬至CSDN》Docker中浏览器访问内网,并解决无中文字体问题
    需求说明在自己的本地服务器中部署了很多应用,使用内网穿透访问,但能够使用的端口有限,一个一个映射也不实际,所以想到使用docker部署一个firefox浏览器来访问内网的网页。......
  • [FAQ] MySQL Workbench 设置界面字体大小
    MySQLWorkbench连接数据库后,点击右上角的图标,进入Fonts&Colors设置。示例: Ref:MySQLWorkbenchLink:https://www.cnblogs.com/farwish/p/16805924.html......
  • android实现全局字体
    效果图  在theme中添加  <itemname="android:fontFamily">@font/a</item> res目录下面创建font,放入名字为a.ttf的字体在manifest中用这个theme即可全局......
  • c/c++背景颜色和字体颜色
    https://blog.csdn.net/weixin_59266315/article/details/124482907?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIS......
  • 设置字体样式,文本装饰
     1.设置字体类型(如下)注意:字体尽量设置成通用的,否则如果用户系统没有该种字体就不能显示  2.设置字体的粗细字体粗细100—900,100最细,900最粗  3.设置字......
  • 如何添加matplotlib中的字体(以Times New Roman字体为例)
    参考链接:(14条消息)python绘图之TimesNewRoman字体以及Helvetica字体_燕策西的博客-CSDN博客_python画图字体如何设置新罗马 下面以如何添加TimesNewRoman字体为例......
  • android开发:弹框(AlertDialog)和提示信息Toast字体大小颜色设置
    一、AlertDialog: AlertDialog.Builderbuilder=newAlertDialog.Builder(getActivity());builder.setTitle("温馨提示");builder.setMessage("是否进行下一个病人......
  • Qt 5.15.2 QTextEdit无法设置新字体的处理方式
    首发于我的个人博客:xie-kang.com博客内有更多文章,欢迎大家访问原文地址在使用QT5.15.2开发的过程中碰到了件怪事,下列代码无法给QTextEdit选中的文字设置字体:QTextCur......
  • CSS字体显示设置
    CSS字体显示设置宋体:SimSun黑体:SimHei微软雅黑:MicrosoftYaHei微软正黑体:MicrosoftJhengHei新宋体:NSimSun新细明体:PMingLiU细明体:MingLiU标楷体:DFKai-SB仿宋:Fang......