Open kkartaltepe opened 3 years ago
Many fonts seem to not build anymore, and CI only builds changed files, so any changes in the pipeline that break unchanged files go unnoticed.
@kkartaltepe : do you use released fontmake or the fontmake included in the noto-source repository... In particular I'd like know if you do
would/did you get this error?
@khaledhosny @kkartaltepe : IMHO, most (all?) of the people who maintain fontmake or any of libraries it uses never test the changes with noto-source. As a result there are fonts that I used to be able to build cannot be built now.... Note that some of the changes are catching legitimate source issues (and they would require a source change to build a font -- e.g., variable NotoSansDevanagari) but I'm not sure what the justification was for some of the changes.
I'd love to make building of noto-source a requirement to test fontmake (or anything that it uses) and I'd expect one of the two outcomes:
@kkartaltepe : variable fonts are supported .. see https://github.com/googlefonts/noto-fonts/tree/main/unhinted/variable-ttf OR if you want a consistent (regular through bold) set of variable weight axis only see https://github.com/googlefonts/noto-fonts/tree/main/unhinted/slim-variable-ttf
We are also working on redoing https://www.google.com/get/noto/; you'll see the variable fonts there
1. git clone 2. cd noto-source 3. ./build setup 4. ./build src/NotoSans-ItalicMM.glyphs OR ./build variable src/NotoSans-ItalicMM.glyphs
would/did you get this error?
/build src/NotoSans-ItalicMM.glyphs
fails with:
fontmake: Error: In 'src/NotoSans-ItalicMM.glyphs' -> 'master_ufo/NotoSansIV-Italic.designspace': Generating fonts from Designspace failed: Locations must be unique.
while ./build variable src/NotoSans-ItalicMM.glyphs
fails with:
ERROR:cu2qu.ufo:Glyphs named 'psi' have incompatible segment types:
3: ('curve', 'line', 'line', 'line', 'line', 'line', 'line', 'line')
7: ('curve', 'line', 'line', 'line', 'line', 'line', 'line', 'line')
10: ('line', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve')
16: ('line', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve')
ERROR:cu2qu.ufo:Glyphs named 'Phi' have incompatible segment types:
3: ('curve', 'line', 'line', 'line', 'line', 'line', 'line', 'line')
5: ('line', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve')
8: ('curve', 'line', 'line', 'line', 'line', 'line', 'line', 'line')
10: ('line', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve')
13: ('curve', 'line', 'line', 'line', 'line', 'line', 'line', 'line')
15: ('line', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve')
ERROR:cu2qu.ufo:Glyphs named 'lambda.sc' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'beta' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'chi' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'mu' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'gamma' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'upsilon' have incompatible segment types:
2: ('curve', 'line', 'line', 'line', 'line', 'line', 'line', 'line')
3: ('line', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve')
6: ('curve', 'line', 'line', 'line', 'line', 'line', 'line', 'line')
9: ('line', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve')
ERROR:cu2qu.ufo:Glyphs named 'theta' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'iota' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'Psi' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'kaiSymbol' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'tau' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'delta.sc' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'omega' have incompatible segment types:
2: ('line', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve')
5: ('curve', 'line', 'line', 'line', 'line', 'line', 'line', 'line')
6: ('line', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve')
ERROR:cu2qu.ufo:Glyphs named 'alpha' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'pi' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'phi' have incompatible segment types:
3: ('curve', 'line', 'line', 'line', 'line', 'line', 'line', 'line')
6: ('line', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve')
7: ('curve', 'line', 'line', 'line', 'line', 'line', 'line', 'line')
9: ('line', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve')
10: ('curve', 'line', 'line', 'line', 'line', 'line', 'line', 'line')
12: ('line', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve', 'curve')
ERROR:cu2qu.ufo:Glyphs named 'Sigma' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'Theta' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'zeta' have different number of segments
ERROR:cu2qu.ufo:Glyphs named 'theta.sc' have different number of segments
fontmake: Error: In 'src/NotoSans-ItalicMM.glyphs' -> 'master_ufo/NotoSansIV-Italic.designspace': Generating fonts from Designspace failed: fonts contains incompatible glyphs: 'Phi', 'Psi', 'Sigma', 'Theta', 'alpha', 'beta', 'chi', 'delta.sc', 'gamma', 'iota', 'kaiSymbol', 'lambda.sc', 'mu', 'omega', 'phi', 'pi', 'psi', 'tau', 'theta', 'theta.sc', 'upsilon', 'zeta'
(both commands produce lots of other warnings before these failures).
This is not the only failing font as well, ./build all
fails for many more fonts.
@kkartaltepe : do you use released fontmake or the fontmake included in the noto-source repository... In particular I'd like know if you do
1. git clone 2. cd noto-source 3. ./build setup 4. ./build src/NotoSans-ItalicMM.glyphs OR ./build variable src/NotoSans-ItalicMM.glyphs
would/did you get this error?
I do not have fontmake installed locally, I assume the included fontmake is being used. I was following the build instructions in the readme, so yes the same 4 steps you outlined but ./build all variable
.
./build src/NotoSans-ItalicMM.glyphs
and ./build variable src/NotoSans-ItalicMM.glyphs
completes successfully on 356962b9a but both fail on d19e3db5ab7f87bfab30b8ecf68601fd81521539. The errors Khaled posted are the ones I see as well.
We are also working on redoing https://www.google.com/get/noto/; you'll see the variable fonts there
Great I look forward to it.
@moyogo : this looks that Irene's work caused some problems in this source repository. Do we have any sources that will build NotoSans (and possibly all other LGC fonts) correctly?
fontmake: Error: In 'src/NotoSans-ItalicMM.glyphs' -> 'master_ufo/NotoSansIV-Italic.designspace': Generating fonts from Designspace failed: fonts contains incompatible glyphs: 'Phi', 'Psi', 'Sigma', 'Theta', 'alpha', 'beta', 'chi', 'delta.sc', 'gamma', 'iota', 'kaiSymbol', 'lambda.sc', 'mu', 'omega', 'phi', 'pi', 'psi', 'tau', 'theta', 'theta.sc', 'upsilon', 'zeta'
This has been fixed in notofonts/Noto-LatinGreekCyrillic. I'll make a PR so the latest files are here as well.
Should this be closed?
Feel free to close this if ./build all variable
succeeds.
Still failing. Current first failure:
==== building src/NotoMusic.glyphs ====
INFO:fontmake.font_project:Building master UFOs and designspace from Glyphs source
INFO:glyphsLib.classes:Parsing "src/NotoMusic.glyphs" file into <GSFont>
ERROR:ufo2ft.featureWriters:failed to load feature writer: {'class': 'CursFeatureWriter', 'options': {'mode': 'append'}}
Traceback (most recent call last):
File "/Users/khaled/Development/attic/attic/noto-source/env/lib/python3.9/site-packages/ufo2ft/featureWriters/__init__.py", line 86, in loadFeatureWriters
klass = getattr(module, className)
AttributeError: module 'ufo2ft.featureWriters' has no attribute 'CursFeatureWriter'
INFO:fontmake.font_project:Building variable font variable_ttf/NotoMusic-Regular-VF.ttf
fontmake: Error: In 'src/NotoMusic.glyphs' -> 'master_ufo/NotoMusic-Regular.designspace': Generating fonts from Designspace failed: Can't find base (neutral) master in DesignSpace document
Still failing. Current first failure:
Yes I noticed that: https://github.com/googlefonts/noto-source/issues/583
There appear to be a handful of reported failures for variable fonts but it seems even NotoSans is failing now. Are these still supported, it doesnt appear any of the official google distributions (https://www.google.com/get/noto/, https://fonts.google.com/) include the option for variable fonts anymore.