您的位置:伟德app官方下载 > 房产楼市 > 字体分类,关于矢量字体type1

字体分类,关于矢量字体type1

2019-10-10 07:30

字体分类

  Type1使用三次贝塞尔曲线来描述字形,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)作为渲染引擎。

伟德app官方下载,Python图像处理库PIL的ImageFont模块介绍

ImageFont模块定义了相同名称的类,即ImageFont类。这个类的实例存储bitmap字体,用于ImageDraw类的text()方法。

PIL使用自己的字体文件格式存储bitmap字体。用户可以使用pilfont工具包将BDF和PCF字体描述器(Xwindow字体格式)转换为这种格式。

从版本1.1.4开始,PIL可以配置是否支持TrueType和OpenType字体(和FreeType库支持其他的字体格式一样)。对于更早的版本,只在imToolkit包中支持TrueType字体。

TrueType采用几何学中二次B样条曲线及直线来描述字体的外形轮廓,其特点是:TrueType既可以作打印字体,又可以用作屏幕显示;由于它是由指令对字形进行描述,因此它与分辨率无关,输出时总是按照打印机的分辨率输出。无论放大或缩小,字符总是光滑的,不会有锯齿出现。但相对PostScript字体来说,其质量要差一些。特别是在文字太小时,就表现得不是很清楚。

伟德体育官方网站,OpenType也叫Type 2字体,是由Microsoft和Adobe公司开发的另外一种字体格式。它也是一种轮廓字体,比TrueType更为强大,最明显的一个好处就是可以在把PostScript字体嵌入到TrueType的软件中。并且还支持多个平台,支持很大的字符集,还有版权保护。可以说它是Type 1和TrueType的超集。OpenType的主要优点:1)增强的跨平台功能 2)更好的支持Unicode标准定义的国际字符集 3)支持高级印刷控制能力 4)生成的文件尺寸更小 5)支持在字符集中加入数字签名,保证文件的集成功能。

OpenType标准还定义了OpenType文件名称的后缀名。包含TureType字体的OpenType文件后缀名为.ttf,包含PostScript字体的文件后缀名为.OTF。如果是包含一系列TrueType字体的字体包文件,那么后缀名为.TTC。

一、ImageFont模块的函数

1、 Load

定义:ImageFont.load(file)? Font instance

含义:从指定的文件中加载一种字体,该函数返回对应的字体对象。如果该函数失败,将产生IOError异常。

2、 Load_path

定义:ImageFont.load_path(file)? Font instance

含义:和函数load()一样,但是如果没有指定当前路径的话,会从sys.path开始查找指定的字体文件。

3、 Truetype

定义1:ImageFont.truetype(file,size) ? Font instance

含义1:加载一个TrueType或者OpenType字体文件,并且创建一个字体对象。这个函数从指定的文件加载了一个字体对象,并且为指定大小的字体创建了字体对象。

在windows系统中,如果指定的文件不存在,加载器会顺便看看windows的字体目录下是否存在。

这个函数需要_imagingft服务。

定义2:ImageFont.truetype(file,size, encoding=value) ? Font instance

含义2:(New in 1.1.5)加载一个TrueType或者OpenType字体文件,并且使用指定的编码方式创建一个字体对象。通常的编码方式有“unic”(Unicode),“symb”(Microsoft Symbol),“ADOB”(Adobe Standard),“ADBE”(Adobe Expert)和“armn”(Apple Roman)。

下面的例子使用MicrosoftSymbol字体,即变量encoding为“symb”,在oxF000和0xF0FF之间绘制一个字符。

font = ImageFont.truetype("symbol.ttf", 16, encoding="symb")
draw.text((0, 0), unichr(0xF000 + 0xAA))

4、 Load_default

定义:ImageFont.load_default()? Font instance

含义:(New in 1.1.4)加载一个默认的字体。

二、ImageFont模块的方法

Font对象必须实现下面的方法,供ImageDraw层使用。

1、 Getsize

定义:font.getsize(text)? (width, height)

含义:返回给定文本的宽度和高度,返回值为2元组。

2、 Getmask

定义:font.getmask(text,mode=”“) ? Image object

含义:为给定的文本返回一个位图。这个位图是PIL内部存储内存的实例(为Image.core接口模块定义)。

如果字体使用了抗锯齿,位图的模式为“L”,且其最大值为255。否则,它的模式为“1”。

(New in 1.1.5)可选参数mode用于一些显卡驱动指定自己喜欢的模式;如果为空,渲染器可能会返回任意模式。注意:该模式总是一个字符串。

三、ImageFont模块的实例

>>> from PIL import Image, ImageDraw, ImageFont
>>> im02 = Image.open("D:\Code\Python\test\img\test02.jpg")
>>> draw = ImageDraw.Draw(im02)
>>> ft = ImageFont.truetype("C:\WINDOWS\Fonts\SIMYOU.TTF", 20)
>>> draw.text((30,30), u"Python图像处理库PIL从入门到精通",font = ft, fill = 'red')
>>> ft = ImageFont.truetype("C:\WINDOWS\Fonts\SIMYOU.TTF", 40)
>>> draw.text((30,100), u"Python图像处理库PIL从入门到精通",font = ft, fill = 'green')
>>> ft = ImageFont.truetype("C:\WINDOWS\Fonts\SIMYOU.TTF", 60)
>>> draw.text((30,200), u"Python图像处理库PIL从入门到精通",font = ft, fill = 'blue')
>>> ft = ImageFont.truetype("C:\WINDOWS\Fonts\SIMLI.TTF", 40)
>>> draw.text((30,300), u"Python图像处理库PIL从入门到精通",font = ft, fill = 'red')
>>> ft = ImageFont.truetype("C:\WINDOWS\Fonts\STXINGKA.TTF", 40)
>>> draw.text((30,400), u"Python图像处理库PIL从入门到精通",font = ft, fill = 'yellow')
>>> im02.show()

在windows系统下,字体文件位于C:WindowsFonts文件夹下。本实例中用到的SIMYOU.TTF为幼圆字体文件,SIMLI.TTF为隶书字体文件,STXINGKA.TTF为行楷字体文件。用户可以根据自己的需要,从Fonts文件夹下选择所需字体文件。

字体的大小,可以根据定义字体时的第二个参数来设定。

本实例中图像im02如下图所示:

伟德体育官方网站 1

ImageFont模块定义了相同名称的类,即ImageFont类。这个类的实例存储bitmap字体,用于ImageDraw类的text()方法...

平时我们常见的字体格式主要有以下几种:  1.光栅字体(.FON)  这种字体是针对特定的显示分辨率以不同大小存储的位图,用于Windows系统中屏幕上的菜单、按钮等处文字的显示。它并不是以矢量描述的,放大以后会出现锯齿,只适合屏幕描述。不过它的显示速度非常快,所以作为系统字体而在Windows中使用。  2.矢量字体(.FON)  虽然扩展名和光栅字体一样,但是这种字体却是由基于矢量的数学模型定义的,是Windows系统字体的一类,一些windows应用程序会在较大尺寸的屏幕显示中自动使用矢量字体来代替光栅字体的显示。  3.PostScript字体(.PFM)  这种字体基于另一种矢量语言(Adobe PostScript)的描述,常用于PostScript打印机中,不过Windows并不直接支持这类字体,要在Windows使用这类字体需要安装"Adobe Type Manger"(ATM)软件来进行协调。  4.TrueType字体(.TTF)  这是我们日常操作中接触得最多的一种类型的字体,其最大的特点就是它是由一种数学模式来进行定义的基于轮廓技术的字体,这使得它们比基于矢量的字体更容易处理,保证了屏幕与打印输出的一致性。同时,这类字体和矢量字体一样可以随意缩放、旋转而不必担心会出现锯齿。

  矢量字体是与点阵字体相对应的一种字体。矢量字体的每个字形都是通过数学方程来描述的,一个字形上分割出若干个关键点,相邻关键点之间由一条光滑曲线连接,这条曲线可以由有限个参数来唯一确定。矢量字的好处是字体可以无级缩放而不会产生变形。目前主流的矢量字体格式有3种:Type1,TrueType和OpenType,这三种格式都是平台无关的。

字体分类 (载入中...)

  OpenType则是Type1与TrueType之争的最终产物。1995年,Adobe公司和Microsoft公司开始联手开发一种兼容Type1和TrueType,并且真正支持Unicode的字体,后来在发布的时候,正式命名为OpenType。OpenType可以嵌入Type1和TrueType,这样就兼有了二者的特点,无论是在屏幕上察看还是打印,质量都非常优秀。可以说OpenType是一个三赢的结局,无论是Adobe,Microsoft还是最终用户,都从OpenType中得到了好处。Windows家族从Windows 2000开始,正式支持OpenType。打开系统的字体目录(一般是C:WindowsFonts或C:WinntFonts),可以看到:一个红色A的图标的是点阵字体,两个重叠的T的图标是TrueType字体,一个O的图标就是OpenType字体。

苹果字体分类:

  TrueType是1991年由Apple公司与Microsoft公司联合提出另一套矢量字标准。

■位图字体(如New York9、New York12等),多数位图字体都提供一小套标准的大小,通常是9、10、12、14、18和24磅。毛病是容易出现锯齿,为落伍的字体技术。■ 轮廓字体 (可缩放字体,是相对于位图字体而言),位图字体显示效果好,轮廓字体打印效果好。两种基本类型的轮廓字体是:TrueType和PostScript■ TrueType 字体最先由Apple公司开发,是目前Mac上的主要字体类型。位图字体仅能以它们的单个固定大小来显示比例,TrueType字体会以三种不同的大小来显示比例。通过名称也能区分,位图字体命名时总是还有表示大小的数字(如New Work12),TrueType字体命名时则不带数字(如New York)。■ PostScript字体最先由Adobe公司开发,是一种页面描述语言,用来描述图形和文本输出(通常是至 PostScript 打印机)的位置和外观。PostScript 打印机可打开由任何类型的字体所创建的文本,但为最大程度上利用 PostScript 的性能,用户需要专用的 PostScript 字体。 Macintosh PostScript 打印机多数是激光打印机,但并不是所有的激光打印机都包含 PostScript。喷墨打印机一般都不是 PostScript 设备,但有些喷墨打印机包含有 PostScript 解释器或可选择添加这样一个解释器。PostScript 字体通常称为打印机字体。 Adobe公司的 Adobe Type Manager(ATM) 专门针对PostScript 字体的使用而设计。ATM Deluxe 为 ATM的增强版本。ATM是控制板,ATM Deluxe 是应用程序。ATM是一个很容易引起软件冲突的控制板,千万不要企图更改其文件名(即撤除~符号),否则是崩溃和死机的直接做法。

关于矢量字体type1/TrueType/OpenType (载入中...)

  Type1全称PostScript Type1,是1985年由Adobe公司提出的一套矢量字体标准,由于这个标准是基于PostScript Description Language(PDL),而PDL又是高端打印机首选的打印描述语言,所以Type1迅速流行起来。但是Type1是非开放字体,Adobe对使用Type1的公司征收高额的使用费。

本文由伟德app官方下载发布于房产楼市,转载请注明出处:字体分类,关于矢量字体type1

关键词: