Come trovare il font appropriato per il rendering di codepoint Unicode?
gnome-terminal
scopri che caratteri come «🉃⼼😻🕲🝤» possono essere visualizzati con caratteri come Symbola piuttosto che con il mio carattere terminale o il punto di codice in quadrato di riserva (�). Come?
Risposta accettata:
Usando fontconfig,
> fc-list ':charset=<hex_code1> <hex_code2>'
es.
> fc-list ':charset=2713 2717'
visualizzerà tutti i nomi di file di font contenenti ✓ e ✗.
Per ottenere il codepoint corrispondente al carattere usa (ad esempio)
> printf "%x" '✓
2713>
Questo utilizza una caratteristica alquanto oscura di POSIX printf
utilità:
Se il carattere iniziale è una virgoletta singola o doppia, il valore deve essere il valore numerico nel codeset sottostante del carattere che segue la virgoletta singola o doppia.
Presi insieme,
> printf '%x' '✓ | xargs -I{} fc-list ":charset={}"
Questo usa xargs
-I
flag per sostituire {}
con nomi da stdin
. Quindi questo si riduce effettivamente a:
> fc-list ":charset=2713"