#44148: using Bohoomil's Infinality-Ultimate patches ---------------------------------+----------------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.0 Keywords: font rendering | Port: freetype, fontconfig, cairo quality | ---------------------------------+----------------------------------------- As already discussed on MacPorts-Users and XQuartz-dev, I have spent some time trying to use Bohoomil's ultimate version of the Infinality patches for freetype and fontconfig. These are aimed at optimal font rendering, through patches to the freetype code (i.e. the remaining ones which have not yet been incorporated into freetype in recent years) and a mechanism to tweak the rendering on a per-font basis via XML files (a library of which is included). There are also a few patches to cairo. Quoting bohoomil:
There's actually at least one important cairo patch, cairo-respect-fontconfig.patch that's sole purpose is to make applications supporting cairo use fontconfig settings properly. Stock cairo doesn't do this: that's why Gtk+ applications and Firefox don't honor global fontconfig settings.
Other than that, I add a few Ubuntu patches from which most handy might be
pdf-output-avoid-transparency.patch pdf-output-mime-data-embedding.patch server_side_gradients.patch
We've been using them all for ~2 years now successfully, no problems have been reported.
The project's repository is [https://github.com/bohoomil/fontconfig- ultimate here], bohoomil's [http://bohoomil.com site] has examples and (lots of) discussion. I've managed to modify the freetype, fontconfig and cairo Portfiles to add +infinality variants that do the patching and other stuff required, from patchfiles and additional source in the port files directories. I haven't (yet) been able to figure out how to download things (or clone from git) in a variant, and the patchfiles are not directly compatible with MacPorts' patching mechanism, so for now the extra files are to be kept in the local repository. A solution should also be found for the single user-configuration file, infinality-settings.sh (or infinality-settings.csh for [t]csh users). From what I can tell, the port variants install cleanly (also using clang-3.4) after installing the attached port files in the local repository. The only caveat I have concerns the screen density: on my system I have had to set the X11 density to 75dpi instead of the default 96dpi in order for X11 fonts to render at the same effective size as under OS X (echo `Xft.dpi: 75 | xrdb -merge` and a line `Xft.dpi: 75` in ~/.Xresources because KDE will use that information (sic!!)). Note that freetype is used in non-X11 applications too, so it's not impossible that the improved rendering quality will extend to those applications too. I'd be interested in feedback about the gains in perceived rendering quality - or lack thereof. -- Ticket URL: <https://trac.macports.org/ticket/44148> MacPorts <http://www.macports.org/> Ports system for OS X