X Window研究笔记(18)
2007-10-02 14:19
253 查看
X Window研究笔记(18)
转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>
18.X Window 字体处理
X Window支持多种字体,即支持点阵字体,也支持矢量字体。最初,对字体的管理和渲染都是由X Server来做的。但是X Server管理和渲染字体有诸多不便,现在一般都由客户端的fontconfig/freetype来做这部分工作了。
服务器端字体处理
与字体相关的服务有:
ProcOpenFont : 打开客户端指定的字体。
ProcQueryFont: 查询的字体信息。
ProcCloseFont : 关闭客户端指定的字体。
ProcListFonts :枚举服务端支持的字体。
ProcSetFontPath :设置字体搜索路径。
ProcGetFontPath : 查询服务器上字体搜索路径。
在这里,有人可能有点疑惑:打开、查询和关闭字体都有相应的函数,为什么没有看到使用字体的函数呢。原因是这样的,字体是与GC相关联的,设置字体是通过ChangeGC函数来实现的,在客户端的库里,提供了XSetFont函数,它对ChangeGC进行了封装,使其意义直观一点。
int
ProcChangeGC(client)
register ClientPtr client;
客户字体处理:
客户端处理字体的基本流程如下:
使用Fontconfig匹配到相应的字体。
使用用freetype绘制字体成glyph。
使用Xrender扩展模块把字体glyph画到屏幕上。
Xft对前面两步进行了封装,用起来会方便一点。前面两步是在客户端执行的,后面一步是在服务上执行的。
相应的函数有:
XftFontOpenName: 打开指定的字体。
XftDrawString8: 使用指定的字体绘制文字。void
(待续)
转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>
18.X Window 字体处理
X Window支持多种字体,即支持点阵字体,也支持矢量字体。最初,对字体的管理和渲染都是由X Server来做的。但是X Server管理和渲染字体有诸多不便,现在一般都由客户端的fontconfig/freetype来做这部分工作了。
服务器端字体处理
与字体相关的服务有:
ProcOpenFont : 打开客户端指定的字体。
ProcQueryFont: 查询的字体信息。
ProcCloseFont : 关闭客户端指定的字体。
ProcListFonts :枚举服务端支持的字体。
ProcSetFontPath :设置字体搜索路径。
ProcGetFontPath : 查询服务器上字体搜索路径。
在这里,有人可能有点疑惑:打开、查询和关闭字体都有相应的函数,为什么没有看到使用字体的函数呢。原因是这样的,字体是与GC相关联的,设置字体是通过ChangeGC函数来实现的,在客户端的库里,提供了XSetFont函数,它对ChangeGC进行了封装,使其意义直观一点。
int
ProcChangeGC(client)
register ClientPtr client;
客户字体处理:
客户端处理字体的基本流程如下:
使用Fontconfig匹配到相应的字体。
使用用freetype绘制字体成glyph。
使用Xrender扩展模块把字体glyph画到屏幕上。
Xft对前面两步进行了封装,用起来会方便一点。前面两步是在客户端执行的,后面一步是在服务上执行的。
相应的函数有:
XftFontOpenName: 打开指定的字体。
XftDrawString8: 使用指定的字体绘制文字。void
(待续)
相关文章推荐
- X Window研究笔记(18)
- X Window研究笔记(20)
- X Window研究笔记(22)
- Spark研究笔记18:消息packet传递
- X Window研究笔记(22)
- X Window研究笔记(1)~22
- X Window研究笔记(3)(转贴)
- X Window研究笔记(20)
- X Window研究笔记(22)
- X Window研究笔记(20)
- X Window研究笔记(20)
- X Window研究笔记--七大设计准则
- X Window研究笔记(3)
- X Window研究笔记(6)
- X Window研究笔记(19)
- X Window研究笔记(22)
- X Window研究笔记(4)(转贴)
- X Window研究笔记(20)
- X Window研究笔记(21)
- X Window研究笔记--七大设计准则