Skip to content

Instantly share code, notes, and snippets.

@ak1ra-komj
Last active June 6, 2024 04:39
Show Gist options
  • Save ak1ra-komj/075f89d78d65c6aec6c5943707ff1a9f to your computer and use it in GitHub Desktop.
Save ak1ra-komj/075f89d78d65c6aec6c5943707ff1a9f to your computer and use it in GitHub Desktop.

adobe-fonts (Update 2024-06-06)

现代的操作系统直接下载 VF OTC 即可, 这样体积最小, 也不用下载很多文件, 现代操作系统已经做了很完整的支持.

[!quote] Select this deployment format if you want all five languages and all weights, along with the half-width (HW) variations, and your system supports both variable fonts and OTCs.

下面是一些缩写的解释,

  • OTF, OpenType Font, 文件后缀 .otf
    • OTF 是 OpenType Font 的缩写,是一种跨平台的字体格式,
    • 支持多种高级排版功能,如连字、替代字符和复杂的脚本处理。
  • TTF, TrueType Font, 文件后缀 .ttf
    • TTF 是 TrueType Font 的缩写,是一种字体格式,主要用于屏幕显示和打印。
    • 与 OTF 相比,TTF 文件通常更简单,但不支持某些高级排版功能。
  • OTC, OpenType Collection, 文件后缀 .ttc
    • OTC 是 OpenType Collection 的缩写,是一种包含多个字体的集合文件格式。
    • OTC 文件可以包含不同风格或语言变体的字体,但只需一个文件。
  • VF, Variable Font, 可变字体
    • 可变字体是一种单一的字体文件,可以动态调整权重、宽度、斜体等属性。
    • 与传统的多个静态字体文件相比,可变字体可以减少文件大小并提高灵活性。
  • HW, Half Width
    • Half-Width 指的是半宽字体,常用于东亚文字处理,使其占据英文字符的一半宽度。
  • Variable OTC TTF, 文件后缀 .ttf.ttc
    • 使用 OTC 封装的 TrueType Font, 只需要一个文件
  • Variable OTC OTF, 文件后缀 .otf.ttc
    • 使用 OTC 封装的 OpenType Font, 只需要一个文件, 选择这个就好.

从最开始就把 Variable OTCs 放到文档最开始了, 没有特殊要求的情况下直接下载这个就好了, 而我却完全忽略了这个提示, 非得把事情搞那么复杂.

下载地址,

因此, 你需要下载的只有 3 个文件, (Variable OTC OTF, *-VF.otf.ttc).

SourceHanSans-VF.otf.ttc
SourceHanSansHW-VF.otf.ttc
SourceHanSerif-VF.otf.ttc

下面的内容仅供参考, 记录当时的思考,


关于 SourceHanSans 和 SourceHanSerif

花了快两小时做了一件可能没什么意义的事情, 整理了下 SourceHanSans 和 SourceHanSerif 这两个字体的命名, 搞明白之后发现好好看 official Source Han download guide 就能搞清楚的问题我居然自己造轮子去整理一份 adobe-fonts.md. 好在基本搞清楚了 releases 页面的 Super OTC, OTCs, Language-specific OTFs 和 Region-specific Subset OTFs 这几种分发方式在字体命名方面的区别.

大致使用方式是根据系统支持程度选择不同的分发方式, 对于现代的操作系统尽量直接使用 Super OTC / OTCs, 不支持 OTC 的系统如 Kindle 选用 Language-specific OTFs. 但是不同分发方式在字体命名上有些不同, 不搞清楚命名方式在实际选用字体时会挺困扰的.

  • SourceHanSans 的 7 个字重分别为: ExtraLight, Light, Normal, Regular, Medium, Bold, Heavy
  • SourceHanSerif 的 7 个字重分别为: ExtraLight, Light, Regular, Medium, SemiBold, Bold, Heavy

关于字体命名, 大致格式为 $font_name[ $weight], 对 SourceHanSans, $weight 取值范围为 ["", "ExtraLight", "Light", "Normal", "Medium", "Heavy"], 对 SourceHanSerif, $weight 的取值范围为 ["", "ExtraLight", "Light", "Medium", "SemiBold", "Heavy"], Regular 和 Bold 字重同名, 即 $weight 部分为 "" 时, Regular 字重下使用 加粗 功能时会调用 Bold 字重.

对 Super OTC 和 OTCs, 思源黑体[ $weight] 为 简体中文, 思源黑體[ $weight] 为 繁体中文(台湾), 思源黑體 香港[ $weight] 为 繁体中文(香港), 日文 和 韩文 使用英文, 分别为 Source Han Sans[ $weight]Source Han Sans K[ $weight];

对 Language-specific OTFs, 除 思源黑体[ $weight] 为 简体中文 外, 其余字体名都用英文, 格式为 Source Han Sans[ $language[ $weight]], $language 取值范围为 ["", "K", "TC", "HC"], 分别指 "日文", "韩文", "繁体中文(台湾)" 和 "繁体中文(香港)" 语言;

对 Region-specific OTFs, 字体名 除 思源黑体 CN[ $weight] 为 简体中文 外, 其余字体名都用英文, 格式为 Source Han Sans $region[ $weight], $region 取值范围为 ["JP", "KR", "TW", "HK"], 分别指 "日本", "韩国", "台湾" 和 "香港" 地区.

搞清楚命名方式之后看到选用的字体名称就应该能明白指的是哪种分发方式中的哪个字体了.

关于 SourceHanSans 中的 half-width (HW) 字体, "...along with the half-width (HW) variations that are provided only for the Regular and Bold weights", "Font resources that include 'HW' in their names use half-width glyphs for ASCII by default". 注意到 HW 字体名中的空格用的是 全宽 的空格. 把 "思源黑体" 和 "思源黑体 HW" 放 MS Word 比较了下, 仅从中文(或全角字符)下看不出区别, 在英文(半角字符)下, "思源黑体 HW" 比 "思源黑体" 看起来窄一些, 而且 "思源黑体 HW" 的 空格 用的是 全宽空格, "思源黑体" 的 空格 是 半宽空格, 虽然从字符角度而言输入的都是 半角空格, "思源黑体 HW" 看起来像 全角空格. 不确定在什么场合下会用到 HW 字体.

SourceHanSerif 命名方式跟 SourceHanSans 类似, 命名部分把 "思源黑体" 替换为 "思源宋体", "Source Han Sans" 替换为 "Source Han Serif", 不过 SourceHanSerif 中暂时还没有 繁体中文(香港) 部分.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment