Closed alexmyczko closed 4 years ago
Thanks for taking the time to write an issue, @alexmyczko!
Quick question: are you completely unable to run the build due to the mac-only dependency, or are you only unable to use the --pync
option to get a notification for build completions? I tried to make this an option so it wouldn't disrupt the build on other OSes, but I may have done it incorrectly.
well where to start. i try to build without venv, but then there is so much requirements not packaged to build. i am now trying to get it to build with ufo2otg/ufo2glyphs and/or fontmake but keep failing there too (i dont want to build the vf part)
Hmm, yes, it is a bit of a complex project to build. Mostly, to be honest, it is setup for myself to build as I work on finishing things up.
Is there a certain reason you want to build this on your own? Is there a certain reason you want to avoid using venv?
there is so much requirements not packaged to build
Sorry! Have I missed anything in the readme, or is there anything specific you might suggest adjusting to make it easier for someone on Linux to build?
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=944202
someone asks for it for debian, and we build everything from source (if possible). ubuntu, raspbian get a free copy.
Nice, thanks for that detail!
Might the fonts in the official releases work for this purpose?
Theoretically yes, but preferred are built from source (and that is what I would also like to do) if somehow possible - sorry I didn't answer the other questions yet (but will try to get to that asap)
What software with do you design the font? Do you have .glyphs by any chance?
I didn't answer the other questions yet (but will try to get to that asap)
All good, no rush. Yeah, I’d be happy for this to work for you, and grateful if you have any suggestions on how I can improve the Build docs for Linux users. I’m most curious if the venv & requirements will work ... to my knowledge, pync is the only thing that requires macOS, but it is totally optional (just a convenience thing for me, so I can multitask during the somewhat long build process). As far as I know, all other build dependencies are cross-platform.
If you wish to generate woff2 files, you will probably need to install woff2_compress separately.
What software with do you design the font? Do you have .glyphs by any chance?
I used RoboFont for this, as I prefer the UFO format for source control and some of the extensions in the RoboFont ecosystem. The main build preps clean sources (getting rid of glyphs that are experiments/sketches), then uses AFDKO to build static fonts and FontMake to build the variable font.
i've got a hard time to decide what's worse/better, robofonts or fontship/npm: https://github.com/be5invis/Iosevka/issues/715
@alexmyczko I'm not sure what your beef is with Fontship, but don't lump it into the same bucket as npm
(chaos, and not really suited to being a build system for non JS projects) or robofonts
(proprietary). Fontship is just a convenience cli and way to making all the open source build toolchain stuff work together without reinventing the wheel every time. Under the hood it's just using fontmake
, psautomint
, and woff2_compress
and many other similar tools tied together using GNU Make to build targets. It should be quite Debian philosophy friendly. It's also not quite up to the task of being a drop in replacement for this font yet. But why are you knocking on this project's open source build chain and open sources just because the author happens to work on those sources in Robo Font?
didn't mean to be rude or knock around randomly, but your reply clarified a few things, so thank you for that.
Yup, my use of RoboFont makes this somewhat more open-source friendly than a project that uses GlyphsApp (even if in your particular case, this is slightly inconvenient – sorry that is the case right now!).
Either way, though, there are tools that can handle the sources and build them.
I’m closing this issue, but if you have any outstanding specific questions or build blockers, feel free to add further comments, or open new issues with the specific problem.
Thanks!
Also, I’m guessing you already saw this, but the readme includes fairly specific instructions for building. Basically:
--pync
option)version=1.066 # (replace version number)
python build.py --statfiles --version $version
python build.py --static --version $version
Let me know if you have any blocking errors due to Pync, and I can either remove it or try to make sure it isn’t activated outside of Mac environments.
no idea what's missing now...
python3 build.py --static --version $version
🏗 Initial OTF building
Traceback (most recent call last):--------------------| 0.0% Complete
File "build.py", line 83, in <module>
build_static(files["cff"], files["ttf"], out)
File "/var/www/debian/fonts-recursive/fonts-recursive-1.066+dfsg/mastering/build_static.py", line 7
59, in build_static
makeSFNT(cff_root, d)
File "/var/www/debian/fonts-recursive/fonts-recursive-1.066+dfsg/mastering/build_static.py", line 6
89, in makeSFNT
run = subprocess.run(args,
File "/usr/lib/python3.8/subprocess.py", line 489, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'makeotf'
@alexmyczko makeotf
is part of AFDKO, which is listed in the requirements file.
well today one can install https://github.com/alexmyczko/fnt and just say: fnt install recursive
Problem description One of the imported modules is macOS only?
Expected behavior Maybe a print on non macOS could be run instead?
To Reproduce Build it on Linux
Environment (please complete the following information):