-
-
Notifications
You must be signed in to change notification settings - Fork 614
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
Building Hack on Fedora tracker #227
Comments
We do not have an automated build chain at the moment. You can build them from the source with Font Forge. How are you building other fonts? |
DejaVu, for example, comes with a Makefile containing the recipe for building the fonts. I see it calls a number of scripts to do the work, including several that call FontForge (e.g., |
Its easy to automate fontforge builds with FF script (PE) or Python
|
This is Fedora's full build for DejaVu fonts: |
Then I guess you would have no problems to provide PR with those scripts, right? What I mean is that we shouldn’t just require upstream to fix our problems, but we should help. |
We can build the fonts manually in the .spec I just didn't know since that's not documented. If the DejaVu fonts build is the same for Hack, then Fedora can adapt this in our packaging. |
@spstarr still interest in this? Any progress? |
Yes interested, just sidetracked in RL, are there any bugs I need to be aware of right now that impact building? |
I will be building today, finally. |
Believe me, this was not a nudge. Just trying to clean up IR's. I am the last person to do this given my own capacity to attend to the project recently.
No Linux bugs that I am aware of that should cause issues for you
👍 Congrats! When you have a chance, can I ask you to provide me with how you would like to handle Fedora build associated questions when/if we receive them in this repo? |
Yes, I would like to work with you to ensure we need no custom patches in Fedora, so any new versions you drop, i can build and push in (or see about any automated build/add to rawhide) |
@spstarr you've scripted the build process? We changed our release directory structure to facilitate releases on a different Linux distro. Let me know if there is anything that I can do on our end to help you with the Fedora releases. |
Adding this information that was discussed in another IR and in the Haack fork repo re: hinting in the fonts based upon the title of this thread: For ttf files (recommended for use across all platforms), I built with FontLab V as “pre-hinted” ttf build files, then used our ttfautohint based scripted hinting approach that is contained in the following script file: https://github.com/chrissimpkins/Hack/blob/master/postbuild_processing/tt-hinting/autohint.sh This uses hinting settings that are defined in the -TA- files in this directory: https://github.com/chrissimpkins/Hack/tree/master/postbuild_processing/tt-hinting These files apply optimized hinting to the main character set files that are used in code. We never ran through optimizations for extended character sets that were not commonly used in code because this was not our goal. If you replicate this approach, you will get hinting in your new ligature characters (ttfautohint hints all characters in the set) but you may need to tweak these if you find that they do not look as intended at certain glyph sizes. For otf files, the build files are hinted with the built in otf hinting used in FontLab V. You will get good automated hinting of otf files in Glyphs as well (probably better c/w FontLab). On OS X, the hinting is automated by the operating system and hints are ignored. TTF and OTF files should both look similar and good. For Windows and Linux, the hints really, really matter (see a large number of the closed issue reports) and I suggest that you investigate how your new glyphs appear at a range of sizes commonly used in code editors if you are targeting these platforms. |
I started, a little, today more... I'll put up a .spec file on my fedora page soon. |
@spstarr let me know if there is anything you need from us. Be happy to explain the hinting process if it would be helpful to you. Thanks Sean. |
@chrissimpkins I'm following all your changes right now I see 3.0 is coming but not yet. I'll have a spec file that builds this but not against 3.0, I don't want to say this week, but this weekend I should get more time. |
@spstarr note the change in source structure if you are pulling source for your build. Once our build chain is in place this may be something you want to convert to. Part of the goal of this effort so that we offload this from you! |
@spstarr OK if I hijack this thread to use for the general build toolchain conversation? Happy to create a new one if you want this to be Fedora specific. |
No problem this is fine |
@spstarr great thanks. more updates re build chain coming this weekend |
build dependencies will include Python 2.7 or Python 3.5+ |
desktop ttf file build dependencies will include:
|
New functionality was introduced in ttfautohint 1.6 that we will be using in our manual hints. v1.6+ will be mandatory for ttfautohint. fontmake does not necessarily need to be pinned to the current version at this stage. I will keep an eye on the fontmake project changes and update if they introduce something that we anticipate to break our builds in some fashion. |
An Update on dependencies for python-fontmake: python-setuptools_scm_git_archive has been approved in Rawhide now Once these clear, python-fontmake will be ready for review and I'll give it review then we can get onto getting Hack 3.0 in. |
@spstarr excellent! good news! Thanks for the update |
For those who re-distribute with our compiled fonts via Github releases, we will be adding tar.gz archives to the releases. The following archives will be supported:
The current archive file path format will be:
Issue report #325 if you'd like to discuss. Note slight file path change from previous format:
|
Hack v3.000 PR is now available for review. Goal for release ~ 2 weeks. |
v3.000 release is now merged to master and live. Thanks all for your feedback and help with this major release! |
We are still blocked in Fedora, I'll see if I can intervene in the package review where possible. |
@spstarr thanks! let us know if there is anything that we can do on our end. This an issue with build dependencies? |
@chrissimpkins Yes, python-booleanoperations, python-pyclipper dependencies for python-fontmake. The problem right now is python-pyclipper bundles systems libraries, upstream is looking at modifying their install to support the system libraries (see here: fonttools/pyclipper#10). If that is the solution, then the packaging for this can just set the environment variable accordingly to use the system lib. For python-booleanoperations, it is blocked on python-pyclipper... I've responded to the bugzilla tickets to see if they need help pushing the reviews. Though for python-pyclipper, I'm hoping that will be resolved soon. Otherwise, Fedora could provide distribution specific patches to use the system libs to workaround this in meantime. |
@spstarr thanks for all of your help! sorry it is such a hassle. |
Further below: "Yes, it is already done. The problem is the the latest polyclipping ABI is |
There is the https://lists.fedoraproject.org/admin/lists/fonts.lists.fedoraproject.org/ tho |
@spstarr do you want this issue report open until you complete the release process on Fedora? We pulled this into a discussion about the new scripted build approach but this was originally your thread for the Fedora redistribution package. Happy to reopen if this is helpful in any way. |
@davelab6 yeah, the mailing list, I meant there's no comps.xml group to automatically to install dependencies for fonts development in general. |
@chrissimpkins Let's leave it open please. Maybe we can rename this issue? |
@davelab6 Dave, has there been any coordinated effort on the part of OS tool development teams to package up a set of "best practices" compilation/post-compile modification tools for the Linux distros? If not, do you think that this is something worthy of further discussion so that someone/a group of someones can help to establish a consistent set of commonly used tools across all interested Linux distros in order to avoid this issue for other typeface projects out there? It seems that this is currently driven by interested distro users who donate their time to make project specific packages happen. If we think a bit more generally about an approach, we could probably establish tooling that works for many projects x many Linux distros rather than attempting to reinvent the wheel with each new typeface that wants to release on a Linux distro with free software redistribution guidelines like Fedora/Debian/Ubuntu. I am sure others have faced the issue, but I am guessing most are simply building with fontforge on Linux? With the availability of all of the excellent OS typeface tooling out there, it might make sense for tool authors to become more involved in driving these projects through the Linux review processes. The individuals who take the reins on that would have the opportunity to help define the build process standards on Linux distros given the time-intensive nature of these review processes for redistribution. This is definitely a disincentive for all involved. |
@spstarr opened again. Feel free to rename however appropriate. |
@spstarr any progress on the pyclipping library side with this issue? Is this still where things are stuck? |
@spstarr It doesn't appear that there has been any progress in the linked Fedora thread since October. Is someone still working on this and if not can we close this issue report? |
…lCheck (www.shellcheck.net) - as per report by @mavit in source-foundry#227
Building on Fedora can be partially done using
then as indicated at ryanoasis/nerd-fonts#70 (comment) change the contents of the files in
then build using
|
When using the dev branch, the following works
|
Is this issue resolved? Fedora still does not have the fonts, I've taken over the packaging but we need a way to build these fonts to satisfy Fedora's policy:
"Fonts SHOULD be built from source whenever upstream provides them in a source format"
The text was updated successfully, but these errors were encountered: