ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Edu NSW ACT Foundation 字体全解析:澳大利亚 NSW/ACT 州写字教学字体的设计、开源许可与 Fontsource 自托管实践

Edu NSW ACT Foundation 字体全解析:澳大利亚 NSW/ACT 州写字教学字体的设计、开源许可与 Fontsource 自托管实践
  • 前端
  • CLI
  • 开发工具

【免费下载链接】fontsource

Self-host Open Source fonts in neatly bundled NPM packages.

项目地址:https://gitcode.com/gh_mirrors/fo/fontsource
点击查看免费下载

Edu NSW ACT Foundation 是 Google Fonts "Foundation Fonts for Australian Schools" 教育字体系列中面向新南威尔士州(NSW)与澳大利亚首都领地(ACT)的规范手写体字体。本文以 fontsource 仓库中的 官方文章 为主体,结合 family.json、distribution.json 等元数据,系统讲解该字体的教育设计背景、OpenType 技术规格、开源许可,以及如何在 Web 应用中通过 Fontsource 完成自托管安装与使用。

字体背景:为澳大利亚教育标准而生的手写字体

Edu NSW ACT Foundation 隶属于Foundation Fonts for Australian Schools字体集合——这是一组专为满足澳大利亚教育标准而设计的手写字体。字体设计团队(Tina Anderson 与 Corey Anderson)在设计时对字重(weight)、字宽(width)与光学尺寸(optical size)进行了精心考量,使其既能适应澳大利亚教室的教学环境,也同样适合家庭环境中的阅读与书写练习。在仓库元数据中,其classifications被标记为handwriting,dateAdded为 2022-06-10,标签包括purpose/learn-to-write(用于学习书写)、script/handwritten与script/informal,明确指向其教育书写用途(见 family.json)。

澳大利亚各州的书写教学三阶段

澳大利亚各州在小学低年级采用不同的手写教学风格(部分州共用同一风格),总体上可以归纳为三个学习阶段:

  1. 基础阶段(Foundational):学习基本的字母构型(letter formation);
  2. 过渡阶段(Transitional):为部分字母加入连笔(joining ligatures);
  3. 草书阶段(Cursive):几乎所有字母都进行连笔书写(少数例外)。

NSW ACT School Fonts 的两种字型

NSW ACT School Fonts 同时包含两种字型:

  • New South Wales Foundation Print——为小学低年级设计的简洁斜体印刷体(simple sloped print);
  • New South Wales Foundation Cursive——过渡阶段的连笔字母替代形式(pre-cursive 阶段)。

按照教学安排,新南威尔士州与首都领地的学生在 1–2 年级学习 Foundation Print,从 3 年级开始学习 Beginner Cursive。这也解释了为什么字体名称中使用 "Foundation":它对应书写教学的第一阶段,为后续连笔书写打基础。

设计特征与教育用途

该字体的设计有几个突出的教育导向特征,可以从 官方文章 与源码元数据中相互印证:

  • 铅笔笔迹厚度:每个字体的常规字重(regular weight,即 400)模拟了书写铅笔的笔迹粗细,使学生更容易将字体字形与课堂上的手写示范联系起来,从而降低"认字—写字"之间的认知转换成本;
  • 斜体印刷风格:Foundation Print 采用简洁的斜体(sloped)造型,贴合低年级学生的书写训练要求;
  • 数学符号支持:从 family.json 的 inspection 数据 可以看到,字体的 Unicode 范围除了基本拉丁字符(U+0020-007E)与标点(U+2013-2014、U+2018-2019、U+201C-201D、U+2022、U+2026)外,还包含常用数学符号:乘号U+00D7、除号U+00F7、减号U+2212、无穷U+221E、约等于U+2248、不等号U+2260、小于等于/大于等于U+2264-2265,以及欧元符号U+20AC与商标符号U+2122。这意味着该字体不仅适用于英语教学,还能覆盖低年级数学课堂的板书与练习材料需求;
  • 拉丁语系广泛覆盖:family.json的languages字段列出了超过 170 种使用拉丁书写系统的语言标签(如en_Latn、sw_Latn、xh_Latn等),表明字体对拉丁文扩展字符有较完整的支持,可服务于英语及其他拉丁语系语言的教学。

2022 年,Google for Education Australia 与 Google Fonts 合作,将 Foundation Fonts 系列引入 Google Workspace(含 Google Workspace for Education),教师可在 Google Docs、Sheets、Slides 中直接使用。这对 Chromebook 与 Google Workspace for Education 在澳大利亚学校的推广具有重要意义——课堂上的书写示范与数字化文档排版可以共用同一套字形标准。

开源许可与上游来源

该字体遵循SIL Open Font License 1.1(OFL-1.1),许可信息可以从两个来源确认:

  • license.txt 完整收录了 OFL 1.1 协议文本,版权声明为 "Copyright 2022 The AU School Handwriting Fonts Project Authors";
  • family.json 的 license 字段 记录了同样的版权归属、许可 ID(OFL-1.1)与官方协议文本地址。

OFL-1.1 意味着该字体可以自由使用、研究、修改与再分发(只要字体本身不单独售卖、衍生作品不使用保留名称、且必须以同一许可分发),因此它可以被自由嵌入 Web 应用、文档和教学软件。上游项目为 AU School Handwriting Fonts(由 MezMerrit 维护),Google Workspace 用户获得的是标准版本,如需完整的 OpenType 版本用于本地安装,可以从该上游项目下载或自行构建(相关指向见 官方文章 末段)。

从仓库溯源信息看,本字体在 google/fonts 仓库中的目录为ofl/edunswactfoundation,fontsource 引用的上游修订与 google/fonts 修订均记录在 family.json 的 project 与 provenance 字段 中,保证了字体的可追溯性与构建可复现性。

技术规格:变量字体与静态字面

Edu NSW ACT Foundation 的技术参数记录在 family.json 的 inspection 部分 与 distribution.json 中,核心数据如下:

项目值
字体版本Version 1.003
轮廓格式glyf(TrueType 轮廓)
样式normal(无斜体变体)
变量轴wght,范围 400–700,默认 400
静态字重400 / 500 / 600 / 700
字形数量194 glyphs,126 codepoints
默认子集latin
OpenType GSUB 特性aalt(全替代)、c2sc(小型大写)、smcp(小型大写)、ss01(风格集 1)
OpenType GPOS 特性kern(字距调整)

其中值得注意的几点:

  • 变量字体:字体原生支持wght变量轴(400–700),一个字体文件即可覆盖常规教学字重(400)到加粗(700)的连续范围;同时 distribution.json 也声明了其变量形式;
  • 静态字面:distribution.json 的 static 列表 提供了 400、500、600、700 四个静态字重,适配不需要变量字体能力的传统场景;
  • 子集策略:字体仅包含latin一个子集,这与教学场景(英语及拉丁语系书写教学)相符,也意味着加载时不需要跨多个子集切片;
  • OpenType 特性:aalt与ss01为字形替代类特性,为未来字形变体预留了空间;c2sc/smcp支持小型大写字母排版;kern保证连笔风格下字母间距的协调。

在 Fontsource 中自托管安装与使用

Fontsource 的定位是把开源字体打包为可直接自托管的 NPM 包,帮助应用摆脱对外部 CDN 的依赖(详见 README.md)。按照 Fontsource 的包命名约定(family 名称Edu NSW ACT Foundation转小写并用连字符连接),可以推断该字体对应的包为@fontsource-variable/edu-nsw-act-foundation(变量版)与@fontsource/edu-nsw-act-foundation(静态版)。安装与引入步骤如下。

1. 安装包

以变量字体包为例,使用你偏好的包管理器安装:

npm install @fontsource-variable/edu-nsw-act-foundation # 或 pnpm add @fontsource-variable/edu-nsw-act-foundation # 或 yarn add @fontsource-variable/edu-nsw-act-foundation

如果项目只需要固定字重,可改用静态包并仅引入所需字重(详见 website/docs/getting-started/install.mdx)。

2. 在入口文件中引入

在应用的入口文件或页面组件中引入一次即可:

import "@fontsource-variable/edu-nsw-act-foundation";

生成的 CSS 使用unicode-range技术,浏览器只会下载页面实际用到的字符集,因此一般无需手动选择子集。变量包默认包含 400–700 的完整字重范围(normal 样式)。

如果项目需要固定字面,则按字重逐一引入(参考 install.mdx 的静态字体章节):

import "@fontsource/edu-nsw-act-foundation"; // 默认字重 400 import "@fontsource/edu-nsw-act-foundation/500.css"; import "@fontsource/edu-nsw-act-foundation/700.css";

3. 在 CSS 中使用

引入后在样式表中以家族名引用即可:

body { font-family: "Edu NSW ACT Foundation", cursive, sans-serif; }

由于字体是变量字体,还可以直接利用font-weight或font-variation-settings精细控制字重(参考 website/docs/getting-started/variable.mdx):

.specimen { font-family: "Edu NSW ACT Foundation", cursive; font-weight: 500; font-variation-settings: "wght" 500; }

对于需要兼容不支持变量字体浏览器的场景,可用@supports规则提供静态字体回退:

body { font-family: "Edu NSW ACT Foundation", cursive; font-weight: 400; } @supports (font-variation-settings: normal) { body { font-family: "Edu NSW ACT Foundation", cursive; font-variation-settings: "wght" 400; } }

4. TypeScript 项目补充声明

若在 TypeScript 项目中直接 import CSS 报错,可参考 install.mdx 的做法,在全局声明文件(如src/globals.d.ts)中添加:

declare module "*.css"; declare module "@fontsource/*" {} declare module "@fontsource-variable/*" {}

同族字体的演进:从 Foundation 到 Cursive/Pre-cursive

仓库中还收录了 NSW/ACT 系列的另外两个成员,可以对照理解书写教学三阶段在字体层面的落地:

  • Edu NSW ACT Foundation(status: active):对应基础阶段,即本文主题;
  • Edu NSW ACT Hand Pre(status: deprecated,displayName 为 "Edu NSW ACT Hand Precursive"):对应过渡阶段,其 OpenType 特性比 Foundation 版本丰富得多,包含liga(标准连字)、calt(上下文替代)以及ss01–ss06六个风格集,用于实现字母间的连笔连接,glyphs 数量达 668;
  • Edu NSW ACT Cursive(status: deprecated):对应草书阶段,在 Pre 版本基础上进一步强化连笔,glyphs 达 747,并加入locl、ccmp等复杂文本特性。

从源码结构看,Foundation 版本刻意保持"简洁"——仅 194 个字形、无连字特性,因为它面向的是 1–2 年级的基础字母构型教学;而连笔功能被拆分到独立的 Cursive/Pre-cursive 家族(由 SorkinType 维护的后续项目)中实现。这种"分阶段、分家族"的字体架构,恰好对应文章所述的教学三阶段。需要说明的是,Cursive 与 Pre 两个家族在仓库中标记为deprecated,而 Foundation 家族仍为active,计划用于连笔教学的项目在选型时应以实际状态为准。

典型应用场景与选型建议

综合官方文章与仓库数据,Edu NSW ACT Foundation 的典型应用场景包括:

  • 学校教学材料:练习纸、书写示范文档、课堂 PPT、教学挂图,字体的常规字重模拟铅笔笔迹,利于学生模仿;
  • 教育类 Web 应用与平台:在线作业系统、学习管理系统、字母/单词学习 App,可通过 Fontsource 自托管实现离线可用、版本锁定与隐私友好(无需向外部字体 CDN 发起请求,参见 README.md 对自托管优势的说明);
  • Google Workspace 文档:官方已将其接入 Google Docs、Sheets、Slides,便于教师与学生在云端直接选用;
  • 数学练习材料:因内置常用数学符号(乘除号、不等式等),可同时用于低年级数学书写练习。

选型建议:面向 NSW/ACT 地区 1–2 年级基础书写教学,选择Edu NSW ACT Foundation(variable 400–700 或静态 400/500/600/700);需要连笔/草书阶段的字形替代时,可评估仓库中同系列的 Cursive/Pre 家族(注意其deprecated状态);最终所有字体均需遵守 OFL-1.1 许可(保留版权声明与许可文本),具体条款见 license.txt。

总结

Edu NSW ACT Foundation 是"字体设计服务教学标准"的典型范例:它以基础字母构型为目标,通过斜体印刷风格、铅笔笔迹字重、数学符号覆盖与拉丁语系支持,为 NSW/ACT 地区 1–2 年级的书写教学提供了数字化与纸面一致的字形基准;同时它以 OFL-1.1 开源许可发布,既可免费商用,也可通过 Fontsource 的 NPM 包(变量版与静态版)快速自托管到任何 Web 应用中。结合 family.json 的完整元数据与 distribution.json 的字面规格,开发者与教育技术团队可以在数分钟内完成从选型、安装到页面字体落地的全过程。

  • 前端
  • CLI
  • 开发工具

【免费下载链接】fontsource

Self-host Open Source fonts in neatly bundled NPM packages.

项目地址:https://gitcode.com/gh_mirrors/fo/fontsource
点击查看免费下载

相关推荐

上一篇:一键备份QQ空间历史说说的终极方案:永久珍藏你的数字记忆
下一篇:如何一键备份QQ空间历史说说:GetQzonehistory开源工具完整指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进