[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