]> git.ipfire.org Git - thirdparty/google/fonts.git/commitdiff
UoqMunThenKhung: override config from committed .ufoz for fontc_crater (KNOWN-INCOMPLETE)
authorFelipe Correa da Silva Sanches <juca@members.fsf.org>
Tue, 2 Jun 2026 11:53:30 +0000 (12:53 +0100)
committerFelipe Corrêa da Silva Sanches <juca@members.fsf.org>
Tue, 2 Jun 2026 12:04:44 +0000 (13:04 +0100)
The upstream source/config.yaml points at a build-time-extracted temp/*.ufo
that build.sh unzips from the committed source/UoqMunThenKhung-Regular.ufoz and .gitignores, so
fontc_crater could not find the source. Added an override config.yaml that
declares the committed .ufoz directly (repo-root-relative). Needs the .ufoz
support PRs (googlefonts/fontc#2028, googlefonts/gftools#1192).

KNOWN-INCOMPLETE: the upstream build also runs source/fcp_ufo_process.py on
the extracted UFO (repairs Font Creator 15 defects + adds meta/BASE tables),
which this override does not apply -- so the build may fail or differ. A full
fix needs an upstream PR committing the processed UFO. See upstream_info.md.

Repo:   MoonlitOwen/ThenKhung
Commit: cdf0805fd0db0aba5c7789f60033060e1566d4cc (unchanged; .ufoz verified present)
Config: temp/UoqMunThenKhung-Regular.ufo -> source/UoqMunThenKhung-Regular.ufoz
Status: addresses 'missing source' only; not a reproducible build
Confidence: Medium (post-processing unaddressed)

Assisted by an AI agent (Claude Opus 4.8)

ofl/uoqmunthenkhung/config.yaml [new file with mode: 0644]
ofl/uoqmunthenkhung/upstream_info.md

diff --git a/ofl/uoqmunthenkhung/config.yaml b/ofl/uoqmunthenkhung/config.yaml
new file mode 100644 (file)
index 0000000..372d448
--- /dev/null
@@ -0,0 +1,24 @@
+# Override config.yaml for ofl/uoqmunthenkhung
+#
+# The upstream source/config.yaml builds from `temp/UoqMunThenKhung-Regular.ufo`,
+# an extracted + processed copy of the committed `source/UoqMunThenKhung-Regular.ufoz` that the repo's build.sh
+# produces at build time (and .gitignores). fontc_crater never runs build.sh, so it
+# reported `missing source 'temp/UoqMunThenKhung-Regular.ufo'`.
+#
+# This override declares the committed `.ufoz` (a zipped UFO) directly, repo-root-relative.
+# fontmake already reads `.ufoz`; the fontc side needs googlefonts/fontc#2028, and gftools
+# recognises `.ufoz` via googlefonts/gftools#1192.
+#
+# KNOWN-INCOMPLETE: the upstream build also runs `source/fcp_ufo_process.py` on the
+# extracted UFO before building (it repairs Font Creator 15 export defects and adds the
+# meta/BASE tables -- see upstream_info.md). This override builds from the RAW .ufoz and
+# does NOT run that step, so the build may fail or differ from the shipped binary.
+sources:
+  - source/UoqMunThenKhung-Regular.ufoz
+familyName: "UoqMunThenKhung"
+removeOutlineOverlaps: false
+extraFontmakeArgs: "--production-names"
+autohintOTF: False
+autohintTTF: False
+buildWebfont: False
+version: 1.005
index f232bcf938195b52cef2bbc69e3200eb0642851a..65b45cc5999f9959dd9b98ef88d6b86aef0acc05 100644 (file)
 ## Summary
 
 UoqMunThenKhung (宇文天穹) was designed by Moonlit Owen and published under the OFL. It was a Traditional Chinese serif typeface providing a single Regular weight covering Traditional Chinese, Cyrillic, Latin, and Symbols2 subsets, with Traditional Han (`Hant`) as its primary script. The TTF was sourced from `fonts/ttf/` in the repository and the build configuration from `source/config.yaml`. The font was added to Google Fonts on 2025-05-16.
+
+
+## Source-metadata correction (2026-06-02) — override config from the committed .ufoz (KNOWN-INCOMPLETE)
+
+**Model**: Claude Opus 4.8
+
+fontc_crater reported `missing source 'temp/UoqMunThenKhung-Regular.ufo'`: the upstream `source/config.yaml` declares `temp/UoqMunThenKhung-Regular.ufo`, which the repo's build.sh produces at build time by extracting the committed `source/UoqMunThenKhung-Regular.ufoz` and then `.gitignore`s. fontc_crater never runs build.sh, so the source appears absent.
+
+An override `config.yaml` was added in this family directory that declares the committed `source/UoqMunThenKhung-Regular.ufoz` (a zipped UFO) directly, with the path relative to the repository root.
+
+Dependencies:
+- **fontmake** already reads `.ufoz`. The fontc / fontc_crater path additionally needs **[googlefonts/fontc#2028](https://github.com/googlefonts/fontc/pull/2028)** (ufo2fontir reads `.ufoz`) and **[googlefonts/gftools#1192](https://github.com/googlefonts/gftools/pull/1192)** (gftools.builder recognises `.ufoz`).
+
+### ⚠ Still-unaddressed issue: the Font Creator post-processing is not applied
+
+The committed `.ufoz` is a **raw Font Creator 15 export**. The upstream build does not build it directly — it first runs `source/fcp_ufo_process.py` on the extracted UFO, which:
+- strips a UTF-8 BOM from the UFO's XML files,
+- repairs `fontinfo.plist` (adds the missing `encodingID` after `platformID`),
+- corrects invalid `features.fea` data,
+- sets `useTypoMetrics`, the version number, and fixes localized name records, and
+- adds the `public.openTypeMeta` and `BASE` tables.
+
+Several of these are **parse-breaking defects** (BOM, malformed plist/fea), so building directly from the raw `.ufoz` will likely **fail**, and even if it builds it will **differ substantially** from the shipped binary (missing the meta/BASE tables, the metric and version overrides, and the name fixes). This override therefore only addresses the *target-discovery* (`missing source`) failure; it is **not** a reproducible build.
+
+A complete fix requires an **upstream PR** that commits the processed UFO (the output of `fcp_ufo_process.py`, conventionally under `sources/generated/`) and points the config at it.