资讯动态

noto-fonts NEWS 解读:Noto 字体三次关键演进、upem 网格限制与 OFL 1.1 授权切换

发布时间:2026/10/14 0:17:01 来源:尧图企业网站定制
数据集【免费下载链接】noto-fontsNoto fonts, except for CJK and emoji项目地址https://gitcode.com/gh_mirrors/no/noto-fonts点击查看免费下载本文基于 noto-fonts 仓库根目录下的 NEWS.md 编写梳理 2015—2018 年间 Noto 字体项目的三次里程碑2015 年整体从 Apache 2.0 切换到 SIL Open Font License 1.1、2017 年 Phase 3 大版本更新约 75 个家族、字重与宽度大幅扩展、2018 年新增约 40 个文字系统支持并统一 Syriac 字体家族。读完本文你能理解 Noto 字体仓库当前hinted/、unhinted/、archive/目录划分的历史成因掌握“新字体 1000 upem 网格与旧字体 2048 upem 无法合并”这一技术限制的具体含义并明确当前仓库中各目录字体的授权版本。三次里程碑速览NEWS.md 全文只记录了三条发布动态它们是理解 Noto 字体仓库现状的骨架日期事件核心内容September 29, 2015授权变更所有 Noto 字体从 Apache 2.0 迁移到 OFL 1.1September 19, 2017Phase 3 字体更新约 75 个 Noto 家族重建字重/宽度扩展字体文件数增长约 10 倍November 06, 2018新字体与更新字体新增 Music 及 38 个文字系统支持约 108 个家族更新Syriac 三字体合并为一家族当前仓库的目录结构正是这三条时间线的物理投影archive/hinted/与archive/unhinted/存放“不再获得新更新的旧版字体”hinted/ttf/存放新版Phase 3 之后带 hinting 的 TTFunhinted/存放无 hinting 的 ttf/otf/variable-ttf 等格式。NEWS.md 中明确说明“部分家族尚未更新完成……不再获得更新的字体将被移到新位置以更清晰地区分”——这就是archive/目录出现的直接原因。2015-09-29从 Apache 2.0 切换到 OFL 1.1NEWS 原文对这次授权变更的表述是新发布版本开始全部字体仅以 OFL 1.1 授权提供如果用户仍想要 Apache 授权的版本可以从仓库的v2015-09-29-license-apachetag 获取但此后的新字体和更新字体一律使用 OFL。官方给出的理由是Noto 最初发布时 OFL 还不算普及Apache 协议对团队更“眼熟”而多年下来 OFL 已成为开源字体领域最常用、最被广泛理解的许可证换成 OFL 能降低终端用户的使用门槛。在当前仓库中可以验证这一授权现状仓库根目录的 LICENSE 开头即为Copyright 2018 The Noto Project Authors字体软件明确声明 “licensed under the SIL Open Font License, Version 1.1”并完整内嵌 OFL 1.1 全文归档目录下的旧版字体同样附带授权文件如 archive/hinted/COPYING 与 archive/hinted/LICENSE说明归档字体也保留了各自的许可证文本需要注意一个边界根 LICENSE 只覆盖 2018 版权年之后的字体。对 2015-09-29 之前发布的字体其 Apache 2.0 授权版本需按 NEWS 所述从对应历史 tag 获取而不是从当前master树的默认文件推断。对使用者的实际含义是当前仓库中hinted/、unhinted/、archive/下的字体均以 OFL 1.1 分发可自由使用、研究、修改与再分发OFL 要求保留版权声明且不得单独销售字体这在 FAQ.md 的“Where are the fonts?”一节中也有呼应——Noto 大部分字体即存放于本仓库。2017-09-19Phase 3 更新——家族数量、字重矩阵与 10 倍文件增长NEWS 对 2017 年 Phase 3 更新的关键事实发布了约 75 个 Noto 家族的更新版本全部“built from sources using our open source pipeline”即基于开源字体源文件、通过开源构建流水线产出二进制字体许多家族增加了字重thin 到 heavy部分家族还引入了多种宽度condensed 到 normal直接结果字体文件数量相比上一代增长约 10 倍大部分新字体沿用原有设计少数是新设计尚未更新的家族会随 Phase 3 工作推进逐步补齐被新设计取代的旧字体同样会被移入独立位置。这一“字重×宽度”矩阵在当前仓库中可以直接观察到。以 hinted/ttf/ 为例该目录下有 200 余个字体家族子目录印度系文字家族普遍提供 36 个样式如 hinted/ttf/NotoSansKannada/、hinted/ttf/NotoSansDevanagari/、hinted/ttf/NotoSansBengali/阿拉伯系家族提供 36 个样式hinted/ttf/NotoSansArabic/ 含 UI 版本而多数历史文字如 hinted/ttf/NotoSansBamum/只提供 1 个 regular 样式——这正对应 FAQ.md 中“历史文字提供单一字重的无 hinting 字体”“主要生活文字提供 UI 与非 UI 两种垂直度量版本”的描述。Phase 3 的规划背景在 FAQ.md 的“What are Googles plans for Noto (so called Phase 3)?”一节有完整陈述把覆盖范围扩展到 Unicode 9.0 全部文字除 CJK 外 100%、把单一 regular/bold 扩展到 thin—heavy 多字重与 condensed—normal 多宽度、并开源全部字体源数据与构建流水线CJK 字体源由 Adobe 持有不在其内。NEWS.md 记录的正是该规划逐步落地的过程。2018-11-06新增约 40 个文字系统与 108 个家族更新2018 年 11 月的发布是 NEWS 中内容最密集的一条包含三部分事实新增字体新增支持 Music 以及下列文字系统Ahom、Bassa Vah、Bhaiksuki、Caucasian Albanian、Duployan、Grantha、Gurmukhi、Hatran、Khudawadi、Linear A、Mahajani、Manichaean、Marchen、Mende Kikakui、Miao、Modi、Mro、Multani、Nabataean、Newa、Old Hungarian、Old North Arabian、Old Permic、Pahawh Hmong、Palmyrene、Pau Cin Hau、Psalter Pahlavi、Sharada、Sora Sompeng、Takri、Tamil Slanted、Tibetan、Tirhuta、Warang Citi外加 NotoMusic。对照当前仓库这些新家族均已就位。例如 unhinted/ttf/NotoSansAhom/对应 NotoSerifAhom 见 hinted/ttf/NotoSerifAhom/、hinted/ttf/NotoSansMusic/、hinted/ttf/NotoSansTibetan/Tibetan 在 Sans 与 Serif 各有一个 2 文件/9 文件规模的家族、hinted/ttf/NotoSerifTangut/ 等。从目录结构看2018 年之后陆续补充的字体如 Tifinagh 的多个区域变体NotoSansTifinaghAir、NotoSansTifinaghGhat等见 hinted/ttf/也延续了同一种按文字系统一个目录的命名组织方式。约 108 个家族更新NEWS 原文发布了约 108 个 Noto 家族、覆盖约 90 个文字系统的更新版本同样来自开源构建流水线许多家族拥有额外字重部分家族拥有多种宽度具体到样式数量“Sans Kannada、Sans Malayalam 和 Serif Sinhala 现在各有 36 个样式Serif Kannada 现在拥有 9 个样式”。当前仓库可以逐条印证hinted/ttf/NotoSansKannada/、hinted/ttf/NotoSansMalayalam/、hinted/ttf/NotoSerifSinhala/ 各含 36 个 ttf 文件hinted/ttf/NotoSerifKannada/ 含 9 个 ttf 文件hinted/ttf/NotoSans/Latin/Greek/Cyrillic 主家族含 144 个 ttf 文件反映 Sans 家族在字重/宽度维度上的完整矩阵。Syriac 家族合并NEWS 指出单个字体家族 Noto Sans Syriac 取代了此前三款 Syriac 字体。这与 FAQ.md 中提到的 Syriac 曾提供 Eastern、Western、Estrangela 三种样式版本相互印证——三款按样式区分的字体最终收敛为按字重轴组织的单一家族。当前仓库中 hinted/ttf/NotoSansSyriac/ 为 3 文件规模archive/hinted/NotoSansSyriac/ 则保留 6 个文件体现了新旧两代的差异。NEWS 还保留了两句后续状态的说明部分家族尚未更新完成将随 Phase 3 工作推进处理另有家族因新设计而过时不再更新的字体“最终”会被移到新位置以便区分——archive/目录即这一承诺的落地。1000 upem 与 2048 upem无法合并的技术限制NEWS.md 中 2017 与 2018 两条发布都重复强调了同一段技术说明这是整个 Noto 项目里对字体工程师影响最深的一条限制新字体虽然扩展名为 .ttf但构建在 1000 upem 网格上。这意味着它们无法与按标准 ttf 2048 upem 构建的旧字体合并merge。对于希望把多个 Noto 字体构建成单一字体文件的用户这是一个问题。最终会得到改善目前先表示歉意我们也在探索其他打包方式以简化字体的使用。upemunits per em是字体字形坐标系统的基准单位定义在每个 TTF 的head表中。不同 upem 的字体在字体合并工具如 fonttools 的合并流程里无法直接叠加因为同一字形在不同字体中的坐标刻度不一致。可以用当前仓库的字体文件直接验证这一说法读取各 ttf 的head.unitsPerEm字段旧代字体hinted/ttf/NotoSans/NotoSans-Regular.ttf 的unitsPerEm 2048其head表后紧跟cvt、fpgm、gasp等 hinting 相关表是典型 hint 后 TTF 的表结构新一代字体unhinted/ttf/NotoSans/NotoSans-Regular.ttf 与 unhinted/ttf/NotoSansKannada/NotoSansKannada-Regular.ttf 的unitsPerEm 1000。这解释了为什么仓库必须同时维护hinted/与unhinted/两套目录、且同一家族在两套目录中的表结构是否含cvt/fpgm/gasp不同它们来自不同代际的构建网格。对使用者的直接约束是——不要尝试把 2018 年前后按 2048 upem 构建的旧字体与按 1000 upem 构建的新字体合并进一个文件需要跨文字覆盖的场景应只合并同一网格的字体或改用仓库提供的其他打包形式。FAQ.md 的“Could you provide a single font file that covers every language?”一节从另一侧解释了这件事Noto 的总字形量超出单个字体文件的容量且不同文字系统偏好不同行度量官方方向是重新打包成少数几个文件CJK 一个、常用生活文字一个、生僻文字一个而不是让用户自行合并。当前仓库目录结构与这些演进的关系结合 NEWS.md 的时间线与仓库现状各目录的含义如下均为只读查看路径无需修改仓库内容hinted/ttf/Phase 3 之后的新版字体、经 ttfautohint 等工具加 hinting 后的 TTF面向 Windows/Linux 屏幕渲染场景参见 FAQ.md “hinted fonts for Windows and Linux, and unhinted fonts for Android and Mac”unhinted/无 hinting 的字体按格式细分unhinted/ttf/常规 TTFunhinted/otf/OTF 版本unhinted/variable-ttf/108 个可变字体 TTFunhinted/slim-variable-ttf/107 个精简版可变字体unhinted/full-variable-ttf/全轴可变字体当前含 NotoKufiArabic[wght] 及 README。可变字体正是 NEWS 所说“探索其他打包方式以简化使用”的落地成果之一把多字重矩阵压缩进单文件。archive/不再获得更新的旧代字体含hinted/与unhinted/两个子目录各自附带COPYING/LICENSE对应 NEWS 中“把不再更新的字体移到新位置”的承诺tests/noto_fonts_for_android_test.py基于 requirements.txt 中声明的fontbakery、fonttools、pytest等依赖校验 android-connection/noto-fonts-4-android.xml 中声明的 Android 字体清单与仓库实际字体文件的一致性是“字体清单与二进制文件保持一致”这一发布质量的自动化保障。另外说明一点适用前提当前仓库根目录的 README.md 已注明项目整体迁移至 notofonts.github.io新版本的下载与源仓库链接见该页面因此把本仓库作为“当前发行版”来引用时应以各目录内实际存在的文件为准版本判断依据以 NEWS.md 的三条时间线为纲。小结NEWS.md 虽然篇幅不长但三条时间线精确对应了 noto-fonts 仓库的三大结构性事实授权统一为 OFL 1.1LICENSE 可验证、Phase 3 带来的家族/字重/宽度矩阵扩展hinted/ttf/下数百个样式文件可验证、以及 1000 upem 新网格与 2048 upem 旧网格之间的不可合并边界读取字体head表即可验证。理解这三点后再阅读仓库中hinted/、unhinted/、archive/的任何字体目录都能快速判断某个字体属于哪一代发布、受何种授权、能否与其他字体合并使用。赞分享数据集【免费下载链接】noto-fontsNoto fonts, except for CJK and emoji项目地址https://gitcode.com/gh_mirrors/no/noto-fonts点击查看免费下载相关推荐YaeAchievement 快速上手一键导出原神全部成就数据YaeAchievement 快速上手一键导出原神全部成就数据 YaeAchievement 是一款面向玩家和开发者的免费原神成就导出工具。它直接读取游戏登录桌面应用CLINoto Fonts 项目推荐Noto Fonts 项目推荐 1. 项目基础介绍和主要编程语言 Noto Fonts 是一个由 Google 主导的开源字体项目旨在提供一套高质量的 Uni数据集Noto Fonts 官方 FAQ 深度解读文字覆盖、Hinting 机制、UI 版本与开发理念Noto Fonts 官方 FAQ 深度解读文字覆盖、Hinting 机制、UI 版本与开发理念 本文基于 noto fonts 仓库中的 FAQ 文档 ht数据集创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑