文件IO学习笔记第十六章:中文字库的原理与应用

      大家好,我是小智!

基本概念

      一般在项目中都会显示汉字,都采用中文简体字符集,计算机早期只有ANSI组织设计的ANSII码,其实也属于字符集,这套字符集并未收录中文,只收录256个字符。 所以后期中国国家标准总局设计了一套中文字符集叫做GB2312中文简体字符集。

image

GB2312介绍

image

若需要使用GB2312中文简体字符集,必须提前修改的字符编码为GB2312

字库生成

      在嵌入式开发中一般都会使用LCD屏或者OLED屏进行汉字显示,所以都需要使用汉字库或者使用取模软件生成汉字的字模,一般都是采用点阵字库。

例题

image

注意:GB2312汉字库的汉字的具体位置和汉字本身大小是无关的,汉字的区码和位码来定位汉字在库的位置,一个汉字的占用字节的大小和汉字本身的分辨率 ,比如16*16大小的一个汉字,需要占用32字节。如果生成的是16*16的汉字库,则库中每个单元都是32字节。

调用字库

      在linux系统和windows都是存储了汉字库,比如windows系统把汉字库文件都存储在C:\Windows\Fonts,在该路径下存储了很多的.ttf格式的字库文件,ttf格式是TureTypeFont的缩写,是TrueType类型文件。

image

      同理,ttf类型的字库文件也可以在linux系统上使用,一般linux系统都会把.ttf格式的字库文件存储在 /usr/share/fonts/xxx.ttf

image

TureType字库介绍

image

调用字库步骤

image

调用字库实现

image

注意:如果觉得开发板中的默认字库文件中的字体不符合需求,则可以选择从window系统中指定路径下来拷贝其他的.ttf格式的字库文件到开发板的某一路径下即可。

注意:在程序中不可以在死循环中一直创建画布,因为创建画布的时候会申请内存,如果系统内存被消耗光,则可以导致系统死机,也会导致正在运行的程序会被killed。

练习

  • 要求使用TrueType字库实现,获取开发板的系统时间,并转为 “2025年6月15日 17:00:04”,每隔1秒就刷新一次LCD,也就是LCD上实时当前系统时间。
posted @ 2025-06-16 00:18  努力赚钱的小智  阅读(88)  评论(0)    收藏  举报