Chinaunix首页 | 论坛 | 博客
  • 博客访问: 186591
  • 博文数量: 71
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 210
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-13 14:49
文章分类
文章存档

2017年(1)

2015年(5)

2014年(10)

2013年(55)

我的朋友

分类: LINUX

2017-04-21 15:28:45

一、编译和移植
    1) ./configure CC=/opt/hisi-linux-nptl/arm-hisiv100-linux/target/bin/arm-hisiv100nptl-linux-gcc --host=arm-linux prefix=$PWD/_install
    
/******************************************************
    CC :       指定编译工具
    --host    指定目标平台
    prefix     指定make install后生成的lib和include防止目录
*******************************************************/
    2) make
    3) make install

上述命令属于xxx-gcc编译工具编译freetype,生成库文件和头文件存放在freetype/_install目录

二、裁剪
    1) 修改文件modules.cfg
           (1)字体库的支持
                FONT_MODULES宏,此处以.ttf格式的字体库为例。
    

点击(此处)折叠或打开

  1. # TrueType font driver.
  2. #
  3. # This driver needs the `sfnt' module.
  4. FONT_MODULES += truetype
                 .ttf对应FONT_MODULES是truetype,保留。其他FONT_MODULES全部#注释。(注意:this driver needs the 'sfnt' module 所以,FONT_MODULES += sfnt保留,同理,psnames保留

点击(此处)折叠或打开

  1. # SFNT files support. If used without `truetype' or `cff', it supports
  2. # bitmap-only fonts within an SFNT wrapper.
  3. #
  4. # This driver needs the `psnames' module.
  5. FONT_MODULES += sfnt
           (2) HINTING_MODULES宏
                  使用上述方法,根据 ‘autofit’ 和‘pshinter’是否被需要,我使用的TrueType不需要这个部分,所以注释掉。

           (3) RASTER_MODULES宏
                  阅读文件内容,‘smooth’ 和 ‘raster’至少保留一个。

           (4)  AUX_MODULES宏
                  .ttf关联‘psnames’,保留!cache gzip lzw bzip2 gxvalid各种table和压缩解压部分,注释掉。

           (5)  BASE_EXTENSIONS宏
                  全部注释掉。

(注:(4)(5)的注释会影响掉链接freetype库的某些函数和数据类型失败,请根据名字重新取消注释编译freetype)。
           本人为了支持ttf字库生成位图,保留的部分有:
               FONT_MODULES += truetype
               FONT_MODULES += sfnt
               RASTER_MODULES += smooth
               AUX_MODULES += psnames
               BASE_EXTENSIONS += ftbitmap.c
               BASE_EXTENSIONS += ftglyph.c
               BASE_EXTENSIONS += ftstroke.c
               最后生成动态库strip后是240K

三、使用
          编译出来的include和lib目录下文件直接使用。但是include下的ft2build.h位置有点奇怪,看起内容:
           #include
          但是生成的include目录是include/freetype2/freetype/,并且ft2build.h在include下,跟freetype2同级,所以我把他放到了freetype2下,跟freetype同级

    
阅读(1899) | 评论(0) | 转发(0) |
0

上一篇:音频帧概念详解

下一篇:没有了

给主人留下些什么吧!~~