From 6428b22e6f4d438cac38ba42b61f93c7648f913a Mon Sep 17 00:00:00 2001 From: Simon Cozens Date: Tue, 17 Oct 2023 15:35:39 +0100 Subject: [PATCH 1/4] Bump the requirements to use builder2 --- requirements.txt | 98 +++++++++++++++++++----------------------------- 1 file changed, 38 insertions(+), 60 deletions(-) diff --git a/requirements.txt b/requirements.txt index 39705e4..baf4fd0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,81 +1,64 @@ -absl-py==1.4.0 +absl-py==2.0.0 appdirs==1.4.4 -async-generator==1.10 attrs==23.1.0 axisregistry==0.4.3 babelfont==3.0.1 -beautifulsoup4==4.12.2 -beziers==0.5.0 blackrenderer==0.6.0 booleanOperations==0.9.0 -Brotli==1.0.9 +Brotli==1.1.0 bump2version==1.0.1 bumpfontversion==0.4.1 cattrs==23.1.2 certifi==2023.7.22 -cffi==1.15.1 +cffi==1.16.0 cffsubr==0.2.9.post1 -charset-normalizer==3.2.0 -click==8.1.6 -cmarkgfm==2022.10.27 -collidoscope==0.6.5 +charset-normalizer==3.3.0 +click==8.1.7 colorlog==6.7.0 -commandlines==0.4.1 -compreffor==0.5.4 +compreffor==0.5.5 cryptography==41.0.4 cu2qu==1.6.7.post2 -defcon==0.10.2 -dehinter==4.0.0 +defcon==0.10.3 Deprecated==1.2.14 -diffenator2==0.2.4 +diffenator2==0.2.13 drawbot-skia==0.5.0 -exceptiongroup==1.1.1 font-v==2.1.0 -fontbakery==0.8.13 fontFeatures==1.8.0 -fontmake==3.6.1 +fontmake==3.7.1 fontMath==0.9.3 -fonttools==4.42.0 +fonttools==4.43.1 freetype-py==2.4.0 fs==2.4.16 -gflanguages==0.5.4 -gftools==0.9.33 +gflanguages==0.5.7 +gftools @ git+https://github.com/googlefonts/gftools@1b710e84eb2f4e8bc860b323b568c0e8418a8eb2 gitdb==4.0.10 -GitPython==3.1.37 -glyphsets==0.6.2 -glyphsLib==6.3.0 -glyphtools==0.8.0 +GitPython==3.1.38 +glyphsets==0.6.4 +glyphsLib==6.4.1 h11==0.14.0 hyperglot==0.4.5 idna==3.4 Jinja2==3.1.2 -kurbopy==0.9.0 lxml==4.9.3 -markdown-it-py==3.0.0 MarkupSafe==2.1.3 -mdurl==0.1.2 -munkres==1.1.4 nanoemoji==0.15.1 -ninja==1.11.1 -numpy==1.25.0 -openstep-plist==0.3.0.post1 +networkx==3.1 +ninja==1.11.1.1 +numpy==1.26.1 +openstep-plist==0.3.1 opentype-sanitizer==9.1.0 -opentypespec==1.9.1 -orjson==3.9.2 +orjson==3.9.9 outcome==1.2.0 -packaging==23.1 picosvg==0.22.1 -Pillow==10.0.0 -pip-api==0.0.30 +Pillow==10.1.0 pngquant-cli==2.17.0.post5 protobuf==3.20.3 pyahocorasick==2.0.0 -pybind11==2.10.4 -pyclipper==1.3.0.post4 +pybind11==2.11.1 +pyclipper==1.3.0.post5 pycparser==2.21 -pygit2==1.12.2 -PyGithub==1.59.1 -Pygments==2.15.1 +pygit2==1.13.1 +PyGithub==2.1.1 PyJWT==2.8.0 PyNaCl==1.5.0 pyparsing==3.1.1 @@ -83,40 +66,35 @@ PySocks==1.7.1 python-bidi==0.4.2 python-dateutil==2.8.2 PyYAML==6.0.1 -regex==2023.6.3 +regex==2023.10.3 requests==2.31.0 resvg-cli==0.22.0.post3 -rich==13.4.2 -rstr==3.2.1 -selenium==4.10.0 -sh==2.0.4 +selenium==4.14.0 +sh==2.0.6 six==1.16.0 -skia-pathops==0.8.0 +skia-pathops==0.8.0.post1 skia-python==87.5 -smmap==5.0.0 +smmap==5.0.1 sniffio==1.3.0 sortedcontainers==2.4.0 -soupsieve==2.4.1 -sre-yield==1.2 statmake==0.6.0 strictyaml==1.7.3 -stringbrewer==0.0.1 tabulate==0.9.0 toml==0.10.2 -tqdm==4.65.0 -trio==0.22.0 -trio-websocket==0.10.3 +tqdm==4.66.1 +trio==0.22.2 +trio-websocket==0.11.1 ttfautohint-py==0.5.1 +typing_extensions==4.8.0 ufo2ft==2.33.4 ufoLib2==0.16.0 -ufolint==1.2.0 -uharfbuzz==0.37.2 -unicodedata2==15.0.0 -Unidecode==1.3.6 +uharfbuzz==0.37.3 +unicodedata2==15.1.0 +Unidecode==1.3.7 urllib3==2.0.6 vharfbuzz==0.2.0 vttLib==0.12.0 wrapt==1.15.0 wsproto==1.2.0 youseedee==0.3.0 -zopfli==0.2.2 +zopfli==0.2.3 From 89c115440c28f2cfa38fd54942528569b904afdf Mon Sep 17 00:00:00 2001 From: Simon Cozens Date: Tue, 17 Oct 2023 15:36:53 +0100 Subject: [PATCH 2/4] Add paintcompiler dependency --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index baf4fd0..3d30b0b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -49,6 +49,7 @@ openstep-plist==0.3.1 opentype-sanitizer==9.1.0 orjson==3.9.9 outcome==1.2.0 +paintcompiler==0.2.0 picosvg==0.22.1 Pillow==10.1.0 pngquant-cli==2.17.0.post5 From a64c9b62ce78bff61151dc839ccbc9ca5bfbff4c Mon Sep 17 00:00:00 2001 From: Simon Cozens Date: Tue, 17 Oct 2023 15:37:15 +0100 Subject: [PATCH 3/4] Add paints and build step for Sixtyfour Color --- Sixtyfour/sources/config.yaml | 15 +++++- Sixtyfour/sources/paints.py | 87 +++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 Sixtyfour/sources/paints.py diff --git a/Sixtyfour/sources/config.yaml b/Sixtyfour/sources/config.yaml index 2df86ac..c74afc5 100644 --- a/Sixtyfour/sources/config.yaml +++ b/Sixtyfour/sources/config.yaml @@ -43,4 +43,17 @@ stat: - name: Moderate value: 40 - name: Strong - value: 100 \ No newline at end of file + value: 100 +recipeProvider: googlefonts +recipe: + ../fonts/variable/Sixtyfour-Color[BLED,SCAN,XELA,YELA].ttf: + - source: Sixtyfour.glyphs + - fontmake_args: --filter ... --filter FlattenComponentsFilter --filter DecomposeTransformedComponentsFilter + --keep-overlaps + operation: buildVariable + - fixargs: '' + operation: fix + - operation: paintcompiler + args: --add-axis "XELA:-100:0:100:Horizontal Element Alignment" --add-axis "YELA:-100:0:100:Vertical Element Alignment" + - operation: rename + name: Sixtyfour Color diff --git a/Sixtyfour/sources/paints.py b/Sixtyfour/sources/paints.py new file mode 100644 index 0000000..62023c4 --- /dev/null +++ b/Sixtyfour/sources/paints.py @@ -0,0 +1,87 @@ +# This is a little Python program which runs inside the font builder. +# We get access to a number of functions, starting in "Paint...", +# which create the paint tables, and the font builder expects us +# to set up a dictionary called `glyphs` which maps glyph names to +# paint definitions. + +# To understand what paint tables are available and their parameters, +# you need to read https://github.com/googlefonts/colr-gradients-spec/blob/main/OFF_AMD2_WD.md + +# The paint builder will automatically set up the palettes for us; +# we can just call "PaintSolid" and "PaintLinearGradient" etc. +# with colour strings and it'll sort it out. We define constants here +# to make the code tidier. +RED = "#FF141DFF" +ORANGE = "#FB7236FF" +LOW_GREEN = "#14FF1D77" +HIGH_GREEN = "#72FB36AA" +LOW_BLUE = "#141DFF77" +HIGH_BLUE = "#7236FBAA" + +# A little wrapper to make defining our three gradients easier +def grad(start, mid): + return PaintLinearGradient( + (512, 0), # Start gradient at middle, baseline + (512, 900), # End gradient at middle, top + (0, 0), # Rotate gradient 90 degrees + ColorLine({0: start, 0.25: mid, 1: start}) + # Go from the start colour to the mid colour at 25% and + # back to the start again + ) + + +# And another wrapper encoding our skew constants +def skew(paint): + return PaintVarSkewAroundCenter( + {(('YELA', -100.0),): -2, (('YELA', 0.0),): 0, (('YELA', 100.0),): 2}, # X axis skew + {(('XELA', -100.0),): -2, (('XELA', 0.0),): 0, (('XELA', 100.0),): 2}, # Y axis skew + # "At XELA=-100, skew the Y axis -2 degrees; at XELA=100, skew + # it 2 degrees" + (512, 450), # skew around the center of the glyph + paint, # dispatch to the next paint table + ) + + +# We also have access to the font object, so we can get all the glyph +# names +for gname in font.getGlyphOrder(): + # Now we are going to compose three copies of the base glyph + # together using the "screen" composition mode. + + # The frontmost copy is the base glyph painted in a + # blue gradient, skewed a few degrees, and then translated + # according to the values of the XELA and YELA axes. + foreground = PaintVarTranslate( + {(('XELA', -100.0),): 100, (('XELA', 0.0),): 0, (('XELA', 100.0),): -100}, + {(('YELA', -100.0),): 110, (('YELA', 0.0),): 0, (('YELA', 100.0),): -110}, + skew( + PaintGlyph(gname, grad(LOW_BLUE, HIGH_BLUE)), + ), + ) + + # The second copy is the base glyph itself painted in a + # red-orange-red gradient, skewed a few degrees, but + # not translated. + middle = skew(PaintGlyph(gname, grad(RED, ORANGE))) + + # And the back layer, the background of our inner + # composition, is the base glyph again painted in a + # green gradient, skewed, and moved in the opposite + # direction on the XELA/YELA axes. + background = PaintVarTranslate( + {(('XELA', -100.0),): -110, (('XELA', 0.0),): 0, (('XELA', 100.0),): 110}, + {(('YELA', -100.0),): -100, (('YELA', 0.0),): 0, (('YELA', 100.0),): 100}, + skew( + PaintGlyph(gname, grad(LOW_GREEN, HIGH_GREEN)), + ), + ) + + # Now we create the composition. Since we have three layers + # and "PaintComposite" takes a foreground and a background, + # we do two compositing operations and feed the second as + # the background to the first. + glyphs[gname] = PaintComposite( + "screen", foreground, PaintComposite("screen", middle, background) + ) + +font["fvar"].instances = [] From 2ffaa885d95ee22e15bc9a09a16408fded99f0c4 Mon Sep 17 00:00:00 2001 From: Simon Cozens Date: Tue, 17 Oct 2023 15:37:42 +0100 Subject: [PATCH 4/4] Add built variable --- .../Sixtyfour-Color[BLED,SCAN,XELA,YELA].ttf | Bin 0 -> 157168 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Sixtyfour/fonts/variable/Sixtyfour-Color[BLED,SCAN,XELA,YELA].ttf diff --git a/Sixtyfour/fonts/variable/Sixtyfour-Color[BLED,SCAN,XELA,YELA].ttf b/Sixtyfour/fonts/variable/Sixtyfour-Color[BLED,SCAN,XELA,YELA].ttf new file mode 100644 index 0000000000000000000000000000000000000000..0160625ad0eac747f792dae480bdb429bef57068 GIT binary patch literal 157168 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 S9sK%4y!WiUtftEU@4o==;0`nZ literal 0 HcmV?d00001