Comments (9)
We already have this. Repos based on the googlefonts-project-template will have a sources/config.yaml which identifies the sources to build. Running gftools-builder sources/config.yaml
on any compliant repo should build the relevant sources. This is how gfautobuilder (which I mentioned in your issue) works. builder2 is merged now. I'm seriously considering making a switch which makes the actual build-the-font operations use fontc instead of fontmake.
from fonts.
In fact it's even easier than messing with the SourceProto. If we have a config.yaml in google/fonts/ofl/whatever, use it, otherwise use theirs.
from fonts.
This is something I have been thinking about. There is a speadsheet here which tracks the library-wide fails and gives suggestions for how to fix them. Many of the issues can be scripted or hotfixed, but the best way to start is to track down as many upstream repos as we can, which I have been working on.
from fonts.
Adobe Fonts have also been working on this per the adobe-fonts fontbakery profile, made a Google Sheet to triage with me, and then drove a fonttools hotfix process using internal scripting with results posted to Drive only.
They identified the following indic fonts that lack a Rupee character, so adding that will be a good priority small-fix commission :)
- Kavivanar
- Modak
- Palanquin
- Palanquin Dark
- Pavanam
- Sumana
from fonts.
It would be helpful to fontc testing and adoption if we could include the ability to find the sources and identify which specific ones to compile as part of this. This enables us to test build things (googlefonts/fontc#724).
from fonts.
Repos based on the googlefonts-project-template will have a sources/config.yaml
This said, one thing I've found to be fairly common is that we have repos containing multiple font families. e.g. Big Shoulders has a subdirectory for Big Shoulders, Big Shoulders Inline and Big Shoulders Stencil. Each subdirectory has its own sources/config.yaml
.
It may be useful to add a metadata field to the SourceProto
to help distinguish how to build these things. Either:
config
: "We expecting every upstream to have a gftools-builder config.yaml, here is where it lives in the repo." This would be ideal but problematic on some fonts which have idiosyncratic non-Google build processes (For example, the SIL fonts which use their own build toolchain) and for non-commissioned fonts where we can build them from source, but we don't have the ability to put aconfig.yaml
file in their repo.source_files
: "Here are the arguments to gftools-builder, which may be a config.yaml for repositories under our control, and a list of font source paths for repositories we don't control."build_script
: "Here are the commands to build the family."
from fonts.
I immediately wonder if google/fonts could store the config for the cases where we can't get it upstream? Concretely, I'm imagining the SourceProto config
that is able to distinguish local repo from upstream. It might not be modelled exactly like this but conceptually origin/path/to/config
means it's in this repo, upstream/path/to/config
means it's in the remote.
We would prefer upstream but not strictly require it.
from fonts.
I like that a lot. It means as gftools-builder advances we can very easily bring more cleverness into the build, and it helps us to build complex upstream projects out of our control, without requiring us to fork the upstream or keep pushing changes to them.
from fonts.
For the case of an upstream repo with many config.yaml do you need a field in SourceProto to allow specification of which one to use?
from fonts.
Related Issues (20)
- Add accents to Preahvihear (aèìòù)
- Request to modify Noto Sans Oriya glyph numeral 3 HOT 1
- Add: Funnel Sans and Funnel Display HOT 5
- Update [Font Name] HOT 1
- Noto Q2 release plans
- Add [ALLER]
- Add Syncopate font package HOT 2
- Font subsetting in the CSS API removes glyphs present in the full font HOT 3
- Update Inter HOT 1
- Die / Dice emoji incorrectly animated (noto animated emojis) HOT 1
- Add Designer and Article: Moonlit Owen / Cactus Classic font
- Add Justfont Huninn
- Add Designer and Article: LXGW WenKai TC fonts
- Add Iansui HOT 1
- Add Dorothy Matrix M
- ufo file of CJK font is too large HOT 1
- Add German umlauts to Gugi HOT 1
- Deduplicate lookups in Crimson Text HOT 4
- Rene Bieder - Campton HOT 4
- Lato font - Missing Czech characters and additional weights HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fonts.