OpenType 和 TrueType 都是字体文件格式,它们用于在数字设备中存储和渲染文本。虽然这两种格式都广泛使用,但它们在设计和功能上有一些重要区别。

TrueType 是由苹果公司和微软公司在 1980 年代末推出的一种标准字体格式。它的主要特点包括:

  1. 二次贝塞尔曲线:TrueType 字体使用二次贝塞尔曲线来定义字符的轮廓,这种轮廓可以很好地缩放到不同的字号和分辨率。
  2. 打印精度:当被引入时,TrueType 字体包含一个“字体指令集”,这是一组嵌入的字体指令,用来控制字体在不同大小和分辨率时的显示和打印精度。
  3. 单文件结构:TrueType 字体通常存储在单个文件中(文件扩展名为 .ttf)。

OpenType 是由微软和 Adobe 在 1990 年代末共同开发的字体格式,它结合了 TrueType 和 PostScript(Type 1)格式的特点,并增加了一些新的功能。OpenType 的主要特点包括:

  1. 四次贝塞尔曲线:OpenType 字体可以使用 TrueType 曲线也可以使用 PostScript 的曲线,后者基于四次贝塞尔曲线。OpenType 字体支持 PostScript 轮廓的文件通常有 .otf 扩展名。
  2. 高级排版功能:OpenType 字体支持更复杂的排版功能,如连字、备选字符、上标、下标和文字变体。这些功能对于复杂文字布局和多语言支持非常有用。
  3. 更多的字符:OpenType 字体支持多达 65,536 个字符(扩展的 Unicode 范围),使它们能够包括大量的字形,如额外的字符集、历史形式等。
  4. 多平台兼容性:OpenType 字体旨在跨各种平台和应用软件保持一致性,在 macOS、Windows、Linux 等系统中都可使用。

总体上,OpenType 是一个更现代、功能更全面的字体文件格式,它提供了高级排版选项和更好的字符支持。然而,TrueType 字体在电子出版领域仍然广泛使用,并且因为简洁和稳定被许多系统和设备所支持。OpenType 格式的推出是为了解决 TrueType 和 Type 1 字体格式的局限性,提供更强大的排版能力和广泛的语言支持。


值得注意的是,尽管 .ttf 文件扩展名最初是标识 TrueType Font(字体)的,但它同样可以用于 OpenType 字体格式中。OpenType 是一种由微软和 Adobe 共同开发的字体格式,它基于 TrueType 字体技术,但增加了对 PostScript 字体数据的支持,并提供了更高级的排版功能。

OpenType 字体可以有两种不同的文件扩展名:

  1. .otf - 这是标准的 OpenType 字体文件扩展名,通常包含使用 PostScript 形式的轮廓的字体。这些是被称为 OpenType PS 或 OpenType PostScript的字体。
  2. .ttf - 这个扩展名虽然历史上用来指 TrueType 字体,但也会用来指那些使用 TrueType 形式轮廓的 OpenType 字体。这些被称为 OpenType TT 或 OpenType TrueType的字体。

因此,虽然 .ttf 文件通常表示一个 TrueType 字体,它也可能是一个 OpenType 格式的字体,这取决于字体文件内部的数据结构。为了确定一个给定的 .ttf 文件是不是真正的 TrueType 字体或者是 OpenType 字体,你可能需要用字体查看器工具或者专业软件来检查它的元数据或轮廓格式。在大多数情况下,无论字体文件是 TrueType 还是 OpenType 格式,它都可以在支持这些格式的大多数现代操作系统和应用程序中使用。

TrueType 和 OpenType 的关系的更多相关文章

  1. truetype技术和矢量字库的技术原理及实现(转)

    源:truetype技术和矢量字库的技术原理及实现 广泛汉字矢量字库(HZKSLxxJ)格式             在矢量字库中,每个汉字都是以128   X   128点阵制成矢量数据.每个汉字  ...

  2. RF1001: 各浏览器对 '@font-face' 规则支持的字体格式不同,IE 支持 EOT 字体,Firefox Safari Opera 支持 TrueType 等字体

    http://w3help.org/zh-cn/causes/RF1001 http://blog.csdn.net/agileclipse/article/details/12450949 http ...

  3. TrueType字体

    TrueType字形描述技术和TTF文件 TrueType字体技术的研究分析与应用 看起来上面两篇都是翻译的文档. 看微软的原文介绍: TrueType fundamentals 其他文章: 获取Tr ...

  4. 再探@font-face及webIcon制作

    @font-face 不能说他是什么新东西了,在 CSS2.0 规范中就有了这玩意儿,IE4.0 开始就已经出现,只是当时用的不是特别广泛,后来在 CSS2.1 草案中又被删掉.随着 web 的急速发 ...

  5. [daily][archlinux][fonts] 在linux下管理字体

    序: linux是社区搞出来, 商业应用也都是服务器场景.社区里又都是技术人员.字体又是细节.而且会英文早成了标配.所以没有很多社区以外的人力来搞字体这个毫无回报的东西. 结果很自然的,装linux桌 ...

  6. WeCenter程序安装

    WeCenter程序安装时需要GD库和freetype的支持,以下是安装方法 GD库的安装:我们可以直接使用yum命令来安装,自动解决依赖关系及安装GD库相关的包. [root@localhost ~ ...

  7. 企业IT管理员IE11升级指南【8】—— Win7 IE8和Win7 IE11对比

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  8. 2018-5 - 凉经 - Mozilla Firefox Ltd - 前端工程师

    北京谋智火狐信息技术有限公司(北京市东城区建国门华润大厦 17 层)过去面试的时候感觉电梯好神奇啊!一边的电梯是直达 18 层以上的,我按了 18 层准备到了再往下走一层,一个老司机和我说要做另一边的 ...

  9. Font and PDF

    1. 独立存在的Font文件 有三类: Type 1 Font TrueType Font OpenType Font Type 1 是由Adobe开发的,它是基于PostScript的Font,它通 ...

  10. CSS 3学习——文本效果和@font-face

    文本效果 关于文本效果,这里仅仅记录得到大多数浏览器支持的几个属性,分别是: text-overflow text-shadow word-break word-wrap text-overflow ...

随机推荐

  1. Linux历史管理命令

    history管理历史命令 [1].history命令 history命令用于显示历史记录和执行过的命令,登录系统时,会读取~./bash_history历史文件中记录的命令,当我们退出shell时, ...

  2. 对于三节点集群zookeeper配置步骤:

    步骤一:干净的集群,全新的hdfs在第一台主机上配置配置文件core-site.xml:<configuration><property> <name>fs.def ...

  3. springboot 访问url 报404

    使用Springboot 写了一个后端服务,通过 postman 测试接口时,发现一直 404 (message: No message available) 把springboot 从启动 到 da ...

  4. Golang channel底层是如何实现的?(深度好文)

    Hi 你好,我是k哥.大厂搬砖6年的后端程序员. 我们知道,Go语言为了方便使用者,提供了简单.安全的协程数据同步和通信机制,channel.那我们知道channel底层是如何实现的吗?今天k哥就来聊 ...

  5. yb课堂之分布式应用下登陆校验解决方案 JWT讲解 json wen token 《八》

    什么是JWT? JWT是一个开放标准,它定义了一种用户简介,自包涵的用于通信双方之间以JSON对象的形式安全传递信息的方法.可以使用HMAC算法或者是RSA的公钥密钥进行签名 简单来说:就是通过一定规 ...

  6. yb课堂 实战之Mybatis打通Mysql数据库 《二》

    配置mybatis连接Mysql数据库 server.port=8081 # ========================数据库相关配置===================== spring.d ...

  7. 咬文嚼图式的介绍二叉树、B树/B-树

    前言 因为本人天资愚钝,所以总喜欢将抽象化的事务具象化表达.对于各类眼花缭乱的树,只需要认知到它们只是一种数据结构,类似数组,切片,列表,映射等这些耳熟能详的词汇.对于一个数据结构而言,无非就是增删改 ...

  8. 解码 xsync 的 map 实现

    解码 xsync 的 map 实现 最近在寻找 Go 的并发 map 库的时候,翻到一个 github 宝藏库,xsync (https://github.com/puzpuzpuz/xsync) . ...

  9. PHP 程序员为什么依然是外包公司的香饽饽?

    大家好,我是码农先森. PHP 唯一的爽点就是开发起来「哇真快」这刚好和外包公司的需求相契合,在 Web 领域的芒荒年代 PHP 以王者姿态傲视群雄.如果 PHP 敢说第二,就没有哪门子语言敢称第一, ...

  10. Pandas库学习笔记(6) -- Pandas 基本方法

    Pandas 基本方法实例 到目前为止,我们了解了三个Pandas DataStructures以及如何创建它们.由于它在实时数据处理中的重要性,因此我们将主要关注DataFrame对象,并讨论其他一 ...