文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发OracleXft字体库:体系结构及用户指南
精品推荐
特别推荐
·常用数据库比较
·ODBC API常用函数诠释
·提高ORACLE数据库的查询统计速度
·细化解析:Oracle使用的hints调整机制
·解析Oracle/Oracle Forms 的多用途代码
·从Oracle的FORM中调用REPORT的实用技巧
·Oracle SQL精妙SQL语句讲解
·ORACLE学习笔记--性能优化四
·ORACLE常用傻瓜问题1000问
·ORACLE常见错误代码的分析与解决之二
·深刻理解Oracle数据库的启动和关闭
·监控Oracle数据库的常用shell脚本
·Oracle在Solaris下的性能与调整简介
·通俗解说ORACLE
·数据库安全性策略
热点TOP10
·详细介绍ORACLE sqlplus命令
·ORACLE常用傻瓜问题1000问
·我的oracle笔记四(DBA管理)
·Oracle SQL精妙SQL语句讲解
·Oracle Tuning (Oracle 性能调整)的一些总结
·我的oracle笔记一(sql语句方面)
·程序员如何掌握计算机英语
·用正则表达式函数验证身份证号码合法性
·oracle数据库 exp/imp命令详解
·性能分析工具的使用
·ORACLE UPDATE 语句语法与性能分析看法
·在Solaris 10 X86上安装Oracle 10g RAC详解 (1)
·ORA-01092: ORACLE 例程终止。强行断开连接
·VMware下RedHat安装Oracle 9i RAC全攻略
·监控Oracle数据库的常用shell脚本
·手工创建oracle数据库
·常用数据库比较
·PL/Sql循序渐进全面学习教程
·在Solaris 10 X86上安装Oracle 10g RAC详解 (2)
·Oracle客户端文件打包

Xft字体库:体系结构及用户指南

日期:2007年7月2日 作者: 查看:[大字体 中字体 小字体]



  摘要
  
  X渲染扩展(X Render Extension)提供了一个新的基于客户方字形(glyph)和字体管理的字形渲染体系结构。这个扩展设计在解决了许多相关技术难题的同时,也把光栅化字体、配置字体以及定制字体使用的责任交给了每一个X客户程序。
  
  编写Xft库是为了给X应用程序提供一个能访问FreeType字体光栅化引擎和X渲染扩展的、便于使用的接口,鉴于FreeType没有提供配置和定制字体的功能,Xft也担负了这一任务。Xft提供了新的字体命名约定、复杂而精密的字体匹配和选择机制,并对相关功能进行充分的抽象,从而使得一般应用程序既能够从使用X渲染扩展的文本输出获得益处,又能在不支持这一扩展的X服务器上正常工作。
  
  
  
  1 引言
  
  X渲染扩展[Pac01]把访问字体文件和生成字形图像的功能从X服务器移到了X客户一方。采用客户方字形管理的X应用程序在以下几个方面有优势:可以访问字体文件的所有细节,应用程序可以指定特有字体,渐增的光栅化处理(incremental rasterization),并且有可能与其他部件共享字体,例如打印机。此外,鉴于底层的渲染机制基于图像而非字形,字形的光栅化技术、乃至字体文件格式本身都不再依赖于X服务器的能力,所以现在新字体技术的集成速度可以跟得上独立应用程序的开发,而不必遥遥无期地等待新的X服务器增强技术。
  
  当X服务器不再负责管理字体文件的访问和字形生成,就需要一个新的函数库在客户方完成相应的任务。由于X渲染扩展在设计上支持消锯齿(anti-aliased)图形,这个新的函数库需要支持高质量的消锯齿字形光栅化。
  
  FreeType项目[TT00]开发了一个完整的字体光栅化引擎,不仅支持大多数轮廓字体格式,还支持标准的X PCF位图字体,X渲染扩展接收字形图像并使之在屏幕上显现。为了让应用程序能在屏幕上显现高质量的文本,所需要做的就是在FreeType和X渲染扩展之间放置一层薄薄的“粘合”代码。
  
  对于不支持渲染扩展的X服务器,这个函数库还需要提供访问“核心”字体(使用原始X核心协议访问的字体)的能力,这就使得应用程序能在转向新函数库时仍然支持老式X服务器。
  
  FreeType库没有指定如何定位字体文件,而是需要应用程序提供字体文件名,这就把配置和定制可用字体集合的负担放在了FreeType库以外,因此,这个新的“粘合”层也需要提供一些配置功能以便在桌面环境中应用。
  
  
  
  2 X渲染扩展字形管理
  
  X渲染扩展提出了几个简单抽象供应用程序管理字形。每个Glyph结构包括一个覆盖字形外形的alpha掩码(一个描述不透明值的矩形映象)、从alpha掩码原点到名义字符原点的偏移量、到下一字形的位移(包括垂直和水平的偏移量),GlyphSet结构则包含了一个字形结构的集合,应用程序使用一个32位的索引对字形集进行编号。
  
  应用程序绘制文本时,把一个GlyphSet标识符以及一系列针对该GlyphSet的索引发送到X服务器,X服务器通过对指定位置使用字形结构中的偏移量调整确定绘制位置,并渲染alpha掩码来完成对每个字形的处理,后续字形的绘制位置则是通过在当前原点加上位移向量实现。正如X核心协议中的PolyText请求,在同一个请求中可以对字形序列作出调整位置、改变GlyphSet等变动,从而使得一个复杂的字符串在一次操作中完成渲染。
  
  为了覆盖世界上更多的民族,操作系统支持的语言和区域集合不断扩展,伴随这种扩展,大多数字体中包含的字形数也大大增加,当今流行的轮廓字体中会包含几千个字形。十多年前,渐增式渲染字形被看作一种合理的优化,现在已成为各种字体机制中的基本组成部分,以尽可能减少每种字体占用的内存,并缩短访问一种新字体时所需的时间。X渲染扩展通过允许在需要时把一个Glyph加入已存在的GlyphSet,提供了这种渐增式渲染支持。由于在添加Glyph的过程中没有任何从X服务器到X客户的信息流,这一过程可以完全异步进行。这种异步性保证了即使面对一个高网络延迟的环境,仍有可接受的性能表现。
  
  当应用程序传送它们需要显示的字形图像时,X服务器通过在任何可能情况下共享相同字形来节省内存。
  
  
  
  3 FreeType库
  
  FreeType项目的初衷是要构建一个自由的TrueType字体光栅化器。FreeType的第一版提供了与现有系统相当的高质量TrueType光栅化器,FreeType的第二版对内部结构进行了一般化以支持更多字体格式,除了支持Type-1、OpenType和CID等众多轮廓字体格式,FreeType现在还支持X的标准PCF格式(可移植编译格式)的位图字体。
  
  FreeType不仅提供光栅化以及度量字形的接口,还提供存取字体文件内各种形式的字距调整和字形替换等表格的机制。这就在基础字体含有相应表格的前提下,使应用程序能够获得在各种区域中定位字形所必需的数据。
  
  既然FreeType项目明确地要构建一个通用的字体函数库,在XFree86开发一个新函数库的负担就可以大大减轻,因为可以直接采用现有系统,并提供“粘合代码”改变FreeType数据结构使之使用X渲染扩展的要求。
[1] [2] 下一页 




上一篇:关系型数据库:应用第一范式

下一篇:Fontconfig用户手册

Xft字体库:体系结构及用户指南 相关文章:
·XP用户:教你实用50招
·MPEG、RM、WMV电影文件格式转换指南
·神不知鬼不觉地更换Win XP用户密码
·《人工少女2》操作指南 - 游戏手册
·高手进阶,终极内存技术指南——完整/进阶版
·暗黑破坏神2:毁灭之王 装备修改指南 - 游戏攻略
·腾讯QQ号码使用完全指南
·从零开始学黑客:网络黑客新手入门指南
·EZ-USB 68013A开发指南
·速度太慢 微软官方发布Vista加速指南
Xft字体库:体系结构及用户指南 相关软件:
·300多种中文字体
·微软雅黑字体
·素材字体-中国龙字库
·Adobe Photoshop CS 2 简体中文使用指南
·很多人要的毛笔书法字体(启功体 简体+繁体)
·Office 2003 教程完全指南
·混凝土结构设计规范GB50010-2002
·搜狗拼音输入法(可自定义字体、大小、颜色等)V3.0Beta2
·Graffiti Fonts Edition (商业涂鸦艺术字体)V2.0
·8首国内知名摇滚乐队的mv(唐朝、黑豹、郑钧、何勇、指南针……)

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot