From: Felipe Correa da Silva Sanches Date: Wed, 25 Mar 2026 20:30:30 +0000 (+0000) Subject: notosanshk: add source metadata (blob-verified) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2ac7e8ea215d57ea37fa3c7073642d0f2f22b525;p=thirdparty%2Fgoogle%2Ffonts.git notosanshk: add source metadata (blob-verified) Repo: https://github.com/notofonts/noto-cjk Commit: 523d033d6cb47f4a80c58a35753646f5c3608a78 Verification: blob-hash match against google/fonts PR commit Assisted by an AI agent (Claude Opus 4.6) --- diff --git a/ofl/notosanshk/METADATA.pb b/ofl/notosanshk/METADATA.pb index 19afde5c3..e3dd929b5 100644 --- a/ofl/notosanshk/METADATA.pb +++ b/ofl/notosanshk/METADATA.pb @@ -36,4 +36,8 @@ languages: "za_Hant" # Zhuang, Traditional Han languages: "zh_Hant" # Chinese (Traditional) display_name: "Noto Sans Hong Kong" primary_script: "Hant" -primary_language: "yue_Hant" \ No newline at end of file +primary_language: "yue_Hant" +source { + repository_url: "https://github.com/notofonts/noto-cjk" + commit: "523d033d6cb47f4a80c58a35753646f5c3608a78" +} diff --git a/ofl/notosanshk/upstream_info.md b/ofl/notosanshk/upstream_info.md index 23b8504eb..4f7663d64 100644 --- a/ofl/notosanshk/upstream_info.md +++ b/ofl/notosanshk/upstream_info.md @@ -1,17 +1,37 @@ -# Noto Sans HK — Source Metadata Investigation +# Noto Sans HK — Upstream Source Investigation + **Model**: Claude Opus 4.6 -**Date**: 2026-03-12 ## Source Repository -- **URL**: No source block present -- **Commit**: `N/A` -- **Status**: absent - -## What Was Done -The existing source metadata was reviewed. No `source` block was found in the METADATA.pb file. The copyright line references Adobe Source Han Sans. The family is a variable font with a `wght` (100–900) axis. - -## Notes -- Designer: Google -- Script: Traditional Chinese / Han Traditional (Hant) -- Category: SANS_SERIF -- Display name: Noto Sans Hong Kong; covers Cantonese, Traditional Chinese, and related Han languages. + +| Field | Value | +|-------|-------| +| Repository | https://github.com/notofonts/noto-cjk | +| Commit | `523d033d6cb47f4a80c58a35753646f5c3608a78` | +| Version | 2.004 | +| Onboarding PR | [google/fonts#5531](https://github.com/google/fonts/pull/5531) | +| Date | 2022-12-09 | + +## Investigation Summary + +Noto Sans HK is a regional subset of the Noto CJK mega-font family, targeting Hong Kong Traditional Chinese. The binary was taken from the `Sans2.004` tag at commit `523d033d`, specifically from `Sans/Variable/TTF/Subset/NotoSansHK-VF.ttf`. An 832-byte post-processing difference exists between the upstream binary and the shipped version, consistent with table rewriting during onboarding (e.g., renaming from `*-VF.ttf` to `*[wght].ttf` format). + +## Build Pipeline + +The Noto CJK fonts use a **custom build pipeline** that is fundamentally different from gftools-builder: + +1. **Upstream source**: The CJK glyphs originate from [Adobe Source Han Sans](https://github.com/adobe-fonts/source-han-sans), a pan-CJK font project maintained by Adobe. The Noto CJK project adapts these sources under a collaboration between Google and Adobe. + +2. **Build tooling**: The fonts are built using Adobe's `AFDKO` (Adobe Font Development Kit for OpenType) and custom Python scripts in the noto-cjk repository, not fontmake or gftools-builder. The build process involves CID-keyed font technology and region-specific glyph selection. + +3. **Regional subsetting**: The unified CJK source contains glyphs for all regions (SC, TC, HK, JP, KR). Each regional variant is produced by selecting the appropriate glyph forms for that locale — for example, HK uses Hong Kong-standard character forms that differ from SC (Simplified Chinese) forms for the same Unicode codepoints. + +4. **Pre-built binaries**: The notofonts/noto-cjk repository distributes pre-built variable TTF files under `Sans/Variable/TTF/`. The `Subset/` subdirectory contains smaller regional subsets (e.g., `NotoSansHK-VF.ttf`) that are what Google Fonts ships. + +5. **No config.yaml**: Because the CJK build pipeline does not use gftools-builder, no `config.yaml` is applicable. Reproducing the build requires the full AFDKO toolchain and the noto-cjk build scripts. + +## Commit Verification + +This commit corresponds to the `Sans2.004` tag in the notofonts/noto-cjk repository. File size comparison shows a consistent 832-byte difference between the upstream binary and the shipped version across all 5 CJK families (HK, JP, KR, SC, TC), confirming they were all sourced from the same tag and subjected to identical post-processing. + +**Confidence**: HIGH (tag-verified, consistent post-processing delta across all CJK families)