Anticrénelage ou anti-aliasing - Selon wikipedia : https://fr.wikipedia.org/wiki/Anticrénelage
L’anticrénelage ou anti-aliasing, ou encore lissage de police, est une méthode permettant d'éviter le crénelage, un phénomène qui survient lorsqu'on visualise certaines images numériques dans certaines résolutions
Hinting ou optimisation de rendu - Selon wikipedia : https://fr.wikipedia.org/wiki/Hinting
Le hinting ou l’optimisation de rendu est l’utilisation d’instructions sur des contours vectoriels pour ajuster leurs rendus dans la grille de pixels. À basse résolution, l’optimisation est cruciale pour le rendu de dessin conforme à l’originale et pour la lisibilité de texte. Il peut être combiné avec l’anticrénelage, produisant des niveaux de gris ou des niveaux de sous-pixels.
freetype et freetype2 - selon :https://fr.wikipedia.org/wiki/FreeType
FreeType est une bibliothèque logicielle, qui met en œuvre un moteur de rendu de police de caractères. Elle est écrite en C et principalement utilisée pour obtenir un rendu bitmap des polices vectorielles, mais fournit également un ensemble d'outils pour un certain nombre d'autres opérations liées aux polices.
FreeType 2 gère tout un ensemble de formats de police dont TrueType, Type 1, et OpenType.
freetype est fourni par le paquet libfreetype6
La présentation des fontes à l'écran peut-être optimisée en jouant sur les paramètres :
antialiasing
hinting
ordre de sous-pixellisation
filtrage lcd
En standard, le rendu des fontes est assurée par libfreetype6 sur la base d'un fichier de configuration fonts.conf.
En option, Infinality est une application d'amélioration de présentation des fontes truetype. Elle comprend des patchs pour freetype, fontconfig et cairo. Dans ce qui suit, le patch pour cairo n'est pas installé.
Créer sur le modèle ci-dessous, ou ajouter dans le fichier existant, un fichier fonts.conf dans le répertoire ~/.config/fontconfig. Par essais successifs, définir les valeurs des paramètres permettant d'obtenir le meilleur affichage, celui-ci peut dépendre de l'utilisateur.
$ nano ~/.config/fontconfig/fonts.conf
<?xml version="1.0"?>
<fontconfig>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- Fichier de configuration fonts.conf -->
<!--
Définition des paramètres d'amélioration de la présentation des fontes
-->
<match target="font" >
<edit name="rgba" mode="assign"><const>rgb</const></edit> <!-- valeurs possibles :unkonw, rgb, bgr,vrgb,vbgr,none -->
<edit name="hinting" mode="assign"><bool>true</bool></edit>
<edit name="antialias" mode="assign"><bool>true</bool></edit>
<edit name="autohint" mode="assign"><bool>false</bool></edit>
<edit name="hintstyle" mode="assign"><const>hintslight</const></edit> <!-- valeurs possibles : hintnone, hintslight, hintmedium, hindfull -->
<edit name="lcdfilter" mode="assign"><const>lcdlight</const></edit> <!-- valeurs possibles : lcdnone, lcddefault, lcdlight, lcdlegacy -->
</match>
</fontconfig>
Note : Ordre de sous-pixellisation : l'ordre de sous-pixellisation est généralement RVB sur un écran LCD. Un test est proposé sur ce site : http://www.lagom.nl/lcd-test/subpixel.php
Alternativement, utiliser le menu Apparence de XFCE4, celui-ci permet de définir tous les paramètres ci-dessus à l'exception du filtre lcd.
Les paramètres de la configuration effectuée dans le menu Apparence / Polices sont définis dans le fichier xsettings.xml. S'il est nécessaire de les neutraliser, afin par exemple de ne pas créer d'interférence avec une autre méthode de configuration, éditer le fichier xsettings.xml et mettre les types correspondants à empty. Par exemple :
$ nano ~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
....
</property>
<property name="Xft" type="empty">
<property name="DPI" type="empty"/>
<property name="Antialias" type="empty"/>
<property name="Hinting" type="empty"/>
<property name="HintStyle" type="empty"/>
<property name="RGBA" type="empty"/>
</property>
.....
Infinality n'est pas dans les dépôts Debian et différentes méthodes d'installation sont envisageables : voir
http://www.webupd8.org/2013/06/better-font-rendering-in-linux-with.html
L'installation décrite ci-dessous, est directement reprise de : https://github.com/cmpitg/infinality-debian-package :
Installer les outils de base : git et devscripts
# aptitude install git devscripts
Cloner le dépôt dans un répertoire quelconque, infinality par exemple :
$ mkdir infinality
$ cd infinality
$ git clone https://github.com/cmpitg/infinality-debian-package.git
Construire les dépendances
$ cd infinality-debian-package/freetype-infinality
$ dpkg-checkbuilddeps
$ cd ../fontconfig-infinality/
$ dpkg-checkbuilddeps
Installer les dépendances qui sont apparues
# aptitude install xxxxxxx xxxxxxx xxxxxxx
Construire les paquets
$ cd ../freetype-infinality/
$ ./build.sh
$ cd ../fontconfig-infinality/
$ ./build.sh
Installer tous les fichiers .deb
$ cd ../
# dpkg -i freetype-infinality/*.deb fontconfig-infinality/*.deb
Redémarrer
Sélectionner un style parmi ceux proposés, si le style par défaut n'est pas satisfaisant :
# bash /etc/fonts/infinality/infctl.sh setstyleSelect a style:
1) debug 3) linux 5) osx2 7) win98
2) infinality 4) osx 6) win7 8) winxp
#? 2
conf.d -> styles.conf.avail/linux
Éditer le fichier de configuration
# nano /etc/profile.d/infinality-settings.sh
Vérifier que la valeur du DPI est correcte (ligne Xft.dpi) , sinon la corriger :
XFT_SETTINGS="
Xft.antialias: 1
Xft.autohint: 0
Xft.dpi: 116
Xft.hinting: 1
Xft.hintstyle: hintfull
Xft.lcdfilter: lcddefault
Xft.rgba: rgb
Infinality n'est plus maintenu par son créateur et la version existante risque de ne pas être compatible avec fontfree Version 2.7 présente dans stretch, version qui elle-même intègre certaines fonctionnalités de infinality. Voir : http://forums.debian.net/viewtopic.php?f=16&t=88545&start=90
La configuration des polices de l'écran de lightdm s'effectue à partir du fichier lightdm-gtk-greeter.conf :
$ cat /etc/lightdm/lightdm-gtk-greeter.conf
[greeter]
background = /usr/share/images/desktop-base/login-background.svg
theme-name = Bluebird
xft-antialias = true
xft-hintstyle = hintslight
xft-rgba = rgb
show-indicators = ~clock;~language;~session;~power
show-clock = true
clock-format = %H:%M
icon-theme-name = oxygen
font-name = Liberation Sans 10