Difference between revisions of "Infinality"

From ArchWiki
Jump to: navigation, search
(Customization and troubleshooting)
(ad: Replacing Article summaries with Related articles)
Line 1: Line 1:
 
[[Category:Fonts]]
 
[[Category:Fonts]]
{{Article summary start}}
 
{{Article summary text|infinality-bundle+fonts: installation instructions and user notes}}
 
  
{{Article summary heading|Related}}
+
{{Related articles start}}
{{Article summary wiki|Fonts}}: Information on adding fonts and font recommendations
+
{{Related|Fonts}}
{{Article summary wiki|Font Configuration}}: An overview of font configuration options and various techniques for improving the readability of fonts
+
{{Related|Font Configuration}}
{{Article summary wiki|MS Fonts}}: Adding Microsoft fonts
+
{{Related|MS Fonts}}
{{Article summary end}}
+
{{Related articles end}}
  
  

Revision as of 16:01, 14 December 2013



General information

Infinality-bundle is a collection of software providing an easy, 'install-and-forget' method of improving text rendering in Arch Linux. The packages are fully compatible with system libraries available in the [extra] repository and are meant to be used as drop-in replacements for them.

Currently, the bundle comprises:

  • freetype2-infinality-ultimate - freetype2 built with Infinality and additional patches.
  • fontconfig-infinality-ultimate - fontconfig optimized for use with freetype2-infinality-ultimate, including separate configuration presets for free (default), MS and custom font collections.
  • cairo-infinality-ultimate - cairo built with Ubuntu and additional patches.

All libraries are built in a clean chroot environment and are available for both i686 and x86_64 architectures, including multilib support.

For best results and users' convenience, a complementary repository infinality-bundle-fonts is available, offering a wide selection of all necessary typefaces needed to create and reproduce hypertext documents. All fonts were manually selected, ensuring high quality text rendering as well as compatibility with proprietary equivalents used for the Web and the office. All fonts are freely available and all but one family are licensed under GPL, OFL, Apache or compatible, non-restrictive licenses.

By default, no post installation configuration is required. However, for maximum flexibility users can easily customize the bundle depending on their needs.

Installation

A typical and recommended setup consists of both libraries for a selected architecture and the basic collection of fonts:


1. Add the following entries to /etc/pacman.conf:

  • base system libraries
[infinality-bundle]
Server = http://ibn.net63.net/infinality-bundle/$arch
  • multilib support (if applicable)
[infinality-bundle-multilib]
Server = http://ibn.net63.net/infinality-bundle-multilib/$arch
  • free font collection
[infinality-bundle-fonts]
Server = http://ibn.net63.net/infinality-bundle-fonts

2. Import and sign the key:

# pacman-key -r 962DDE58
# pacman-key --lsign-key 962DDE58

3. Refresh pacman database:

# pacman -Syyu

4. Finally, install the software (libraries + minimal font collection, including 5 packages):

# pacman -S infinality-bundle infinality-bundle-multilib ibfonts-meta-base

When pacman resolves dependencies and encounters a conflicting package, e.g.:

resolving dependencies...
looking for inter-conflicts...
:: freetype2-infinality-ultimate and freetype2 are in conflict. Remove freetype2? [y/N]

answer yes.

If you want to install the extended font collection, which is a free equivalent of the proprietary Microsoft's fonts supplied with MS Windows and MS Office, use ibfonts-meta-extended meta package instead. Of course, infinality-bundle-multilib is an option, too.

5. Restart X server.

In case of occasional server down times, there is always a backup copy of the repositories available via Dropbox.

Customization and troubleshooting

  • If you want to install even more fonts, there is an additional infinality-bundle-fonts-extra collection. Run
# pacman -Ss infinality-bundle-fonts-extra

to list available packages.

Note: Before you install any third party font from either official Arch repositories or the AUR, always check if it is available in the infinality-bundle-fonts collection.
Note: Do not attempt to install the entire infinality-bundle-fonts-extra group. Unless you know for sure you need any of the fonts available there, you will only unnecessarily clutter your hard drive and decrease performance of the font cache. ibfonts-meta-extended should suffice in most, even very complex, use scenarios.
  • If you want to override default font substitutions set in /etc/fonts/conf.d/37-repl-global-{preset}.conf or add new ones, use /etc/fonts/conf.d/36-repl-custom.conf to do so. You will need to duplicate the template (16 lines of code) for each font family to be replaced and provide appropriate font names.
  • One frequent issue users may face with this repos is that the package database or signatures do not check out. Often times a simple force refresh of the package lists (pacman -Syy) will fix the issue. If that fails, try removing the infinality-bundle files from /var/lib/pacman/sync and then resyncing again.
  • When installing some packages (like libgdiplus), you may encounter an error:
:: cairo and cairo-infinality-ultimate are in conflict. Remove cairo-infinality-ultimate? [y/N] n
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)

If this happens, install the new package with # pacman -Sd foo instead.

  • It is possible to skip installation of infinality-bundle-fonts if you want to use Microsoft proprietary font collection instead. If this is the case, you have to activate fontconfig MS preset to ensure the correct set of fonts is selected. To do so, issue
# fc-presets set
1) custom
2) ms
3) free
4) reset
5) quit
Enter your choice...

and hit 2.

Run fc-presets help for more information.

  • If you would rather use a custom font collection, there is a custom preset available that should let you adjust fontconfig parameters accordingly. When you active the 'custom' preset, the content of 'custom' configuration files (/etc/fonts/conf.avail.infinality/custom) can be freely modified. When you are done, do not forget to create a backup copy of the 'custom' directory.
  • To solve rendering issues in Google Chrome browser described in this post, edit /etc/fonts/fonts.conf file and uncomment the following entry:
<!--match target="pattern">
<edit name="dpi" mode="assign">
<double>72</double>
</edit>
</match-->
  • Emacs users have reported issues with the default variable pitch typeface after installation of infinality-bundle-fonts. To make Emacs behave correctly with free fonts, you have to specify a variable pitch family in $HOME/.emacs, which can be any but Noto Sans (a.k.a. 'sans' or 'system font'), e.g.:
(custom-set-faces
 '(default ((t (:family "Liberation Mono" :slant normal :weight regular :height 98))))
 '(variable-pitch ((t (:family "Liberation Sans" :slant normal :weight regular :height 98 )))))
  • Users of popular Desktop Environments (Gnome, KDE, Xfce4, Cinnamon, LXDE) should adjust font settings via their DE's control panel. Basically, the settings should duplicate those found in the freetype2 configuration file (/etc/profile.d/infinality-settings.sh):
Xft.antialias: 1
Xft.autohint: 0
Xft.dpi: 96
Xft.hinting: 1
Xft.hintstyle: hintfull
Xft.lcdfilter: lcddefault
Xft.rgba: rgb

If your DE's control panel does not let you set any of the above, adjust only those available.

  • If you experience general problems with fonts (e.g. certain glyphs are not loaded in PDF documents, while a font family providing them has been correctly installed), start troubleshooting by issuing
# fc-cache -fr

This will remove the entire font cache and recreate it from scratch.

See also