zlgopen / awtk-linux-fb

awtk port for linux framebuffer
108 stars 49 forks source link

嵌入式受限于flash大小,动态加载字库的问题 #30

Open chensheng-GitHub-2019 opened 4 years ago

chensheng-GitHub-2019 commented 4 years ago

1.类比于qt image 2.awtk中我们如何动态链接字库呢?(ps:不能把字库作为资源文件编译到demo中去,这样demo太大了)

xianjimli commented 4 years ago

什么平台?内存多大,什么OS?

chensheng-GitHub-2019 commented 4 years ago

海思平台,32m flash 希望ui尽量小,linux系统

xianjimli commented 4 years ago

linux系统不会把字体编译到代码中。

chensheng-GitHub-2019 commented 4 years ago

qt可以动态链接字库呀,awtk我看到的是资源文件生成一个头文件,包含头文件,然后再引用,这是一个静态的过程,你的意思是awtk不能动态吗,我贴的代码是同一个项目qt main.c里面的初始化配置

xianjimli commented 4 years ago

你看下assets.c,定义了这个宏:WITH_FS_RES 就从文件系统加载字体,linux平台缺省是定义了这个宏的。

#ifndef WITH_FS_RES
#include "assets/default/inc/strings/en_US.data"
#include "assets/default/inc/strings/zh_CN.data"
#include "assets/default/inc/styles/big_font.data
chensheng-GitHub-2019 commented 4 years ago

好的,我在awtk-example res /font里面放了一个1.7M的字库,一个1.5M的字库,还有一个700多K的字库,为何编出来的demo文件大小一样呢,难道为字体指定了确定大小的空间?还是说字体加载是个动态过程呢

sohide commented 4 years ago

linux下默认会定义 WITH_FS_RES 这个宏,使用文件系统加载资源的方式,字库不会与执行文件编译在一起,图片也是一个道理