Re: Come si stampano in console i caratteri UTF-8?

2020-02-15 Per discussione Felipe Salvador
On Fri, Feb 14, 2020 at 11:58:00PM +0100, Ennio-Sr wrote:
> * Felipe Salvador  [140220, 16:21]:
> > On Fri, Feb 14, 2020 at 12:17:39AM +0100, Ennio-Sr wrote:
> > > [...]
> > > premesso che ho configurato 'locale' come en_GB.UTF-8 (con LC_ALL="")
> > > vorrei stampare in un file di testo (da console) una C al contrario
> > > (ossia come vista allo specchio. [...]
> > 
> > Ciao,
> > [...]
> > quello che indichi te sembra più questo:
> > 
> > 
> >  echo -e '\U0186'
> >  Ɔ
> > 
> Sì, il codice esadecimale è proprio questo.
> > Detto questo, il rombo solitamente viene stampato quando il terminale
> > che stai utilizzando non interpreta il carattere indicato.
> ed è a questo punto che mi perdo, perché mi manca il 'codeset' che
> contenga il glifo relativo alla 'C' visto allo specchio!

Lo hai, solo che su TTY non te lo mostra perché lo sacrifica.
Puoi abilitare l'unicode e funziona, per una selezionata schiera di
caratteri che rientrano nei 256 - 516 caratteri che può caricare.

"The Linux console uses UTF-8 encoding by default, but because the
standard VGA-compatible framebuffer is used, a console font is limited
to either a standard 256, or 512 glyphs..."

https://www.reddit.com/r/archlinux/comments/2uh3mm/unicode_in_a_tty/
https://unix.stackexchange.com/questions/184345/detect-how-much-of-unicode-my-terminal-supports-even-through-screen

Ora mi chiedo, nel 2020, quando da anni stiamo usando il "kernel mode
setting", che senso ha parlare ancora di VGA? Devo essere sincero, non
so se abbiano aggirato questa limitazione, ma mi pare di capire che
non ci sia neanche l'intenzione. 

Tempo fa ebbi a che fare con lo stesso argomento, volevo stampare dei
simboli sul terminale, fallito miseramente.


> > Da dove vuoi stampare questi caratteri? TTY? PTS?
> da TTY.
> 
> In vecchi miei appunti di una decina di anni fa ho trovato il
> riferimento a /etc/default/console-setup, nel quale avevo messo questi
> valori:
>  quote 
> ACTIVE_CONSOLES="/dev/tty[1-6]"
> CHARMAP="UTF-8"
> CODESET="Lat15"
> FONTFACE="Fixed"
> FONTSIZE="8x16"
> VIDEOMODE=
> --- unquote ---
> 
> Immagino di dover sostituire quel 'Lat15', ma con cosa?

Se la logica è quella di prediligere i
caratteri 'utili', il problema lo troverai anche in altri CODESET, forse?

> Grazie Felipe dell'interessamento. Spero che ti arrivi questa
> risposta... (Nell'altro mio post di alcuni giorni fa la mia risposta al
> tuo suggerimento è stata bloccata!)

Se succede nuovamente, CCizzami il messaggio

> Saluti, ennio.
> 
> -- 
> [Perché usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo.  \\?//
>  Fà qualche cosa di cui non sei capace!"  (diceva Henry Miller)   
> (°|°)
> [Why use Win$ozz (I say) if ... "even a fool can do that. .)=(. 
>  Do something you aren't good at!" (as Henry Miller used to say)]  /_\ 

-- 
Felipe Salvador



Re: Come si stampano in console i caratteri UTF-8?

2020-02-14 Per discussione Ennio-Sr
* Felipe Salvador  [140220, 16:21]:
> On Fri, Feb 14, 2020 at 12:17:39AM +0100, Ennio-Sr wrote:
> > [...]
> > premesso che ho configurato 'locale' come en_GB.UTF-8 (con LC_ALL="")
> > vorrei stampare in un file di testo (da console) una C al contrario
> > (ossia come vista allo specchio. [...]
> 
> Ciao,
> [...]
> quello che indichi te sembra più questo:
> 
> 
>  echo -e '\U0186'
>  Ɔ
> 
Sì, il codice esadecimale è proprio questo.
> Detto questo, il rombo solitamente viene stampato quando il terminale
> che stai utilizzando non interpreta il carattere indicato.
ed è a questo punto che mi perdo, perché mi manca il 'codeset' che
contenga il glifo relativo alla 'C' visto allo specchio!

> Da dove vuoi stampare questi caratteri? TTY? PTS?
da TTY.

In vecchi miei appunti di una decina di anni fa ho trovato il
riferimento a /etc/default/console-setup, nel quale avevo messo questi
valori:
 quote 
ACTIVE_CONSOLES="/dev/tty[1-6]"
CHARMAP="UTF-8"
CODESET="Lat15"
FONTFACE="Fixed"
FONTSIZE="8x16"
VIDEOMODE=
--- unquote ---

Immagino di dover sostituire quel 'Lat15', ma con cosa?

Grazie Felipe dell'interessamento. Spero che ti arrivi questa
risposta... (Nell'altro mio post di alcuni giorni fa la mia risposta al
tuo suggerimento è stata bloccata!)
Saluti, ennio.

-- 
[Perché usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo.  \\?//
 Fà qualche cosa di cui non sei capace!"  (diceva Henry Miller) (°|°)
[Why use Win$ozz (I say) if ... "even a fool can do that.   .)=(. 
 Do something you aren't good at!" (as Henry Miller used to say)]  /_\ 



Re: Come si stampano in console i caratteri UTF-8?

2020-02-14 Per discussione Felipe Salvador
On Fri, Feb 14, 2020 at 12:17:39AM +0100, Ennio-Sr wrote:
> Ciao a tutti,
> 
> premesso che ho configurato 'locale' come en_GB.UTF-8 (con LC_ALL="")
> vorrei stampare in un file di testo (da console) una C al contrario
> (ossia come vista allo specchio). Il carattere UTF-8 relativo dovrebbe
> essere hex(0186) o '0390' decimale ma, se digito shift+0390 mi stampa
> a schermo il simbolo di una picca (un piccolo rombo bianco). 

Ciao,
quel carattere in realtà corrisponde alla iota:

 echo -e '\U0390'
 ΐ

quello che indichi te sembra più questo:


 echo -e '\U0186'
 Ɔ

Detto questo, il rombo solitamente viene stampato quando il terminale
che stai utilizzando non interpreta il carattere indicato.

Da dove vuoi stampare questi caratteri? TTY? PTS?


> Ho cercato su Google per un paio di ore con risultati molto
> insoddisfacenti.
> Penso di dover aggiungere uno dei font che sono in
> /usr/share/consolefonts, ma quale? E poi, come si fa a vedere quale
> pacchetto ho già installato?
> 
> Potete aiutarmi?
> Grazie dell'attenzione, ennio
> 
> -- 
> [Perché usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo.  \\?//
>  Fà qualche cosa di cui non sei capace!"  (diceva Henry Miller)   
> (°|°)
> [Why use Win$ozz (I say) if ... "even a fool can do that. .)=(. 
>  Do something you aren't good at!" (as Henry Miller used to say)]  /_\ 

-- 
Felipe Salvador