打印
[其它产品/技术]

飞凌嵌入式ElfBoard ELF 1板卡-i.MX6ULL交叉编译freetype字体引擎库

[复制链接]
713|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2024-6-7 11:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
freetype是开源的字体引擎库,它提供统一的接口来访问多种字体格式文件,从而实现矢量字体显示。我们只需要移植这个字体引擎,调用对应的API接口,提供字体文件,就可以让freetype库帮我们取出关键点、实现闭合曲线,填充颜色,达到显示矢量字体的目的。
freetype依赖于libpng,libpng又依赖于zlib,所以我们应该先编译安装zlib,再编译安装libpng,最后编译安装freetype。

交叉编译zlib
1、下载源码
https://zlib.net/
2、将zlib-1.3.1.tar.gz 拷贝到开发环境/home/elf/work目录下解压
elf@ubuntu:~/work$ tar xvf zlib-1.3.1.tar.gz
3、进入zlib源码目录内,创建一个install文件夹用来放置编译出来的文件
elf@ubuntu:~/work$ cd zlib-1.3.1
elf@ubuntu:~/work/zlib-1.3.1$ mkdir install
4、设置环境变量
elf@ubuntu:~/work/zlib-1.3.1$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
5、生成Makefile
elf@ubuntu:~/work/zlib-1.3.1$ ./configure --prefix=$(pwd)/install
6、编译
elf@ubuntu:~/work/zlib-1.3.1$ make
7、安装
elf@ubuntu:~/work/zlib-1.3.1$ make install
8、在install目录下生成文件
elf@ubuntu:~/work/zlib-1.3.1/install$ ls
include  lib  share
9、将install目录下的文件打包
elf@ubuntu:~/work/zlib-1.3.1/install$ tar -cvjf zlib.tar.bz2 *
10、拷贝zlib.tar.bz2到ELF 1开发板根目录下解压
root@ELF1:~# cd /
root@ELF1:/# cp run/media/sda1/zlib.tar.bz2 .
root@ELF1:/# tar -xvf zlib.tar.bz2

交叉编译libpng
1、下载源码
https://www.linuxfromscratch.org/blfs/view/svn/general/libpng.html
2、将libpng-1.6.43.tar.xz 源码拷贝到开发环境/home/elf/work目录下解压
elf@ubuntu:~/work$ tar xvf libpng-1.6.43.tar.xz
3、进入libpng源码目录内,创建一个install文件夹以用来放置编译出来的文件
elf@ubuntu:~/work$ cd libpng-1.6.43
elf@ubuntu:~/work/libpng-1.6.43$ mkdir install
4、设置环境变量
elf@ubuntu:~/work/libpng-1.6.43$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
5、生成Makefile
elf@ubuntu:~/work/libpng-1.6.43$ ./configure --prefix=$(pwd)/install --host=arm
6、编译
elf@ubuntu:~/work/libpng-1.6.43$ make
7、安装
elf@ubuntu:~/work/libpng-1.6.43$ make install
8、在install目录下生成文件
elf@ubuntu:~/work/libpng-1.6.43$ ls install/
bin  include  lib  share
9、将install目录下的文件打包
elf@ubuntu:~/work/libpng-1.6.43/install$ tar -cvjf libpng.tar.bz2 *
10、拷贝libpng.tar.bz2到ELF 1开发板根目录下解压
root@ELF1:~# cd /
root@ELF1:/# cp run/media/sda1/libpng.tar.bz2 .
root@ELF1:/# tar -xvf libpng.tar.bz2

交叉编译freetype
1、下载源码
https://download-mirror.savannah.gnu.org/releases/freetype/
2、将freetype-2.10.2.tar.gz 源码拷贝到开发环境/home/elf/work目录下解压
elf@ubuntu:~/work$ tar xvf qrencode-4.1.1.tar.gz
2.进入freetype源码目录内,创建一个install文件夹以用来放置编译出来的文件:
elf@ubuntu:~/work$ cd freetype-2.10.2/
elf@ubuntu:~/work/freetype-2.10.2$ mkdir install
3.设置环境变量
elf@ubuntu:~/work/freetype-2.10.2$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
4.生成Makefile
elf@ubuntu:~/work/freetype-2.10.2$ ./configure --host=arm-poky-linux-gnueabi --prefix=$(pwd)/install
5、编译
elf@ubuntu:~/work/freetype-2.10.2$ make
6、安装
elf@ubuntu:~/work/freetype-2.10.2$ make install
7、在install目录下生成文件
elf@ubuntu:~/work/freetype-2.10.2$ ls install/
include  lib  share
8、将install目录下的文件打包
elf@ubuntu:~/work/freetype-2.10.2/install$ tar -cvjf freetype.tar.bz2 *
9、拷贝freetype.tar.bz2到ELF 1开发板根目录下解压
root@ELF1:~# cd /
root@ELF1:/# cp run/media/sda1/freetype.tar.bz2 .
root@ELF1:/# tar -xvf freetype.tar.bz2

使用特权

评论回复
沙发
梵蒂冈是神uy| | 2024-7-30 17:43 | 只看该作者
其中zlib用于数据压缩,libpng用于处理PNG图像,而freetype则是字体引擎库,实现矢量字体的渲染。

使用特权

评论回复
板凳
AdaMaYun| | 2024-7-31 10:38 | 只看该作者
freetype是开源的字体引擎库,它提供统一的接口来访问多种字体格式文件,从而实现矢量字体显示

使用特权

评论回复
地板
为你转身| | 2024-9-30 13:10 | 只看该作者
实现闭合曲线,填充颜色,达到显示矢量字体的目的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1201

主题

5259

帖子

12

粉丝