科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件X Window 字体处理

X Window 字体处理

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

X Window支持多种字体,即支持点阵字体,也支持矢量字体。

作者:absurd 来源:CSDN 2008年1月31日

关键字: 字体处理 X Window Linux

  • 评论
  • 分享微博
  • 分享邮件
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;


客户字体处理:

客户端处理字体的基本流程如下:
  1. 使用Fontconfig匹配到相应的字体。
  2. 使用用freetype绘制字体成glyph。
  3. 使用Xrender扩展模块把字体glyph画到屏幕上。
Xft对前面两步进行了封装,用起来会方便一点。前面两步是在客户端执行的,后面一步是在服务上执行的。

相应的函数有:

  • XftFontOpenName: 打开指定的字体。
  • XftDrawString8: 使用指定的字体绘制文字。void         

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章