La lecture de toutes les données au format Unicode ne s’affiche pas correctement dans le terminal Linux (c’est-à-dire le terminal virtuel qui s'ouvre sans X Windows).
J'ai lu dans une discussion ici que l'installation de programmes tels que JFBTERM , et ça marche, alors je me demandais s'il n'y avait pas moyen de configurer (consolefonts? ) le terminal pour gérer correctement Unicode sans logiciel supplémentaire.
Sur les terminaux Windows (gnome-terminal, xterm, etc.), cela ressemble à ceci:
Sur le terminal virtuel, cela ressemble à ceci:
Sur un terminal virtuel avec JFBTERM, cela ressemble à ceci:
Voici une capture d'écran de la sortie de locale
:
Voici le résultat de showconsolefont
:
Est-ce que quelqu'un sait s'il est possible d'accomplir la même chose avec le terminal virtuel par défaut?
La police de la console peut charger jusqu'à 512 polices différentes (je pense, ou quelque chose du genre) différents glyphes; généralement, cependant, seulement 256 glyphes.
Afficher le latin, le cyrrilique ou d’autres langues utilisant moins de 200 symboles non complexes n’est pas un problème.
Cependant, pour les scripts complexes, ou les scripts nécessitant beaucoup de symboles différents (comme le japonais), vous n'avez pas d'autre possibilité que d'utiliser une mise en page supplémentaire pour le gérer.
Notez que si la limite de 512 devrait être suffisante pour ASCII et les deux ensembles de Kana, le problème de la largeur se pose.
CJK et Kana forment un carré, ils ont deux fois la largeur des lettres latines. Ce n'est pas quelque chose que la console peut gérer hors de la boîte.
Vous pouvez avoir recours à l'ancien et moche "Halfwidth Katakana" (et peut-être même en trouver une vieille police), ou configurer votre console sur une largeur de 40 colonnes et avoir des lettres latines aussi larges que Kana.
Je ne connais aucune police de ce type avec Kana; vous devriez dessiner les vôtres (il existe des outils pour le faire, et vous pouvez simplement copier les points de la police bitmap japanese.
Vous pouvez également utiliser iconv
pour translittérer le kana en ASCII.
Vous avez besoin d'une police qui a réellement ces caractères. Arch Linux, par exemple, recommande Lat2-Terminus16
.
Pour l'essayer, lancez la commande suivante dans une console virtuelle: setfont Lat2-Terminus16
.
Pour le reste, la plupart des distributions modernes le supportent déjà.
En plus de LANG/LC_ALL
, stty iutf8
est nécessaire pour indiquer au terminal quoi faire, vous aurez peut-être besoin de setfont
pour charger une police et un mappage utiles. Si vous rencontrez toujours des problèmes, vérifiez la configuration de votre noyau pour les paramètres CONFIG_NLS_xx
; vous devrez peut-être modprobe nls_utf8
s'il ne se charge pas automatiquement (je pense cependant que cela n'est nécessaire que pour les noms de fichiers Unicode).
Certaines distributions linux fournissent des scripts unicode_start
et unicode_stop
pour automatiser cette opération.
Si less
cause des problèmes, il peut être nécessaire de définir la variable d'environnement LESSCHARSET
(ou de la désélectionner si elle est fausse).
Markus Kuhn TF-8 et Unicode FAQ pour Unix/Linux est inestimable.