Comment trouver la police appropriée pour le rendu des points de code unicode ?
gnome-terminal
trouver que des caractères comme « 🉃⼼😻🕲🝤 » peuvent être rendus avec des polices comme Symbola plutôt que ma police de terminal ou la solution de repli codepoint-in-square (�). Comment ?
Réponse acceptée :
En utilisant fontconfig,
> fc-list ':charset=<hex_code1> <hex_code2>'
ex.
> fc-list ':charset=2713 2717'
affichera tous les noms de fichiers de police contenant ✓ et ✗.
Pour obtenir le point de code correspondant au caractère utiliser (par exemple)
> printf "%x" '✓
2713>
Cela utilise une fonctionnalité quelque peu obscure du POSIX printf
utilitaire :
Si le premier caractère est un guillemet simple ou un guillemet double, la valeur doit être la valeur numérique dans le jeu de codes sous-jacent du caractère suivant le guillemet simple ou le guillemet double.
Pris ensemble,
> printf '%x' '✓ | xargs -I{} fc-list ":charset={}"
Cela utilise le xargs
-I
drapeau pour remplacer {}
avec des noms de stdin
. Cela se résume donc à :
> fc-list ":charset=2713"