Bundle plots font, to eliminate external font dependencies#185
Merged
s-andrews merged 1 commit intos-andrews:liberationfontfrom Apr 13, 2026
Merged
Conversation
Embeds Liberation Sans (SIL OFL) so FastQC renders consistently without requiring system-installed fonts like Arial, fontconfig, or font-ttf-dejavu-sans-mono. This removes font packages from the bioconda dependency chain. - Add FontManager utility to load/register bundled TTF fonts - Use bundled font in all graph classes and SVG generator - Bold graph titles for better readability - SVG uses font stack: Liberation Sans, Arial, Helvetica, sans-serif - Font-metric-based x-axis label spacing to match previous output Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Owner
|
Happy to take a look. Am merging into a branch so I can try it out and check what (if anything) breaks. This will break all of the inegration tests which relied on pixel specific checks so those would need updating. |
Contributor
Author
|
Thanks! Sorry for not fixing the tests. I'll take a look at those now. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The need for font requirements on the host system is a fairly frequent thorn when building and distributing FastQC - see the relevant bioconda recipe lines for
fontconfig,font-ttf-dejavu-sans-mono. I've also hit Docker build errors for this a tonne of times over the years.After playing with the FastQC source code a bit, I wondered if we could just bundle an open-source font instead of relying on the host system. turns out that I think it should be possible.
Claude summary 🤖
Embeds Liberation Sans (SIL OFL) so FastQC renders consistently without requiring system-installed fonts like Arial, fontconfig, or font-ttf-dejavu-sans-mono. This removes font packages from the bioconda dependency chain.