sfntly是google提供的开源库,解决字体文件的裁剪问题。sfntly有C++和Java两个版本,其中java版本的示例比较完善,网上可以搜到很多关于 sfnt tool的资源。C++版本的信息几乎没有。在这里将我在项目中经验进行简单的记录。
搭建sfntly的solution:
1. 在sfntly-master\cpp目录下找到CMakeLists.txt, open CMake, 把包含CMakeLIsts的源码作为原目录。
2. CMake的使用很简单,但是我下载的sfntly的CMakeLists.txt报了一个unit_test相关的错,相关代码在sfntly-master\cpp\ext\redist 目录下。
3. 我生成的solution是在VS 2010下运行,遇到了以下一些问题:
1)warning级别偏高,需要调低warning级别:
Properties -> C/C++
WarningLevel, Level3;
Treat warnings as errors, No.
2)编译依赖。需要先编译tinyxml, 其次是sfntly.
3)如果编译不识别std::