Comment puis-je faire fonctionner les symboles Unicode et les polices TrueType dans xterm / uxterm?

12

Je voudrais utiliser une police TrueType dans xterm / uxterm (version 278) mais je rencontre des problèmes avec les symboles Unicode (par exemple, s'affiche très bien, donc je suppose que ce n'est pas un utf8 désactivé ou un problème de paramètres régionaux):

$ echo -e "\xE2\x98\xA0"

me donne un carré au lieu de ☠ avec la configuration suivante:

UXTerm*faceName: Liberation Mono
UXTerm*faceSize: 9
XTerm*faceName: Liberation Mono
XTerm*faceSize: 9

Lorsque je désactive les polices TrueType à l'aide du menu contextuel Ctrl, le symbole s'affiche correctement en utilisant les polices par défaut, ce qui n'est pas agréable du tout. J'ai essayé uxrvt et j'ai eu le même problème lorsque je n'ai pas assez d'espacement des lettres, mais cela fonctionne bien lorsque je l'augmente. Cependant, uxrvt m'a posé beaucoup d'autres problèmes, comme tous les autres émulateurs de terminaux que j'ai essayés. Est-ce que quelqu'un a une idée?

Sebastian Blask
la source
Avez-vous des raisons de croire que ce glyphe existe dans Libération Mono?
HalosGhost
Je l'ai essayé dans LibreOffice Writer et c'est là. Il fonctionne également dans uxrvt après avoir augmenté l'espacement des lettres. Mon problème n'est pas spécifique à cette police, je n'ai trouvé aucune police TrueType où je n'ai pas ce problème.
Sebastian Blask
Bizarre. J'ai essayé de reproduire le problème de LibreOffice Writer et cela a fonctionné. Peut-être que LO-Writer passe à une autre police, si un unicode donné n'est pas pris en charge par celui en cours? De plus, comment l'augmentation de l'espacement des lettres peut-elle entraîner la libération soudaine de Liberation Mono d'un caractère Unicode non pris en charge? Comment augmentez-vous l'espacement des lettres?
polym
Réponse à ma première question ci-dessus: vinc17 a découvert que LibreOffice change silencieusement la police!
polym
1
Dans rxvt-unicode, vous pouvez voir à quelle police appartient un glyphe en cliquant dessus avec le bouton gauche tout en maintenant le contrôle et le décalage. Les détails doivent apparaître en bas à gauche de la fenêtre du terminal. En outre, pour inspecter une police ttf, consultez l'éditeur de polices fontforge. C'est incroyable à quel point une police peut être compliquée.
etherfish

Réponses:

8

La police Liberation ne semble pas avoir ce symbole. Mais l'utilisation XTerm*faceName: DejaVu Sans Mono(qui est également une police TrueType) permet d'afficher ☠.

EDIT: N'utilisez pas LibreOffice ou OpenOffice pour déterminer si un glyphe est pris en charge dans une police, car il retombe silencieusement dans une autre police: bogue 45128 d'OpenOffice .

vinc17
la source
wow cool belle trouvaille. On dirait que mon soupçon était vrai haha: D! Upvote!
polym
J'étais à peu près sûr que j'étais Deja Vudans la liste des polices que j'ai essayées, mais apparemment pas. Un peu gênant que ce soit si simple: -S Permettez-moi de l'essayer sur mon ordinateur de travail demain ...
Sebastian Blask
5

vinc17 est correct:

Le glyphe ☠, également appelé SKULL AND CROSSBONES, n'est pas pris en charge par la police Liberation Mono comme vous pouvez le voir ici et ici .

Vous devez changer pour une police qui couvre cet unicode (plage).

Les polices qui prennent en charge ce glyphe particulier ☠ sont répertoriées ici .

Pour trouver le nom et diverses autres informations d'un caractère unicode par texte, utilisez cet outil .

polym
la source