Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ofl/lindenhill/METADATA.pb
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ subsets: "latin"
subsets: "latin-ext"
source {
repository_url: "https://github.com/theleagueof/linden-hill"
commit: "a3f7ae6c4cac1b7e5ce5269e1fcc6a2fbb9e31ee"
}
stroke: "SERIF"
classifications: "DISPLAY"
4 changes: 4 additions & 0 deletions ofl/lindenhill/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
buildVariable: false
sources:
- source/Linden Hill.ufo
- source/Linden Hill Italic.ufo
98 changes: 98 additions & 0 deletions ofl/lindenhill/upstream_info.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Investigation Report: Linden Hill

**Family Name**: Linden Hill
**Slug**: lindenhill
**Designer**: Barry Schwartz
**License**: OFL
**Date Added**: 2011-10-19
**Model**: Claude Opus 4.6

## METADATA.pb Source Block (Current)

```
source {
repository_url: "https://github.com/theleagueof/linden-hill"
}
```

The source block was added in commit `658d6674d` ("Update upstreams", 2024-03-04) by Simon Cozens as part of PR #7343 ("Update more upstreams (1/2)"). The block contains a `repository_url` but no `commit` hash and no `config_yaml` path.

## Upstream Repository

- **URL**: https://github.com/theleagueof/linden-hill (verified accessible, HTTP 200)
- **Owner**: theleagueof (The League of Moveable Type)
- **Default branch**: master
- **Total commits**: 1
- **Only commit**: `a3f7ae6c4cac1b7e5ce5269e1fcc6a2fbb9e31ee` ("Initial commit with readme and licenses", 2011-05-25, by micah rich)
- **Tags**: none
- **Open PRs**: 4 (none merged) -- #1 (CSS font-face, closed), #2 (Unicode ligatures, closed), #3 (CSS font-face, open since 2015), #5 (woff2, open since 2024)

The repository was created on GitHub on 2011-05-25. It contains a single commit with the full font package including source UFOs, compiled OTF files, webfont files, and license/readme.

## Source Files in Upstream

The upstream repo contains the following source-relevant files at commit `a3f7ae6`:

- `source/Linden Hill.ufo/` -- Regular UFO source (fontinfo.plist reports creation date 2011/05/25)
- `source/Linden Hill Italic.ufo/` -- Italic UFO source
- `Linden Hill.otf` (120,992 bytes) -- Compiled OTF, regular
- `Linden Hill Italic.otf` (86,760 bytes) -- Compiled OTF, italic
- `webfonts/LindenHill-webfont.ttf` (37,476 bytes) -- Webfont TTF, regular
- `webfonts/LindenHill-Italic-webfont.ttf` (41,368 bytes) -- Webfont TTF, italic

Both `features.fea` files in the UFOs are empty (0 bytes). The UFO sources have standard structure with `fontinfo.plist`, `glyphs/`, `groups.plist`, `kerning.plist`, `lib.plist`, and `metainfo.plist`.

No `config.yaml`, `.designspace`, or `.glyphs` files were found in the upstream repo.

## Font Binaries in google/fonts

- `LindenHill-Regular.ttf` (124,844 bytes)
- `LindenHill-Italic.ttf` (94,540 bytes)

Both files were added in the google/fonts initial commit (`90abd17b4`, 2015-03-07) and have never been updated since. The font binary metadata (extracted via `strings`) showed:

- **Regular**: "FontForge 2.0 : Linden Hill Regular : 28-10-2011", Version 1.202
- **Italic**: "FontForge 2.0 : Linden Hill Italic : 28-10-2011", Version 1.201

The fonts were built with FontForge on 2011-10-28, approximately 5 months after the only upstream commit (2011-05-25). The TTF files in google/fonts are significantly larger than the upstream webfont TTFs and do not correspond to them. The TTFs were likely generated from FontForge SFD sources (possibly from the Sortsmill Fonts project at bitbucket.org/sortsmill/sortsmill-fonts, as referenced in the DESCRIPTION.en_us.html) rather than from the UFO sources in the League of Moveable Type repo.

## Background: Sortsmill / League of Moveable Type Connection

Barry Schwartz (chemoelectric) created fonts under the "Sortsmill" umbrella. The DESCRIPTION.en_us.html references both:
- `bitbucket.org/sortsmill/sortsmill-fonts` (original source repository, now likely defunct)
- `theleagueofmoveabletype.com/linden-hill` (The League of Moveable Type distribution)

The League of Moveable Type repo (`theleagueof/linden-hill`) served as a distribution point with UFO exports, while the original development likely happened in FontForge SFD format in the Sortsmill project. The copyright in the OFL states "Copyright (c) 2011, Barry Schwartz (chemoelectric@chemoelectric.org)".

## Commit Hash Determination

Since the upstream repo has only a single commit (`a3f7ae6c4cac1b7e5ce5269e1fcc6a2fbb9e31ee`), and it predates both the font build date (2011-10-28) and the google/fonts addition (2015-03-07), this is the correct commit hash to reference. There are no other commits or merged PRs to consider.

## Config.yaml Assessment

The upstream repo has UFO sources compatible with gftools-builder but lacks a `config.yaml` file. An override `config.yaml` could be created in the google/fonts family directory referencing the two UFO sources:

- `source/Linden Hill.ufo`
- `source/Linden Hill Italic.ufo`

Since there is no `.designspace` file, a config.yaml would need to define the sources explicitly. However, building these single-master UFOs without a designspace is straightforward for gftools-builder.

## PR History in google/fonts

| PR | Title | Date | Relevance |
|----|-------|------|-----------|
| #7343 | Update more upstreams (1/2) | 2024-03-04 | Added source block with `repository_url` |
| #435 | Update URL of Sortsmill source repository in descriptions | 2017-02-08 | Updated description links |

## Summary

| Field | Value |
|-------|-------|
| **Repository URL** | https://github.com/theleagueof/linden-hill |
| **Commit Hash** | `a3f7ae6c4cac1b7e5ce5269e1fcc6a2fbb9e31ee` |
| **Config.yaml** | Not present in upstream; override needed |
| **Source Type** | UFO |
| **Status** | missing_config |
| **Confidence** | HIGH |

The repository URL is confirmed correct. The commit hash is trivially determined (single commit). The main gap is the absence of a `config.yaml` in the upstream repo. An override config.yaml in the google/fonts family directory would be needed to make the sources buildable with gftools-builder. The UFO sources are the correct format for gftools-builder, though the original TTFs in google/fonts were built with FontForge from what were likely SFD sources in the now-defunct Sortsmill Bitbucket repository.
2 changes: 1 addition & 1 deletion ofl/linefont/METADATA.pb
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ axes {
}
source {
repository_url: "https://github.com/dy/linefont"
commit: "9edec1a1f780db52db0297bab464451f3dbd4d5a"
commit: "347effeda6955b1aa7febc34e17dcce3e04f5e15"
files {
source_file: "OFL.txt"
dest_file: "OFL.txt"
Expand Down
120 changes: 120 additions & 0 deletions ofl/linefont/upstream_info.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# Investigation Report: Linefont

**Model**: Claude Opus 4.6

## Summary

Linefont is a display/symbols variable font by Dmitry Ivanov (Dmitry Iv.) that encodes sparkline data as text. It was onboarded to Google Fonts on 2023-09-27 by Rosalie Wagner via gftools-packager. The source block in METADATA.pb was substantially complete, with repository URL, commit hash, files mapping, branch, and config_yaml all present. However, the commit hash was incorrect: it referenced the latest upstream commit (`9edec1a`, "Create tea.yaml", 2025-01-18) rather than the original onboarding commit (`347effe`, "Make rlig feature section", 2023-09-27).

## METADATA.pb Source Block (as found)

```
source {
repository_url: "https://github.com/dy/linefont"
commit: "9edec1a1f780db52db0297bab464451f3dbd4d5a"
files {
source_file: "OFL.txt"
dest_file: "OFL.txt"
}
files {
source_file: "fonts/variable/Linefont[wdth,wght].ttf"
dest_file: "Linefont[wdth,wght].ttf"
}
branch: "main"
config_yaml: "sources/config.yaml"
}
```

## Repository URL

- **URL**: https://github.com/dy/linefont
- **Status**: Valid, accessible
- **Owner**: dy (Dmitry Iv.)
- **Copyright string in METADATA.pb**: "Copyright 2022 The Linefont Project Authors (https://github.com/dy/linefont)" -- matches the repository URL.

## Commit Hash Analysis

### Original Onboarding Commit

The gftools-packager commit `dfef2e4b2` in google/fonts (2023-09-27) explicitly referenced upstream commit `347effeda6955b1aa7febc34e17dcce3e04f5e15`:

> Linefont Version 3.002;gftools[0.9.33] taken from the upstream repo https://github.com/dy/linefont at commit https://github.com/dy/linefont/commit/347effeda6955b1aa7febc34e17dcce3e04f5e15.

This commit ("Make rlig feature section", authored 2023-09-27T11:40:23Z) was the HEAD of the upstream repo at onboarding time. The PR #6799 was merged on 2023-10-11.

### How the Hash Changed

1. **Original state** (commit `dfef2e4b2`, 2023-09-27): Source block had `commit: "347effeda6955b1aa7febc34e17dcce3e04f5e15"`.
2. **upstream.yaml merge** (commit `66f91f10f`, 2024-04-03): Added `files`, `branch`, and `minisite_url` to METADATA.pb, but kept the original commit hash `347effe`.
3. **Batch 2/4 fontc_crater import** (commit `4ad8ac680`, 2025-03-31): Changed the commit hash from `347effe` to `9edec1a` and added `config_yaml: "sources/config.yaml"`. This update came from the fontc_crater targets.json file, which tracked the latest upstream HEAD rather than the original onboarding commit.

### Commits Between `347effe` and `9edec1a`

A GitHub API comparison showed only 4 commits were added between these two hashes, changing only `readme.md` (modified) and `tea.yaml` (added). **No font source files were changed.** The font binary in google/fonts is byte-identical to the one in the upstream repo at `9edec1a` (SHA-256: `94cab92c51d91e7cac90f03144fa527a9fc6d1712bbbe09ab04c28cdf922026e`).

### Correct Commit Hash

The correct onboarding commit is **`347effeda6955b1aa7febc34e17dcce3e04f5e15`** ("Make rlig feature section", 2023-09-27). While `9edec1a` produces the same font sources, the policy is to reference the exact commit used during onboarding. The current hash `9edec1a` ("Create tea.yaml", 2025-01-18) postdates the onboarding by over a year and was introduced erroneously by the batch fontc_crater import.

## Config.yaml

The upstream repo has a `config.yaml` at `sources/config.yaml` that was present at the onboarding commit `347effe`. This is a valid gftools-builder configuration:

```yaml
buildVariable: true
buildStatic: true
sources:
- Linefont.designspace
familyName: Linefont
axisOrder:
- wdth
- wght
stat:
- name: Width
tag: wdth
values:
- name: SuperCondensed
value: 25
# ... (full STAT table definitions)
- name: Weight
tag: wght
values:
- name: Thin
value: 100
# ... (full STAT table definitions)
```

The `config_yaml: "sources/config.yaml"` field in METADATA.pb is correct. No override config.yaml exists in the google/fonts family directory.

## Upstream Repository Notes

- The local clone at `upstream_repos/fontc_crater_cache/dy/linefont` is a shallow clone with only 1 commit (`9edec1a`). The full history (30+ commits) is available on GitHub.
- The repo contains two sets of sources: `sources/` (with the designspace and 12 UFO masters) and `_sources/` (an older version with a single master UFO). The config at `sources/config.yaml` correctly references `Linefont.designspace` relative to the `sources/` directory.
- Rosalie Wagner contributed to the upstream repo via PRs #13 and #14, adding supercondensed width and fixing design issues before the onboarding commit.

## PR History in google/fonts

| Commit | Date | Description |
|--------|------|-------------|
| `dfef2e4b2` | 2023-09-27 | [gftools-packager] Linefont: Version 3.002;gftools[0.9.33] added |
| `a67abd113` | 2023-09-27 | Linefont: updated metadata.pb and description |
| PR #6799 merged | 2023-10-11 | Onboarding PR by Rosalie Wagner |
| `9f0fe8b16` | 2023-10-12 | Linefont: custom sample text |
| `fbfbbfe45` | 2023-10-12 | Linefont: adjusted sample text |
| `16ceb1348` | 2023-10-13 | Linefont: added missing property, removed useless ones |
| `49b715cb4` | 2023-10-17 | Removed latin subsets |
| `a5e83d7a6` | 2023-11-20 | Update Linefont About page text |
| `66f91f10f` | 2024-04-03 | Merge upstream.yaml into METADATA.pb |
| `4ad8ac680` | 2025-03-31 | [Batch 2/4] port info from fontc_crater targets list |

## Recommended Fix

The commit hash in METADATA.pb should be corrected from `9edec1a1f780db52db0297bab464451f3dbd4d5a` back to `347effeda6955b1aa7febc34e17dcce3e04f5e15` (the original onboarding commit). All other fields are correct.

## Status

- **Repository URL**: Correct
- **Commit hash**: Incorrect (needs correction from `9edec1a` to `347effe`)
- **Config**: `sources/config.yaml` -- correct, present in upstream repo
- **Overall status**: needs_correction
- **Confidence**: HIGH
1 change: 1 addition & 0 deletions ofl/lineseedjp/METADATA.pb
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ subsets: "latin-ext"
subsets: "menu"
source {
repository_url: "https://github.com/line/seed"
commit: "ea7a320d85172a57dc458507267d82e7c0f2d49a"
config_yaml: "LINESeedJP/sources/config.yaml"
}
primary_script: "Jpan"
105 changes: 105 additions & 0 deletions ofl/lineseedjp/upstream_info.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# Investigation Report: LINE Seed JP

**Model**: Claude Opus 4.6

## Summary

| Field | Value |
|---|---|
| **Family Name** | LINE Seed JP |
| **Slug** | lineseedjp |
| **Designer** | LY Corporation, Fontrix, Fontworks |
| **License** | OFL |
| **Primary Script** | Jpan |
| **Repository URL** | https://github.com/line/seed |
| **Commit Hash** | `ea7a320d85172a57dc458507267d82e7c0f2d49a` |
| **Config YAML** | `LINESeedJP/sources/config.yaml` (in upstream repo) |
| **Status** | complete |
| **Confidence** | HIGH |

## METADATA.pb Source Block (Current)

```
source {
repository_url: "https://github.com/line/seed"
config_yaml: "LINESeedJP/sources/config.yaml"
}
```

The source block has `repository_url` and `config_yaml` but is **missing the `commit` field**. The commit hash `ea7a320d85172a57dc458507267d82e7c0f2d49a` should be added.

## Investigation Details

### Onboarding History

LINE Seed JP was onboarded to Google Fonts via [PR #10011](https://github.com/google/fonts/pull/10011), created by Aaron Bell (@aaronbell) on 2025-11-20 and merged by Emma Marichal (@emmamarichal) on 2025-11-21. The PR title was "LINE Seed JP : 1.008 added".

The PR body explicitly stated:
> Taken from the upstream repo https://github.com/line/seed at commit https://github.com/line/seed/commit/ea7a320d85172a57dc458507267d82e7c0f2d49a

The PR also referenced "Closes #7561", which appeared to be an issue requesting the addition of LINE Seed JP.

### Commit History in google/fonts

1. `6ffeafaa8` (2025-11-20, Aaron) — "Adding LINE Seed JP" — original onboarding commit
2. `6b65ef9a3` (2025-11-21, Aaron) — "Making minor updates to metadata"
3. `4128478be` (2026-02-18, Emma Marichal) — "Update link to LINE Seed typeface"
4. `5ddf312e6` (2026-02-20, Felipe Sanches) — "Add config_yaml enrichment for 82 font families" — added `config_yaml` field to source block

### Upstream Repository Analysis

The upstream repository at https://github.com/line/seed was verified as the correct source. Key observations:

- **Repo structure**: Contains `LINESeedJP/sources/` directory with `.glyphspackage` source files (Thin, Regular, Bold, ExtraBold) and `config.yaml`
- **Maintainers**: The repo is maintained by TAMADA Akihiro (spring-raining) from LY Corporation, with contributions from Aaron Bell (@aaronbell) and Simon Cozens
- **Tags**: Three release tags exist: `v20231127`, `v20241007`, `v20251119`
- **Tag `v20251119`** points exactly to commit `ea7a320d85172a57dc458507267d82e7c0f2d49a`, confirming the onboarding used this tagged release

### Commit Hash Verification

The referenced commit `ea7a320d85172a57dc458507267d82e7c0f2d49a` ("ci: Update the release steps", 2025-11-19) was verified:

1. **Explicitly referenced** in the PR #10011 body by the onboarder
2. **Tagged as `v20251119`** in the upstream repo, confirming it was a release point
3. **Dated 2025-11-19**, one day before the google/fonts PR was created (2025-11-20) — consistent timing
4. **Is HEAD of origin/main** — no additional commits have been made to the upstream repo since onboarding
5. **Aaron Bell contributed** to this commit range — he made commits `41dd6f9` and `b3c59339` in the upstream repo (updating sources per fontspector and updating copyright string), which were merged via PR #9, followed by CI fixes by spring-raining that culminated in `ea7a320`

The commit hash is confirmed with HIGH confidence.

### Config YAML Verification

The config file at `LINESeedJP/sources/config.yaml` in the upstream repo was verified. At commit `ea7a320`, it contained:

```yaml
sources:
- LINESeedJP-Thin.glyphspackage
- LINESeedJP-Regular.glyphspackage
- LINESeedJP-Bold.glyphspackage
- LINESeedJP-ExtraBold.glyphspackage
familyName: LINE Seed JP
autohintTTF: false
autohintOTF: false
extraStaticFontmakeArgs: --subroutinizer compreffor
```

No override `config.yaml` exists in the google/fonts family directory. The `config_yaml` field in METADATA.pb correctly points to the upstream file path.

### What Needs to Be Fixed

The METADATA.pb source block is missing the `commit` field. The recommended update:

```
source {
repository_url: "https://github.com/line/seed"
commit: "ea7a320d85172a57dc458507267d82e7c0f2d49a"
config_yaml: "LINESeedJP/sources/config.yaml"
}
```

## Cached Repo Status

- **Path**: upstream_repos/fontc_crater_cache/line/seed
- **Branch**: main (up to date with origin/main)
- **Status**: Clean, no local modifications
- **HEAD**: `ea7a320d85172a57dc458507267d82e7c0f2d49a`
1 change: 1 addition & 0 deletions ofl/lisubosa/METADATA.pb
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ subsets: "lisu"
subsets: "menu"
source {
repository_url: "https://github.com/silnrsi/font-lisu-bosa"
commit: "95b4da9504f8ba528e001dbfb23adafa314388e3"
archive_url: "https://github.com/silnrsi/font-lisu-bosa/releases/download/v2.000/LisuBosa-2.000.zip"
files {
source_file: "LisuBosa-2.000/OFL.txt"
Expand Down
3 changes: 3 additions & 0 deletions ofl/lisubosa/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
sources:
- source/LisuBosaUpright.designspace
- source/LisuBosaItalic.designspace
Loading
Loading