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 intention here is to provide a system for depending on a font without depending on a specific font. Typically, font dependencies are for programs that need TTF/OTF fonts via fontconfig, not console, bitmap, or Xorg fonts, so this system is primarily designed for them.
There are several categories a font could fall into, that come from the fontconfig names for the different styles (see
/usr/share/fontconfig/conf.avail/*):font:sans-seriffont:seriffont:monospacefont:mathfont:emojiFurther expansion could be made for things like non-latin scripts. I could imagine a system like
font:lang-hifor a font that covers Hindi, orfont:lang-kofor Korean (but do we encode script or language? fontconfig uses:lang=hi). fontconfig'sfc-scancould provide some objective information about languages a font declares support for, but i fear this could become bloated fast, like this forLinux Libertine G Regular:Automation of this might be possible, but I'm not sure of a simple way to give us sans-serif/serif/monospace/math/emoji from fonts directly, as some of this seems to be post-processing by fontconfig's config files.
Overall, once this is merged, other fonts could add these categories through attrition, and other packages that need "a font" can received dependencies on the virtual package instead of forcing dejavu or ignoring the dependency.
Testing the changes