Newsgroup: it.comp.os.linux.development
Titolo: codici ascii unix e linux.

Salve NG,
Mi sono accorto (dopo anni di basic)  che i codici ascii non sono 256 ma
bensi' 128. Ahi, ahi dal 128 in poi ognuno li fa come vuole :(((
Purtoppo l'applicazione sco unix che sto' esportando su linux (per la
quale stresso il NG) impiega i codici di carattere per disegnare una
finestra (dal 128 al 255), quelli che hanno le lineette, gli angoli, le
doppie linee e cosi' via. Sfortunatamente linux sembra che preferisca
aderire in anticipo al futuro standard Unicode (se non sbaglio, e ha
ragione :)) e cosi' i caratteri dal 128 al 255 sono proprio "caratteri"
e non lineette, ecc, ecc.
E' possibile reperire questi caratteri da qualche parte? Perche' dovrei
usare possibilmente l'istruzione printf (lo so, non e' il massimo, ma il
programma e' fatto cosi'). Oppure se c'e' qualcosa di facile da usare va
bene lo stesso!
Ringrazio quanti vorranno aiutarmi, Nicola.

 
Se usi le ncurses dai un'occhiata a /usr/include/ncurses.h 
(i #define ACS_*)
-- 
  ___ _            _____     ___ _          
 / __(_)__ _ ___  |_  (_)___| _ (_)_ _  ___ 
| (__| / _` / _ \  / /| / _ \  _/ | ' \/ _ \
 \___|_\__,_\___/ /___|_\___/_| |_|_||_\___/

bene lo stesso!
Che succede con
	#define START_BOX_CHAR	14
	#define END_BOX_CHAR	15
	printf("%clqqqk%c", START_BOX_CHAR, END_BOX_CHAR);
	printf("%cx%c;-)%cx%c", START_BOX_CHAR, END_BOX_CHAR,
				START_BOX_CHAR, END_BOX_CHAR);
	printf("%cmqqqj%c", START_BOX_CHAR, END_BOX_CHAR);
[test2/lan - rcm] 1 ~ > Leonardo (Use "logout" to logout.)
-- 
".signature": bad command or file name

         printf("%cmqqqj%c", START_BOX_CHAR, END_BOX_CHAR);
Vedo con piacere che anche il tuo gatto si mangia i \n...
Ciao
 David
-- 
<d.santinoli presso mi. flashnet. it>


Scusa, dove va \n ?


Che cosa sono? Dove posso trovare informazioni a riguardo?
Comunque grazie, ora li provo, poi ti so dire :)))))
Nicola.

 (i #define ACS_*)
Grazie, ci provo, pero' mi sembra che siano pochini questi caratteri
(almeno a guardare in man curs_addch). Pero' prima devo provare.
Ah, scusate non e' che si puo' cambiare direttamente la mappa dei
caratteri (solo per il programma s'intende), oppure usare gli unicode
sempre che abbiano i caratteri che mi servono (penso di si').
Grazie mille, Nicola.


In effetti ho verificato che (come ho postato prima) le "ACS_*" sono un
po' bruttine rispetto all'uso dei caratteri sopra il 128 (ho scoperto
che sono praticamente gli stessi del dos). Cioe' potrei anche usarli ma
mi mancano ad esempio le cornici con la doppia linea.
Se non trovo altro mi tocchera' usare questi :-(
Grazie ancora, Nicola.


Succede che scrive piu' o meno quello che hai scritto.... ah, no! Un momento
non ho usato le curses :)
Ecco, ora viene fuori qualcosa che potrebbe essere utile per fare una
finestra (anche se io la voglio con la doppia linea). Ma che roba e', ho
guardato in console_codes ma non mi pare di aver capito cosa hai fatto?
Grazie, Nicola.

guardato in console_codes ma non mi pare di aver capito cosa hai fatto?
Quando lo schermo riceve il carattere START_BOX_CHAR, cambia set di
caratteri, per cui la "l", la "p" e cosi' via diventano... un'altra
cosa. Il carattere END_BOX_CHAR rimette tutto a posto.
Percio' se scrivi ppp*ppp*ppp dove i due * sono START e END, vedrai
tre "p", tre caratteri grafici, e tre "p" di nuovo.
Leonardo



Ah, ecco si usa il codice escape 14 SO (scusa mi era sfuggito perche' sulle
man pages l'avevo trovato in esadecimale).
In pratica si impostano i caratteri G1 che dovrebbero impostarsi con mapscrn
:)))) ?
Ops....... mi manca la man page di mapscrn :((((((( (beh... la prelevo dal
web)
So che sto riempiendo il NG con i miei post (scusatemi) ma non e' che per
caso mi dite dove sono i files a cui devo riferire il comando mapscrn?
Grazie della pazienza, Nicola,

 
non vorrei dire una sciocchezza ma prova a guardare la man 8
consolechars



Grazie, provo a farlo andare........ poi ti so dire.
Nicola.

 consolechars
Eureka :))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
consolechars -mIBM437
Ed il gioco e' fatto. Avevo provato ad eseguirlo con xterm, ma non
funzionava, funziona solo da console pura (il mio programma e' qui' che
deve girare :-)
Graziee ciao, Nicola.