关于矢量字体
来源:互联网 发布:火影忍者每日签到软件 编辑:程序博客网 时间:2024/04/27 13:28
矢量字体
矢量字体是与点阵字体相对应的一种字体。矢量字体的每个字形都是通过数学方程来描述的,一个字形上分割出若干个关键点,相邻关键点之间由一条光滑曲线连接,这条曲线可以由有限个参数来唯一确定。矢量字的好处是字体可以无级缩放而不会产生变形。目前主流的矢量字体格式有3种:Type1,TrueType和OpenType,这三种格式都是平台无关的。
Type1全称PostScript? Type1,是1985年由Adobe公司提出的一套矢量字体标准,由于这个标准是基于PostScript Description Language(PDL),而PDL又是高端打印机首选的打印描述语言,所以Type1迅速流行起来。但是Type1是非开放字体,Adobe对使用Type1的公司征收高额的使用费。
TrueType是1991年由Apple公司与Microsoft公司联合提出另一套矢量字标准。
Typ1使用三次贝塞尔曲线来描述字形,TrueType则使用二次贝塞尔曲线来描述字形。所以Type1的字体比TrueType字体更加精确美观。一个误解是,Type1字体比TrueType字体占用空间多。这是因为同样描述一个圆形,二次贝塞尔曲线只需要8个关键点和7段二次曲线;而三次贝塞尔曲线则需要12个关键点和11段三次曲线。然而实际情况是一般来说 Type1比TrueType要小10%左右。这是因为对于稍微复杂的字形,为了保持平滑,TrueType必须使用更多的关键点。由于现代大部分打印机都是使用PDL作为打印描述语言,所以True1字体打印的时候不会产生形变,速度快;而TrueType则需要翻译成PDL,由于曲线方程的变化,还会产生一定的形变,不如Type1美观。
这么说来,Type1应该比TrueType更具有优势,为什么如今的计算机上TrueType反而比Type1使用更广泛呢?这是因为第一:Type1由于字体方程的复杂,所以在屏幕上渲染的时候,花费的时间多,解决方案是大部分Type1字体嵌入了点阵字体,这样渲染快,但是边缘不光滑,比较难看。很多ps文档和ps转换的pdf文档都是这样,在计算机上浏览的时候字体很难看,但是打印出来很美观。TrueType则渲染比较快,可以平滑的显示在屏幕上,看上去很美观。
第二个原因是Type1的高额使用费,使得Type1没有被所有的操作系统所支持。Windows家族只有OS/2和windows 2000及之后的版本从操作系统级别开始支持Type1。由于这个问题,Adobe只好在其所有的产品中嵌入Adobe Type Manager(ATM)作为渲染引擎。
OpenType则是Type1与TrueType之争的最终产物。1995年,Adobe公司和Microsoft公司开始联手开发一种兼容Type1和TrueType,并且真正支持Unicode的字体,后来在发布的时候,正式命名为OpenType。OpenType可以嵌入Type1和TrueType,这样就兼有了二者的特点,无论是在屏幕上察看还是打印,质量都非常优秀。可以说OpenType是一个三赢的结局,无论是Adobe,Microsoft还是最终用户,都从OpenType中得到了好处。Windows家族从Windows 2000开始,正式支持OpenType。打开系统的字体目录(一般是C:/Windows/Fonts/或C:/Winnt/Fonts),可以看到:一个红色A的图标的是点阵字体,两个重叠的T的图标是TrueType字体,一个O的图标就是OpenType字体。
btw, Agfa貌似是Type1的忠实拥趸,我看到的Agfa字体都是Type1的,不过真的是非常漂亮。
- 关于矢量字体
- 转载的一篇关于矢量字体的文章
- 矢量字体和像素字体
- 矢量字体字形分布图
- 获取window下矢量字体
- WPF矢量字体图标(iconfont)
- 基于矢量切片的电子地图配图(六)关于字体
- 点阵字体和矢量字体的区别
- Illustrator矢量特效字:凝胶气泡字体
- AS3将字体转矢量图形
- MiniGUI 3.0 支持truetype 矢量字体问题解决
- STM32+UCGUI+FreeType2 矢量字体的旋转
- windows矢量字体点阵数据的提取
- 嵌入式Linux增加矢量字体的支持
- 韦东山视频心得体会之矢量字体
- freetype安装使用详解(矢量字体操作)
- 矢量图标字体自定义li编号样式
- 矢量字体-FreeType的移植安装
- ATL7.1编写ActiveX控件
- C#锐利体验(zt)
- Ubuntu 5.10下的java环境配置及中文化
- 说说Unicode,V4.1.0
- 购机必看教你认识電腦硬件中不可的零件---电容篇(图)之二 (转东转西)
- 关于矢量字体
- 征途尚未开始,无战斗减员一名
- 应聘微软失败记
- AD访问类库 2.0
- Exception-Safety in Generic Components
- 用gdb调试子进程
- 当我踏上程序员的道路
- 第一篇在CSDN的文章-----教你如何成为一名Java初级程序员
- 在Asp.net中如何实现弹出提示对话框