À propos des polices de console

Un système LFS peut être utilisé sans bureau graphique, et à moins ou jusqu'à avoir installé un environnement graphique vous devrez travailler dans la console. La plupart, sinon tous, des PC démarrent avec une police 8x16 - quelle que soit la taille de l'écran. Il y a plusieurs choses que vous pouvez faire pour modifier l'affichage en console. La plupart implique de changer la police, mais les premiers changent la ligne de commande utilisée par grub.

Paramétrer une taille d'écran plus petite dans grub

Les écrans modernes ont souvent beaucoup plus de pixels que les écrans utilisés par le passé. Si votre écran fait 1600 pixels de largeur, un police 8x16 vous donnera 200 colonnes de texte - à moins que votre moniteur ne soit énorme, le texte sera petit. Une manière de contourner ceci est de dire à grub d'utiliser une taille plus petite, comme 1024x768 ou 800x600 ou même 640x480. Même si votre écran n'est pas en 4:3, cela devrait fonctionner.

Pour tester cela, vous pouvez redémarrer et modifier la ligne de commande de grub pour insérer un paramètre « video= » entre « root=/dev/sdXn » et « ro », par exemple root=/dev/sda2 video=1024x768 ro en fonction des exemples dans LFS section 10.4.4 : ../../../../lfs/view/12.1/chapter10/grub.html.

Si vous décidez que vous souhaitez le faire, vous pouvez ensuite (en tant qu'utilisateur root) modifier /boot/grub/grub.cfg.

Utiliser les polices psf standard

Le paquet kbd est utilisé dans LFS. Les polices qu'il fournit sont des polices d'écran PC, habituellement appelées PSF, et sont installées dans /usr/share/consolefonts. Lorsque celles-ci ont une table de correspondance unicode, le suffixe du fichier est souvent changé en .psfu bien que les paquets comme terminus-font (voir plus bas) n'ajoutent pas le 'u'. Ces polices sont généralement compressées avec gzip pour préserver l'espace, mais ce n'est pas nécessaire.

Les premiers écrans textes des PC avaient 8 couleurs, ou 16 couleurs si les versions claires des 8 couleurs originales étaient utilisées. Une police PSF peut inclure jusqu'à 256 caractères (techniquement, glyphes) en permettant 16 couleurs, ou jusqu'à 512 caractères (auquel cas la versions claire des couleurs n'est plus disponible). Clairement ces polices ne peuvent pas être utilisées pour afficher des textes CJK - qui auraient besoin de milliers de glyphes.

Certaines polices dans kbd peuvent couvrir plus de 512 codes de points (caractères), avec différents degrés de fiabilité : unicode contient plusieurs codes de points pour des espaces qui peuvent tous être liés à un espace, différents tirets qui peuvent être liés à un signe moins, des guillemets qui peuvent tous être liés à des guillemets ASCII plutôt que ce qui est utilisé pour « le code de point n'est pas présent ou invalide », et les lettres grecques ou cyrilliques qui ressemblent à des lettres latines peuvent leur être liées, de sorte que 'A' ait aussi le rôle du A cyrillique et du Alpha grec, et 'P' peut avoir le rôle du ER cyrillique et du RHO grec. Malheureusement, lorsqu'une police a été créée depuis un fichier BDF (la méthode dans terminus et console-setup de Debian), de tels liaisons de code de point supplémentaires sur des glyphes existants ne sont généralement pas effectuées, bien que les polices terminus ter-vXXn le fassent correctement.

Il y a plus de 120 combinaisons de polices et de tailles dans kbd : en général, une police est fournie avec plusieurs tailles, et parfois des variétés couvrent différents sous-ensembles de l'unicode. La plupart sont larges de 8 pixels, en hauteur de 8 à 16 pixels, mais il y en a un peu qui font 9 pixels de larges, certaines qui font 12x22 et même une (latarcyrheb-sun32.psfu) qui a été dimensionnée en 16x32. Utiliser une police plus grande est un autre moyen de rendre le texte plus facile à lire sur de grands écrans.

Tester différentes polices

Vous pouvez tester les polices en tant qu'utilisateur normal. Si vous avez une police qui n'a pas été installée, vous pouvez la charger avec :

setfont /chemin/vers/votre/police.ext

Pour les polices déjà installées, vous n'avez besoin que du nom, donc pour gr737a-9x16.psfu.gz par exemple :

setfont gr737a-9x16

Pour voir les glyphes dans la police, utilisez :

showconsolefont

Si la police a l'air d'être utilisable, vous pouvez ensuite la tester plus complètement.

Lorsque vous trouvez une police que vous souhaitez utiliser, en tant qu'utilisateur root, modifiez /etc/sysconfig/console comme décrit dans LFS section 9.6.5 ../../../../lfs/view/12.1/chapter09/usage.html.

Pour les polices qui ne sont pas fournies par le paquet kbd vous devrez éventuellement la compresser avec gzip puis l'installer en tant qu'utilisateur root.

Modification des polices avec psf-tools

Bien que certaines polices de console soient créées depuis des fichiers BDF, qui sont un format texte avec des valeurs hexadécimales pour les pixels dans chaque ligne du caractère, il y a des outils plus modernes utilisables pour éditer des polices psf. Le paquet psftools vous permet de décharger une police en une représentation textuelle avec un tiret pour un pixel éteint (noir) et un dièse pour un pixel qui est allumé (blanc). Vous peuvez ensuite éditer le fichier texte et ajouter plus de caractères, changer leur forme ou leur lier plus de codes de points, puis créer une nouvelle police psf avec vos changements.

Utiliser des polices de Terminus-font

Le paquet Terminus Font fournit des polices bitmap à largeur fixe destinées aux longs (8 heures ou plus par jour) travaux avec des ordinateurs. Dans 'Character variants' sur cette page se trouve une liste de correctifs (dans le répertoire alt/). Si vous utilisez un navigateur graphique pour regarder cette page, vous peuvez voir ce que les correctifs font, par exemple « ll2 » rend « l » visiblement différent de « i » et « 1 ».

Par défaut, terminus-font essaiera de créer différents types de polices, et cela échouera si bdftopcf de Applications Xorg n'est pas installé. Le script configure n'est seulement vraiment utile que si vous installez toutes les polices (bitmaps console et X11) dans les bons répertoires, comme dans une distribution. Pour construire uniquement les polices PSF et leur dépendances, lancez :

make psf

Cela créera plus de 240 polices ter-*.psf. Le suffixe 'b' indique clair, 'n' indique normal. Vous pouvez ensuite les tester pour voir si elles remplissent vos exigences. À moins de créer une distribution, il est peu utile de les installer toutes.

Par exemple, pour installer la dernière de ces police, vous pouvez la gziper et ensuite l'installer en tant qu'utilisateur root :

install -v -m644 ter-v32n.psf.gz /usr/share/consolefonts