【LVGL(6)】显示中文设置,制作中文字库

您所在的位置:网站首页 制作汉字卡片的英文 【LVGL(6)】显示中文设置,制作中文字库

【LVGL(6)】显示中文设置,制作中文字库

2024-07-10 06:45| 来源: 网络整理| 查看: 265

官方文档链接

Fonts — LVGL documentationhttps://docs.lvgl.io/master/overview/font.html?highlight=lv_font_declare#LVGL官方提供了在线字体转换工具,可将字体文件转换为C文件。

Online Font Converter Convert TTF and WOFF fonts to C arrayhttps://lvgl.io/tools/fontconverter

LVGL转换的字体也可给其他的GUI系统使用。

首先要下载字体文件

百问网提供了一些开源免费可商用的字体。

显示中文 — 百问网LVGL中文教程文档 文档 (100ask.net)q

字体文件我们可以使用开源的字体或者自己制作出来,准备好了字体文件之后使用字体转换器即可转换成可以在lvgl上使用的字体格式。 

字符集编码范围

Unicode 是全球文字统一编码。它把世界上的各种文字的每一个字符指定唯一编码,实现跨语种、跨平台的应用。

中文用户最常接触的是汉字 Unicode 编码。中文字符数量巨大,日常使用的汉字数量有数千个,再加上生僻字,数量达到数万个。下面这个表格将中文字符集的 Unicode 编码范围列出:

字符集字数Unicode 编码基本汉字20902字4E00-9FA5基本汉字补充90字9FA6-9FFF扩展A6592字3400-4DBF扩展B42720字20000-2A6DF扩展C4153字2A700-2B738扩展D222字2B740-2B81D扩展E5762字2B820-2CEA1扩展F7473字2CEB0-2EBE0扩展G4939字30000-3134A康熙部首214字2F00-2FD5部首扩展115字2E80-2EF3兼容汉字477字F900-FAD9兼容扩展542字2F800-2FA1DPUA(GBK)部件81字E815-E86F部件扩展452字E400-E5E8PUA增补207字E600-E6CF汉字笔画36字31C0-31E3汉字结构12字2FF0-2FFB汉语注音43字3105-312F注音扩展22字31A0-31BA〇1字3007 拉丁字母 Unicode 编码范围

基本拉丁字母共有95个字符,其中52个属于拉丁字母,剩下的43个属于基本字符。

有33个字符被定义为“ASCII 标点及符号”,有时也被称为“ASCII 特殊字符”。

简单总结:

字符集字数Unicode 编码数字0-910字30-39小写英文字母26字61-7a大写英文字母26字41-5a标点及符号32字20-2F 3A-40 5B-60 7B-7E 数字0-9: 0123456789 小写英文字母: abcdefghijklmnopqrstuvwxyz 大写英文字母: ABCDEFGHIJKLMNOPQRSTUVWXYZ 标点及符号: !"#$%&'()*+,-./:;?@[\]^_`{|}~

下面这个表格将基本拉丁字母字符集的 Unicode 编码范围列出:

代码显示十进制描述U+0020 空格U+0021!!叹号U+0022""双引号U+0023##井号U+0024$$价钱/货币符号U+0025%%百分比符号U+0026&&&U+0027''引号U+0028((左圆括号U+0029))右圆括号U+002A**星号U+002B++加号U+002C,,逗号U+002D--连字号/减号U+002E..句号U+002F//正斜杠U+003000数字0U+003111数字1U+003222数字2U+003333数字3U+003444数字4U+003555数字5U+003666数字6U+003777数字7U+003888数字8U+003999数字9U+003A::冒号U+003B;;分号U+003C>大于符号U+003F??问号U+0040@@英文“at”的简写符号U+0041AA拉丁字母AU+0042BB拉丁字母BU+0043CC拉丁字母CU+0044DD拉丁字母DU+0045EE拉丁字母EU+0046FF拉丁字母FU+0047GG拉丁字母GU+0048HH拉丁字母HU+0049II拉丁字母IU+004AJJ拉丁字母JU+004BKK拉丁字母KU+004CLL拉丁字母LU+004DMM拉丁字母MU+004ENN拉丁字母NU+004FOO拉丁字母OU+0050PP拉丁字母PU+0051QQ拉丁字母QU+0052RR拉丁字母RU+0053SS拉丁字母SU+0054TT拉丁字母TU+0055UU拉丁字母UU+0056VV拉丁字母VU+0057WW拉丁字母WU+0058XX拉丁字母XU+0059YY拉丁字母YU+005AZZ拉丁字母ZU+005B[[左方括号U+005C\\反斜杠U+005D]]右方括号U+005E^^抑扬(重音)符号U+005F__下划线U+0060``重音符U+0061aa拉丁字母aU+0062bb拉丁字母bU+0063cc拉丁字母cU+0064dd拉丁字母dU+0065ee拉丁字母eU+0066ff拉丁字母fU+0067gg拉丁字母gU+0068hh拉丁字母hU+0069ii拉丁字母iU+006Ajj拉丁字母jU+006Bkk拉丁字母kU+006Cll拉丁字母lU+006Dmm拉丁字母mU+006Enn拉丁字母nU+006Foo拉丁字母oU+0070pp拉丁字母pU+0071qq拉丁字母qU+0072rr拉丁字母rU+0073ss拉丁字母sU+0074tt拉丁字母tU+0075uu拉丁字母uU+0076vv拉丁字母vU+0077ww拉丁字母wU+0078xx拉丁字母xU+0079yy拉丁字母yU+007Azz拉丁字母zU+007B{{左花括号U+007C||竖线U+007D}}右花括号U+007E~~波浪纹 ASCII表

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符:

Bin(二进制)Oct(八进制)Dec(十进制)Hex(十六进制)缩写/字符解释0000 00000000x00NUL(null)空字符0000 00010110x01SOH(start of headline)标题开始0000 00100220x02STX (start of text)正文开始0000 00110330x03ETX (end of text)正文结束0000 01000440x04EOT (end of transmission)传输结束0000 01010550x05ENQ (enquiry)请求0000 01100660x06ACK (acknowledge)收到通知0000 01110770x07BEL (bell)响铃0000 100001080x08BS (backspace)退格0000 100101190x09HT (horizontal tab)水平制表符0000 1010012100x0ALF (NL line feed, new line)换行键0000 1011013110x0BVT (vertical tab)垂直制表符0000 1100014120x0CFF (NP form feed, new page)换页键0000 1101015130x0DCR (carriage return)回车键0000 1110016140x0ESO (shift out)不用切换0000 1111017150x0FSI (shift in)启用切换0001 0000020160x10DLE (data link escape)数据链路转义0001 0001021170x11DC1 (device control 1)设备控制10001 0010022180x12DC2 (device control 2)设备控制20001 0011023190x13DC3 (device control 3)设备控制30001 0100024200x14DC4 (device control 4)设备控制40001 0101025210x15NAK (negative acknowledge)拒绝接收0001 0110026220x16SYN (synchronous idle)同步空闲0001 0111027230x17ETB (end of trans. block)结束传输块0001 1000030240x18CAN (cancel)取消0001 1001031250x19EM (end of medium)媒介结束0001 1010032260x1ASUB (substitute)代替0001 1011033270x1BESC (escape)换码(溢出)0001 1100034280x1CFS (file separator)文件分隔符0001 1101035290x1DGS (group separator)分组符0001 1110036300x1ERS (record separator)记录分隔符0001 1111037310x1FUS (unit separator)单元分隔符0010 0000040320x20(space)空格0010 0001041330x21!叹号0010 0010042340x22"双引号0010 0011043350x23#井号0010 0100044360x24$美元符0010 0101045370x25%百分号0010 0110046380x26&和号0010 0111047390x27'闭单引号0010 1000050400x28(开括号0010 1001051410x29)闭括号0010 1010052420x2A*星号0010 1011053430x2B+加号0010 1100054440x2C,逗号0010 1101055450x2D-减号/破折号0010 1110056460x2E.句号0010 1111057470x2F/斜杠0011 0000060480x300字符00011 0001061490x311字符10011 0010062500x322字符20011 0011063510x333字符30011 0100064520x344字符40011 0101065530x355字符50011 0110066540x366字符60011 0111067550x377字符70011 1000070560x388字符80011 1001071570x399字符90011 1010072580x3A:冒号0011 1011073590x3B;分号0011 1100074600x3C大于0011 1111077630x3F?问号0100 00000100640x40@电子邮件符号0100 00010101650x41A大写字母A0100 00100102660x42B大写字母B0100 00110103670x43C大写字母C0100 01000104680x44D大写字母D0100 01010105690x45E大写字母E0100 01100106700x46F大写字母F0100 01110107710x47G大写字母G0100 10000110720x48H大写字母H0100 10010111730x49I大写字母I010010100112740x4AJ大写字母J0100 10110113750x4BK大写字母K0100 11000114760x4CL大写字母L0100 11010115770x4DM大写字母M0100 11100116780x4EN大写字母N0100 11110117790x4FO大写字母O0101 00000120800x50P大写字母P0101 00010121810x51Q大写字母Q0101 00100122820x52R大写字母R0101 00110123830x53S大写字母S0101 01000124840x54T大写字母T0101 01010125850x55U大写字母U0101 01100126860x56V大写字母V0101 01110127870x57W大写字母W0101 10000130880x58X大写字母X0101 10010131890x59Y大写字母Y0101 10100132900x5AZ大写字母Z0101 10110133910x5B[开方括号0101 11000134920x5C\反斜杠0101 11010135930x5D]闭方括号0101 11100136940x5E^脱字符0101 11110137950x5F_下划线0110 00000140960x60`开单引号0110 00010141970x61a小写字母a0110 00100142980x62b小写字母b0110 00110143990x63c小写字母c0110 010001441000x64d小写字母d0110 010101451010x65e小写字母e0110 011001461020x66f小写字母f0110 011101471030x67g小写字母g0110 100001501040x68h小写字母h0110 100101511050x69i小写字母i0110 101001521060x6Aj小写字母j0110 101101531070x6Bk小写字母k0110 110001541080x6Cl小写字母l0110 110101551090x6Dm小写字母m0110 111001561100x6En小写字母n0110 111101571110x6Fo小写字母o0111 000001601120x70p小写字母p0111 000101611130x71q小写字母q0111 001001621140x72r小写字母r0111 001101631150x73s小写字母s0111 010001641160x74t小写字母t0111 010101651170x75u小写字母u0111 011001661180x76v小写字母v0111 011101671190x77w小写字母w0111 100001701200x78x小写字母x0111 100101711210x79y小写字母y0111 101001721220x7Az小写字母z0111 101101731230x7B{开花括号0111 110001741240x7C|垂线0111 110101751250x7D}闭花括号0111 111001761260x7E~波浪号0111 111101771270x7FDEL (delete)删除 字符转换工具使用

中文翻译参考:

LVGL添加新字体

需要将字体C文件包含在LVGL项目中!

在文件中声明字体

LV_FONT_DECLARE(my_font_name); //官方文档给定这个 extern lv_font_t my_font_name;

要使字体全局可用(如内置字体),请将它们添加到lv_conf.h 的 LV_FONT_CUSTOM_DECLARE

在样式中设置字体

lv_style_set_text_font(&style_obj, &my_font_name); // 普通(共享)样式 lv_obj_set_style_text_font(label, &my_font_name, 0); // 私有(本地)样式

还有一点:utf-8是基于unicode编码的一种节约字节的编码。

今天也需要加油鸭!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3