FreeType与CFF
来源:互联网 发布:wifi网络超时怎么解决 编辑:程序博客网 时间:2024/06/07 09:28
FreeType与CFF
CFF Engine其实一直存在于Freetype的源码中的,只不过是Freetype开发团队实现的。最近突然火起来了的原因是Adobe将其CFF Engine的源码合并了进去,这使得Freetype处理cff或者otf的效果会更加好。毕竟这个加入了Adobe的心血。
Freetype CFF典型版本:2.5.2,从这个版本正式加入了Adobe CFF Engine.
2.5.2以上版本的Freetype编译时默认使能了Adobe,应用程序的使用,这里有FreeType-2.5.2 API Reference The CFF driver教程。
Freetype教程:http://www.freetype.org/freetype2/docs/tutorial/step1.html
Freetype CFF应用程序教程:http://lists.nongnu.org/archive/html/freetype-devel/2013-05/msg00000.html
Freetype CFF编译教程:
Freetype LWM上的讨论:Adobe CFF rasterizer contributed to FreeType
下面是我实验的过程,1.编译2.5.2版本的Freetype。2.在原有测试程序中添加Adobe CFF Engine.
1.编译2.5.2版本的Freetype.
$ cd ~/Downloads
$ wget http://download.savannah.gnu.org/releases/freetype/freetype-2.5.2.tar.gz
$ tar zxvf freetype-2.5.2.tar.gz
$ cd freetype-2.5.2/
$ ./configure
$ make
$ sudo make install
2.编译运行测试程序
结合https://github.com/acarrico/ex-sdl-freetype-harfbuzz/blob/master/ex-sdl-freetype-harfbuzz.c和思源字体。
基于以上例子,添加如下内容:
#include FT_CFF_DRIVER_H
#include FT_MODULE_H
.....
int engine = FT_CFF_HINTING_ADOBE;
assert(!FT_Property_Set( ft_library, "cff", "hinting-engine", &engine ));
两样是如下的图,可以看出并没有明显的效果。如何才能直观地看到效果呢?目前来说还显示有些困难,只有在极端条件下才能有明显的效果吧,比如DPI只有85的LCD上。但是这也是一个漫长的过程。能够显示了,再更新。
其它问题:
1. /usr/bin/install cannot stat `./builds/unix/freetype-config'
编译时遇到如上错误,是因为我使用了autoconfig而不是configuration造成的。
2.undefined symbol: FT_Property_Set
运行程序的时候遇到的错误,编译可以过,运行不可以,说明编译和运行使用的不是同一个库。通过readelf -s /usr/local/lib/libfreetype.so | grep FT_P可以找到,但是在gcc中那个确实是找不到符号。如下操作解决:
sudo cp /usr/local/lib/libfreetype.so.6.11.1 /usr/lib/i386-linux-gnu/
sudo rm /usr/lib/i386-linux-gnu/libfreetype.so
sudo ln /usr/lib/i386-linux-gnu/libfreetype.so.6.11.1 /usr/lib/i386-linux-gnu/libfreetype.so
sudo ldconfig
- FreeType与CFF
- freetype
- freetype
- freetype
- FreeType
- FREETYPE
- freetype
- freetype
- AGG AGG与FreeType库
- freetype的安装与使用
- 2016 CFF Reverse
- CFF 1016 计算天数
- CFF 1022 平均年龄
- CImg应用-FreeType下载与安装(CentOS 6.5)
- CFF Explorer: New PE Editor
- CFF Explorer III by Ntoskrnl
- CFF Z字扫描问题
- CFF-有趣的数-详解
- String,StringBuffer与StringBuilder的区别??
- BlueTooth蓝牙协议规范(五)
- Scala学习笔记4 (Object-Oriented Programming)
- 《从军行七首·其四》 王昌龄
- nginx+php 限制每个站点的目录范围,防止跨站
- FreeType与CFF
- “Island of isolation” of Garbage Collection
- 理解互斥量和信号量
- cxf学习日记2
- Scala学习笔记5 (集合 Collections)
- vim中做简单运算
- javascript 点击<div> javascript 点击链接 用javaScript点击id、点击className、再点击一个tagName
- Scala学习笔记6 (io)
- VC获得本机网络连接状态