论文 XPSDrv中TTF的Hinting研究与实现 阅读笔记

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/qq_32768743/article/details/89040831

原文:
http://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CMFD&dbname=CMFD2009&filename=2008123760.nh&uid=WEEvREdxOWJmbC9oM1NjYkZCbDdrdW1OMUxudGVncHVnZHRsMm5BSkNjNnA=$R1yZ0H6jyaa0en3RxVUd8df-oHi7XMMDo7mtKT6mSmEvTuk11l2gFA!!&v=MDMwOTExVDNxVHJXTTFGckNVUkxPZlkrWnFGeW5tVWIvSVYxMjdGcks2SGRiS3I1RWJQSVI4ZVgxTHV4WVM3RGg=

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

LibXft,Cairo,Fontconfig,FreeType,Pango

LibXft库是为了给X应用程序提供一个能访问FreeType字体光栅化引擎和X渲染扩展的、便于使用的接口,鉴于FreeType没有提供配置和定制字体的功能,LibXft也担负了这一任务。LibXft提供了新的字体命名约定、复杂而精密的字体匹配和选择机制,并对相关功能进行充分的抽象,从而使得一般应用程序既能够从使用X渲染扩展的文本输出获得益处,又能在不支持这一扩展的X服务器上正常工作。LibXft是画字函数库,它使用Fontconfig匹配到了所要的字型之后,来决定该如何画这些字。LibXft会看情况而决定要不要使用core protocol或XRender 来画字。LibXft主要作GTK2(GTK<2.8.0)程序,QT程序的画字函数库。
Cairo是一个支持多种输出的向量图形库,也就是说,Cairo是种画图的工具库,它可以向多种设备上画图。可以输出到pdf,ps,xlib,XCB,win32,svg。基于(GTK >= 2.8.0)的程序用Cairo画字而不再使用LibXft。
Fontconfig包含两个基本的模块,即读取XML文件并建立内部配置的配置模块和接受请求的字体样板并返回最接近所需字体的匹配模块。
FreeType库是一个高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType,OpenType,Type1,CID,CFF,Windows FON/FNT,X11PCF等。支持单色位图(homochromous bitmap)、反走样位图(anti-alias bitmap)的渲染。FreeType是高度模块化设计的程序库。FreeType提供LibXft/Cairo 如何画字的信息,包括处理Anti-aliasing或Hinting。因此FreeType的改变会影响到LibXft/Cairo画出来的字,而Fontconfig的改变会影响到LibXft/Cario如何去选字来画。
Pango是个开源的整合到GTK+2的渲染国际化文本文件的库,Pango的名字是由希腊语“Pan”(所有)+日语“Go”(语)组合成。也就是A11language,Pango负责多国语言文本(如一个文本文件中由英文,日文,中文等不同的语系组成)的渲染。

猜你喜欢

转载自blog.csdn.net/qq_32768743/article/details/89040831