[MacPorts] #44148: using Bohoomil's Infinality-Ultimate patches
MacPorts
noreply at macports.org
Thu Jun 26 05:11:44 PDT 2014
#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
More information about the macports-tickets
mailing list