网上关于freetype的裁剪大部分是关于configure或者cmake进行配置,然后编译,此方法本人试过,编译出来的库并没有变小。还有是通过修改ftmodule.h和ftoption.h文件进行裁剪,理论上没问题,但是本人修改了这两个文件,只留下部分库,但是编译得到的库还是没有变小,不知道为何。还有交叉编译很多文章也是交叉通过configure传入CC和--host参数,实际上不行。因此,本人另劈溪径——把freetype编译到LVGL中。
由于freetype很多时候都是配合LVGL使用,(或者其他gui图形库,方法一样),同时LVGL本身封装了freetype的API接口,因此本人把freetype裁剪剩下的代码编译到LVGL中,这样使用起来也方便。具体步骤如下:
一、编译
1. 配置lv_conf.h文件:
- 打开 LV_USE_FREETYPE 宏。
- 配置LVGL文件系统(如果使用lvgl本身文件系统),也可以使用用户自己的文件系统接口,这样就不需要,由于我的是linux系统,我是配置posix标准的文件系统接口,如下:

2. 裁剪ftmodule.h和ftoption.h文件:
- 修改ftmodule.h文件来控制编译哪些模块。本人只保留以下三个模块,其他全部注释掉。
FT_USE_MODULE(FT_Driver_ClassRec, tt_driver_class)
FT_USE_MODULE(FT_Module_Class, sfnt_module_class)
FT_USE_MODULE(FT_Renderer_Class, ft_smooth_renderer_class)

最低0.47元/天 解锁文章
2741

被折叠的 条评论
为什么被折叠?



