FreeType 字体工具

开源网站开源项目 24-04-24 12:30:50

FreeType 2被设计为一种占用空间小的、高效的、高度可定制的、并且可以产生可移植的高品质输出(符号图像)。可以被用在诸如图像库、展出服务器、字体转换工具、图像文字产生工具等多种其它产品上。

请注意FreeType 2是一种字体服务而没有提供为实现文字布局或图形化处理这样高阶的功能使用的API(比如带色文字渲染之类的)。然而,它提供一个简单的、易用的并且统一的接口实现对多种字体文件的访问,从而大大简化了这些高级的任务。

FreeType 2的发行遵循两个开源许可:我们自己的BSD样式的FreeType License和GPL(通用公共许可证)。它可以被用在任何程序中,无论是专有与否。

特性

下面是 FreeType 2 提供的特性的一个不完全列表:

1. FreeType 2 为访问字体文件提供了一套统一的、独立于字体文件类型的、简单而易用的API。另外,一些特别类型的API可以用来访问字体文件里的特殊数据。

2. 与大多数同类的字库不同,FreeType 2 生来就支持类似TrueType 或者 Type 1的可缩放字体类型,并且可以将字体的大纲数据(控件介绍/提示)返回给各户应用程序。

3. FreeType 2 的设计是基于模块的,这些模块可以在编译时被静态链接到库中或者在运行时根据需要加载。模块可以用来支持特殊的字体格式,或者甚至是新的符号图像类型!

4. FreeType 2 特意使用嵌入式系统编写,这意味着它不使用静态可写数据(也就是说,它可以直接从ROM中运行),这样客户程序就可以只为他们自己提供内存管理和输入/输出流的实现。

5. 客户程序自己的输入/输出流可以使你轻易地使用相同的API读取基于ROM或被压缩的或远程的字体文件。多个流实现可以并行的被一个FreeType 2 实例使用。

6. 你可以只编译那些你的嵌入式工程或环境需要的模块,从而有效的减小FreeType 2 的代码大小。

7. FreeType 2 默认支持下面的字体类型:TrueType 字体(集合)Type 1 字体CID-keyed Type 1 字体CFF 字体OpenType fonts (包括 TrueType 和 变体CFF )SFNT-based bitmap 字体X11 PCF 字体Windows FNT 字体BDF 字体 (包括反走样类型的)PFR 字体Type 42 字体 (有限支持)

8. 通过一个给定的字形轮廓,FreeType 2 有能力产生一个高质量的单色位图或一幅使用年256阶灰度的不走样的像素图。这比Windows 9x/98/NT/2000 或 FreeType 1使用的5阶灰度像素图要好得多。

9. FreeType 2 支持 TrueType 和 OpenType 规格定义的全部字符映射。同时,它也完全有能力自动合成Type 1 使用的那种Unicode字符表,这种表要求必须把一个那种令人头痛的供转换编码时使用的结束符放置在标的末尾——这在Type 1 使用的那种格式中是很常见的(当然,如果你需要,那种原始的编码方式也是可用的)。

10. FreeType 2 的核心API提供了对访问字形名或调整数据中字符间距这样的高级信息的函数支持。

11. 一个完整且有效率的TrueType字节码解释器。这个引擎可以用很小的点产生极好的输出。由于TrueType规格极其令人费解且十分含糊,这个组件想要成功完成输出是极其困难的。但无论如何,我们现在已经能使Windows的显示质量达到Mac的水平。

12. 对于那些不需要或不希望为TrueType字体使用字节码解释器的人,我们开发了我们自己的自动提示模块。这种模块过去也曾被一些可缩放的字体使用过。

13. FreeType 2 可以产生一些相似的字体引擎无法产生的信息,例如字距调整的位距、字符名、垂直度量之类的。由于它模块化的设计,可以很方便地通过可选的API更改FreeType库来提供另外的针对特定字体类型的信息。(例如,一个可选的API用来检索TrueType 和 OpenType 字体的SFNT表。

14. 自从2.0.1版发布开始,FreeType 2 开始提供它自己的超高速缓存子系统。可以利用它缓存可变实例或字形图像,使它们拥有更高的效率。

[FreeType 字体工具]相关推荐

pippo 微型 Java Web 框架

它是一个开源的微型Java Web框架,拥有最少的依赖,以及快速的学习曲线。 该项目的目标是创建一个微型的W……...

ZK Ajax 框架

ZK Ajax 框架

ZK是一套以 AJAX/XUL/Java 为基础的网页应用程式开发框架,用于丰富网页应用程式的使用接口。最大的好处……...

Nix

Nix 项目包含下面相关的开源子项目: Nix 是一个完全的软件包管理器,可进行独立的包升级而不会影响其他……...

Lioness Lioness 编程语言

Lioness 是为数学计算而设计的高级编程语言。该项目包括词法分析器、解析器、编译器和解释器。所有这些都……...

kob 中心化作业调度系统

kob 是中心化的作业调度系统,定义了任务调度模型,实现了任务调度的统一管理和监控。 主要特点 客户端任……...

今日开源
  1. Webots 开源机器人模拟器

    Webots 开源机器人模拟器

    Webots 是用于模拟机器人的开放源代码和多平台桌面应用程序。它提供了一个完整的开发环境来对机器人进行建模,编程和仿真。 它被设计用于专业用途,并且广泛用于工业,教育和研究。自1998年以来,Cyber​​botics Lt……

    开源软件 2024-05-03

  2. par markdown 转换 html 工具

    par 是一个基于 pyPEG 写的转換 markdown 为 html 的工具,它是用 python 语言开发的。 除了支持标准的 markdown语法,还支持一些扩展语法,如 github 的 markdown 扩展及自定义的扩展,可以生成 boostrap 或 sema……

    开源软件 2024-05-03

  3. OSSEC 入侵检测程序

    OSSEC 入侵检测程序

    OSSEC是一款开源的入侵检测系统,包括了日志分析,全面检测,rook-kit检测。作为一款HIDS,OSSEC应该被安装在一台实施监控的 系统中。另外有时候不需要安装完全版本得OSSEC,如果有多台电脑都安装了OSSEC,那么就……

    开源软件 2024-05-03

返回顶部小火箭