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. bash shell基础命令

    bash shell基础命令 很多Linux发行版的默认shell是GNU bash shell. 1. 启动shell GNU bash shell是一个程序,提供了对Linux系统的交互式访问.它 ...

  2. 网络化的控制系统简介(NCS)

    作为一个搞物联网应用的,最近才接触到NCS这个概念.有点东西,赶紧记录一下. NCS由通过网络连通的控制环路组成,控制信号和反馈信号会在控制器和本地系统间交换.典型的方块图如下: 其中,本地(Plan ...

  3. SpringBoot集成实时通讯WebSocket和其它代替方案

    WebSocket 双向实时通讯 一.添加WebSocketConfig配置类 /** * 开启WebSocketConfig */ @Configuration public class WebSo ...

  4. 图表绘制之RepeatNode的妙用

    图表绘制之RepeatNode的妙用 前言 最近接到许多大屏项目,其中有一个智慧大楼的项目,大致是由3d场景+数据图表组成,需要能监控实时数据.安防 监控.出入统计以及消防安全等功能如下图 但是在开发 ...

  5. oeasy教您玩转vim - 49 - # 命令进阶

    ​ 命令进阶 回忆上节课内容 我们上次研究vim的历史 为什么会有行编辑器这种东西 竟然是当年 没有显示器只有纸的时代的无奈之举 vim进化到今天 依然还有好多人使用 而且ssh连接的时候直接vim就 ...

  6. oeasy教您玩转python - 9 - # 换行字符

    ​ 换行字符 回忆上次内容 数制可以转化 bin(n)可以把数字转化为 2进制 hex(n)可以把数字转化为 16进制 int(n)可以把数字转化为 10进制 编码和解码可以转化 encode 编码 ...

  7. ABC357

    A link 循环加每一个数,加到哪个数不能加了输出前一个数,注意如果加到最后还能加,记得输出\(n\). 点击查看代码 #include<bits/stdc++.h> using nam ...

  8. 如何在Linux云服务器上通过Docker Compose部署安装Halo,搭建个人博客网站?

    目录 前置步骤 环境搭建 创建容器组 在系统任意位置创建一个文件夹 创建docker-compose.yaml 启动 Halo 服务 配置反向代理以及域名解析 Halo初始化页面. 更新新版本的hal ...

  9. 【Redis】06 事务

    Redis事务 可以一次执行多个命令,本质是一组命令的集合. 一个事务中的 所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞 官方说明: https://redis.io/topi ...

  10. 【SpringMVC】IDEA 不识别webapp的解决办法

    参考地址: https://blog.csdn.net/omrleft123/article/details/70237205