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. SNAT,DNAT以及REDIRECT转发详解

    最近负责的其中一个项目的服务器集群出现了点网络方面的问题,在处理过程当中又涉及到了防火墙相关的知识和命令,想着有一段时间没有复习这部分内容了,于是借着此次机会复写了下顺便将本次复习的一些内容以博客的形 ...

  2. 【Ubuntu 1】ubuntu的软件包及便携系列 记录

    目录 命令行补充[备注记录] 不想每次---- source /devel/setup.bash sudo chomd 777 /dev/ttyUSB* 安装区 --- 强推!Synergy Chro ...

  3. BI小班课程表:PowerBI、finebi、quickbi,每周开课

    为了帮助更多BI的友友更好的接触BI,并应用于实践工作中,我决定将我这些年的工作经验和付费咨询的实际经验,拿出一部分基础并且实用的知识和方法整理成课程.其中 PowerBI十节课,计划20个小时: F ...

  4. Java开发常见问题分析和处理方案

    程序Bug的产生,通常分为三种类型 逻辑漏洞: 低级错误,程序执行后无法达到想要效果. 越界访问: 访问了非法区域,造成程序崩溃. 条件考虑不全面: 你以为你万无一失,但你永远都不知道输入参数究竟是什 ...

  5. Java 散列表HashTable

    什么是散列表hash table和使用场景 什么是散列表 散列表(Hash table,也叫哈希表),是根据关键码值(key value)而直接进行访问的数据结构.它通过把关键码值映射到表中一个位置来 ...

  6. Spring AOP里面的通知Advice类型

    @Before前置通知 在执行目标方法之前运行 @After后置通知 在目标方法运行结束之后 @AfterReturning返回通知 在目标方法正常返回值后运行 @AfterThrowing异常通知 ...

  7. LabVIEW Actor Framwork (1)________ 边学边做server&client

    初始需求: 现在要做一个类似聊天的demo,一个server端,若干个client端:首先是server启动,通过server可以打开若干个client端,然后每个client可以独立给server发 ...

  8. leetcode简单(设计):[225, 232, 303, 703, 705, 706, 933, 1603, 1656, 09, 30, 041, 03.06]

    目录 225. 用队列实现栈(先入后出) 232. 用栈实现队列(先入先出) 303. 区域和检索 - 数组不可变 703. 数据流中的第 K 大元素 705. 设计哈希集合 706. 设计哈希映射 ...

  9. oeasy教您玩转vim - 54 - # 匹配替换

    ​ 查找细节 回忆上节课内容 我们学习了 替换 substitude 替换单行 :s/shiyanlou/oeasy 加上range :3,5s/shiyanlou/oeasy :%s/shiyanl ...

  10. Sysbench 使用总结

    Sysbench使用总结 实践环境 CentOS 7.8 Sysbench 1.0.20 下载地址:https://github.com/akopytov/sysbench/archive/refs/ ...