Cleanup: Seperate platform-specific code for font handling. #8666
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.
Motivation / Problem
A lot of platform-specific code for font handling is mashed into two files with lots of
#ifdef
s sprinkled around. Separating it makes for more readable code.Description
OS-specific code is moved into files in the various OS directories. As Fontconfig is only used for Unix-oid systems, it's implementation is moved into os/unix. FreeType code stays in the normal fontcache.cpp file.
Limitations
The current code is quite complicated with how stuff like settings globals are enabled/disabled. This PR simplifies this by always enabling them no matter if TrueType fonts are actually used.
In the best case, the compiler/linker will just strip them out, in the worst case the binaries gets a few bytes larger than needed.
Checklist for review
Some things are not automated, and forgotten often. This list is a reminder for the reviewers.