Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New builder #726

Merged
merged 92 commits into from
Mar 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
ac1b5b5
WIP new builder
simoncozens Sep 18, 2023
506a5da
These modules are now an integral part of the builder
simoncozens Sep 18, 2023
5a40431
Add subset adder (needs merge of #730)
simoncozens Sep 20, 2023
cdf7ac0
Various noto fixes
simoncozens Sep 20, 2023
406d997
Actually use tempdir for temporaries
simoncozens Sep 21, 2023
a82a7c6
Change case of recipe_provider to match others
simoncozens Sep 21, 2023
7c06ff2
Fix instance directory
simoncozens Sep 21, 2023
f6bf5e7
Fix paths in noto builder
simoncozens Sep 21, 2023
7d9e573
Include the googlefonts/ targets for noto
simoncozens Sep 21, 2023
8714051
Fix building STAT tables
simoncozens Sep 21, 2023
25dee05
Add some validation for TTF builds
simoncozens Sep 21, 2023
abce51b
Comments
simoncozens Sep 21, 2023
2a4f3f6
Compatibility with older Pythons
simoncozens Sep 21, 2023
518cf98
Build UI VFs
simoncozens Sep 21, 2023
9ff245a
Use temporary directory for stamp files
simoncozens Sep 21, 2023
6913a7c
Move main function
simoncozens Sep 21, 2023
598c5c6
Fix command-line args
simoncozens Sep 21, 2023
81254bb
Build web fonts
simoncozens Sep 21, 2023
22e5617
Correct ninja syntax on Windows
simoncozens Sep 21, 2023
6ba93d4
Continue losing on Windows
simoncozens Sep 21, 2023
77b7dcd
Allow passing a dict config
simoncozens Sep 22, 2023
4caf2be
Allow ints as well as hexints in subset YAML (for machine-generated c…
simoncozens Sep 22, 2023
60cc6c4
Use JSON format UFOs for intermediaries, fixes #731
simoncozens Sep 22, 2023
e34738e
Properly save JSON-based subset UFOs
simoncozens Sep 22, 2023
fb14950
Fix fontmake arguments
simoncozens Sep 22, 2023
ede2e57
Everyone gets a STAT table!
simoncozens Sep 25, 2023
c92ca8b
Add --include-source-fixes when fixing googlefonts outputs
simoncozens Sep 25, 2023
20718ea
Call ninja and report exit status
simoncozens Sep 26, 2023
d46140c
Don't pass argv to ninja
simoncozens Sep 26, 2023
1ef33f5
Don’t do STAT inplace
simoncozens Sep 28, 2023
3966e1f
Allow other args to subspacer
simoncozens Sep 28, 2023
3826115
cmap remapper
simoncozens Sep 28, 2023
875ca1a
I believe this makes buildSTAT work everywhere
simoncozens Sep 28, 2023
026824c
Deepcopy steps so the YAML doesn't go all referency with --generate
simoncozens Oct 1, 2023
a4a8e9c
Allow disabling buildWebfont!
simoncozens Oct 1, 2023
3c77b69
Allow source->operation->source
simoncozens Oct 3, 2023
e7b6b59
Keep notdef outline, saves a FAIL
simoncozens Oct 3, 2023
64b6bdc
Add a --deep option to remap inside GSUB
simoncozens Oct 4, 2023
8d60ede
Pass --deep option to remap
simoncozens Oct 4, 2023
1ca0eef
[builder2] Pass --glyph-data to fontmake when converting glyphs to uf…
khaledhosny Oct 5, 2023
a431ac4
Support glyphspackage
simoncozens Oct 6, 2023
03825f9
Quieten fontmake jobs
simoncozens Oct 6, 2023
9b322df
Use a jobrunner to quieten successful jobs and highlight failing ones
simoncozens Oct 6, 2023
465b5cb
Add a build-vtt utility and operation
simoncozens Oct 6, 2023
6d87572
Port more options from the old builder
simoncozens Oct 6, 2023
de8b8df
glyphData is an array
simoncozens Oct 12, 2023
833cfe3
glyphData is an array, and only for Glyphs sources
simoncozens Oct 13, 2023
d1bce34
Handier error message format
simoncozens Oct 13, 2023
eeaf9c8
Let's not autohint OTFs
simoncozens Oct 17, 2023
7728a58
Don't run buildSTAT on woff2 as well
simoncozens Oct 17, 2023
c45b3eb
Documentation
simoncozens Oct 17, 2023
ba8b55e
Additional docs about recipe overrides
simoncozens Oct 17, 2023
6b1d1d1
This seems to be needed?
simoncozens Oct 17, 2023
a5110e4
Better handle recipe provider inheritance
simoncozens Oct 19, 2023
5b3d676
Black
simoncozens Oct 19, 2023
2638ff9
Use strictYAML, first step in getting proper validation
simoncozens Oct 26, 2023
6c84b62
Consistently use "args", not "fontmake_args", "fixargs" etc.
simoncozens Oct 26, 2023
c6e8884
Use schema to validate
simoncozens Oct 26, 2023
02ee551
Fix up notobuilder after strictYAMLification
simoncozens Oct 26, 2023
44b83bc
This is yucky.
simoncozens Oct 26, 2023
49ec0c9
black
simoncozens Oct 26, 2023
7765c34
Autohint OTF
simoncozens Oct 26, 2023
7a5feb6
Move base schema to .schema, rename GF schema
simoncozens Oct 27, 2023
43ee266
Allow postprocess-only overrides
simoncozens Oct 27, 2023
e8c1190
StrictYAML has made things confusing, use typing to help
simoncozens Oct 27, 2023
560820b
Reformat with black
simoncozens Oct 27, 2023
25e6761
More strictyaml fixes
simoncozens Oct 27, 2023
96794ad
Make --generate work again with strictyaml
simoncozens Oct 27, 2023
26f4cab
Everything that comes from .config is strictYAML now and needs .data
simoncozens Oct 30, 2023
16f30a1
Revalidate STAT to schema
simoncozens Oct 30, 2023
eac9668
Make STAT values optional
simoncozens Oct 30, 2023
87017e9
More StrictYAML pollution
simoncozens Oct 31, 2023
c86925f
More StrictYAML pollution
simoncozens Oct 31, 2023
0b70d85
More StrictYAML pollution, needed for UIVFs
simoncozens Nov 8, 2023
f837295
Cope with the same step being in a recipe twice
simoncozens Dec 6, 2023
e738be4
Fail early on silly graphs
simoncozens Dec 6, 2023
309c7bd
gf recipe: fix revalidate stat tables
m4rc1e Dec 11, 2023
a6266c0
gf recipe: fix flag typo
m4rc1e Dec 11, 2023
baa343f
gf recipe: toggle compatibility check for ds sources as well
m4rc1e Dec 12, 2023
4a16f26
add missing import
m4rc1e Dec 12, 2023
c6254fc
autohintOTF: use --no-sonzes-stems if dflt fails
m4rc1e Dec 13, 2023
a8a439b
fix string concat
m4rc1e Dec 13, 2023
2f83cbb
fix typo
m4rc1e Dec 13, 2023
bfe365b
Allow extra fontmake args in config file
simoncozens Dec 14, 2023
4b33823
Fix more StrictYAML annoyance
simoncozens Jan 17, 2024
93fc4a6
Add remap layout operation
simoncozens Feb 12, 2024
b8290f8
Allow the use of $in and $out in exec args
simoncozens Feb 22, 2024
8ac3220
Allow passing args to rename
simoncozens Feb 28, 2024
69a8f5d
Default autohintOTF to false
simoncozens Mar 4, 2024
8b54a31
Merge branch 'main' into builder2
simoncozens Mar 7, 2024
8b97982
Merge branch 'main' into builder2
simoncozens Mar 7, 2024
ed030d9
Derive output directory defaults from outputDir, fixes #846
simoncozens Mar 8, 2024
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,018 changes: 327 additions & 691 deletions Lib/gftools/builder/__init__.py

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions Lib/gftools/builder/__main__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from gftools.builder import main
import yaml
import subprocess


if __name__ == "__main__":
main()
Loading
Loading