ASCII art

Da Wikipedia, l'enciclopedia libera.
Se riscontri problemi nella visualizzazione dei caratteri, clicca qui.
    ____   _____ ______________     ____    ____  ______
   / _  | / ___// ____/  _/  _/    / _  |  / __ \/_  __/
  / /_| | \__ \/ /    / / / /     / /_| | / /_/_/ / /
 / ___  | __/ / /___ / / / /     / ___  |/ /| |  / /
/_/   |_//___/\____/___/___/    /_/   |_/_/ |_| /_/
"Oldskool" o "Amiga" style
                          o$ $o
.o$$$$o. .o$$$$o .s$$$$$o.' `".o$$$$$o..o$$$$$o.o$$$$$o.
  .o  `$.$$'   . o$   $"'.o $$   .o  `$. .o  `$$  $$
.o$$.o$$$`"$$$o. $$   .  $$ $$ .o$$.o$$$ $$"o$"   $$
  $$   $$    `$$ $$.  $o.$$ $$   $$   $%$ $$  $$.  $$
  $'   $'.o$$$$' `$$$$$$o.' $$   $'   $' $$  $$$" `$
                      $'    $'               $"
"Newskool" style

         ▄             ▄█▄ █▄       ▄
     ▄█▀█▓ ▄▓▀▀█▀ ▀▀▀█▓▀▀ ▀▀    ▄█▀█▓▀▀▀▀▀▓▄▀██▀▀
    ██  ██ ▀██▄▄ ▄█  ▀ ░▒ ░▒   ██  ██ ▄█▄ █▀ ██
    █▓▄▀██  ▄ ▀█▌▓█    ▒▓ ▒▓   █▓▄▀██ ▓█ ▀▄  █▓
    █▒  █▓ ██▄▓▀ ▀█▄▄█▄▓█ ▓█   █▒  █▓ ▒█  ▓█▄ ▒
        ▀▒           ▀  ▀ █▀       ▀▒  ▀  █▀  ░
"Block" o "High ASCII" style o più corretto "ANSI" style

L'arte ASCII è un mezzo artistico che si basa principalmente sui computer come supporto di presentazione; consiste di immagini prodotte componendo i 95 caratteri ASCII. In maniera leggermente impropria, il termine viene anche usato per indicare altre forme artistiche basate sull'uso di caratteri tipografici in generale. Immagini d'arte ASCII possono essere create con ogni editor di testo, e sono talvolta usate in combinazione con i linguaggi di programmazione per produrre programmi per computer il cui testo forma un disegno o una immagine. La maggior parte degli esempi di arte ASCII richiedono, per una corretta visualizzazione, l'uso di caratteri a larghezza fissa (come quelli di una tradizionale macchina per scrivere), come ad esempio il Courier.

Il termine "PC Block ASCII" o "High ASCII" indica una variante di arte ASCII in cui si fa uso di caratteri con codici a 8 bit (la cosiddetta code page 437 o ANSI X3.16, uno standard proprietario introdotto da IBM nel 1979 per il PC IBM). Questa variante consente di sfruttare circa 100 caratteri in più, ed è stata molto in voga negli anni intorno al 1990 e fino a che la diffusione di Internet e del World Wide Web (che supportava nativamente la grafica) ha soppiantato i BBS testuali come principale mezzo di comunicazione fra appassionati di computer.

Microsoft Windows non supporta l'ANSI Standard x3.16. Per visualizzare disegni in "PC Block ASCII" con questo sistema operativo occorre usare un editor di testi che supporti il font "Terminal", oppure un programma specifico come ACiDView for Windows.

Durante gli anni novanta, l'uso di "High ASCII" era la norma; l'unico altro stile diffuso in questo periodo, che usava soltanto i caratteri ASCII a 7 bit, è detto "Oldskool" (vecchia scuola) o "AMIGA style" (stile AMIGA), per via della sua origine e frequente utilizzazione sui computer Commodore Amiga. Lo stile "Oldskool" usa principalmente i caratteri

_/\-+=.()<>:.;

; i disegni realizzati con questo stile ricordano più un disegno dei contorni che un'immagine reale.

L'arte ASCII ha avuto origine dalle scarse possibilità grafiche della prima generazione di stampanti: mancando la capacità di stampare immagini, si ricorreva all'uso di caratteri alfabetici come segni grafici. Sempre su queste stampanti, era comune inserire all'inizio di ogni stampa una pagina speciale, detta "banner", contenente il nome dell'utente autore della stampa in grandi caratteri realizzati come arte ASCII. Queste pagine consentivano poi all'operatore di distinguere e separare facilmente le stampe di diversi utenti.

L'arte ASCII è tuttora usata in tutti quei casi in cui è possibile stampare o trasmettere testo ma non grafica, o in cui l'uso della grafica sarebbe eccessivamente complicato o oneroso. Ricadono in questa categoria le macchine per scrivere, le telescriventi, i terminali non-grafici di computer, forme primitive di comunicazione via rete quali i BBS, la posta elettronica, le news Usenet. L'arte ASCII è anche usata talvolta all'interno del codice sorgente di programmi per computer, per rappresentare dei logo di prodotti o società, o per includere diagrammi di controllo di flusso o di altro tipo a scopo di documentazione. In alcuni casi estremi, l'intero codice sorgente del programma costituisce un'immagine.

L'uso più estremo dell'arte ASCII è dato dalla riproduzione di video o filmati. Il popolare videogioco Quake dispone di un driver video che consente di visualizzare l'intero videogame in arte ASCII. Più generalmente, per il sistema operativo Linux è disponibile un driver video detto AAlib (ASCII art library) che consente di riprodurre l'output video di qualunque applicazione come arte ASCII. L'uso di caratteri di controllo e sequenze di escape come quelle definite in ANSI X3.64 per lo spostamento del cursore consentono anche di produrre animazioni in arte ASCII (in taluni casi, è necessario rallentare esplicitamente la stampa del testo a video per rendere visibile l'animazione).

È frequente l'uso di questo modo espressivo per arricchire le firme delle e-mail e dei post degli utenti di Usenet.

L'arte ASCII, benché abbia trovato la sua massima diffusione in ambito informatico, non è esclusiva di questo mezzo: un esempio di arte ASCII che precede l'uso dei computer è contenuto nel numero di ottobre 1948 di Popular Mechanics. Nei testi di dattilografia poi erano pure proposte delle esercitazioni per ottenere dei disegni battendo a macchina.

Beck, un cantante pop, nel suo repertorio ha un video della canzone "Black Tambourine" fatto interamente di caratteri ASCII che rappresentano il video originale.

L'Obfuscated C Context è una competizione annuale fra programmatori nel linguaggio C che gareggiano fra di loro nella produzione di programmi funzionanti ma incomprensibili; è molto frequente che il sorgente del programma sia formattato in modo da rappresentare un'immagine, un diagramma o un simbolo che in qualche modo ricordi la sua funzione.

Tipi ed esempi di arte ASCII[modifica | modifica sorgente]

Le più semplici forme di arte ASCII sono combinazioni di due o tre caratteri per esprimere emozioni in un testo. Esse sono comunemente chiamate 'emoticon', 'smile', oppure 'smiley', poiché la prima combinazione impiegata storicamente in tal senso rappresenta un faccino sorridente. Ruotare gli smile seguenti di 90 gradi in senso orario ne facilita l'assomigliamento a faccine. Le spiegazioni verbali qui addotte non hanno validità universale, ognuno potrebbe usare gli smile a modo suo; similmente alle espressioni facciali, lo smile "sorriso" potrebbe essere impiegato per scherno, e lo smile "triste" per gioco, e l'incertezza aumenta per gli smile meno somiglianti a espressioni facciali.

:-) oppure :)   :-( opp. :(   ;-) opp. ;)   :-P opp. :p    >:(        :x           :'(            :-|
 sorriso        triste        occhiolino    linguaccia    arrabbiato  acido       pianto         neutrale
  B-) opp. 8-)     :-O opp. :O   :-0 opp. :0   :-S opp. :S     :D       :?       XD opp. xD    :-*        %-)
occhiali da sole      grido       sorpreso      confuso      sorriso    eh?        risata      bacio    occhioni   
(ò)=====:::     :-I
  chitarra      sbalordito, a labbra serrate

C'è un altro tipo di arte ASCII su una sola linea che non richiede la rotazione virtuale delle figure, che è largamente conosciuta nel Giappone come Kaoani (letteralmente "facce di caratteri"). Tradizionalmente, sono chiamate "Visi (facce) ASCII". Alcune di quelle sottostanti, possono essere chiamate Kirby, il personaggio di Nintendo. Oggi, alcuni le chiamano "verticons":

(^_^)       (-_-)       (X_X)       <(^_^<)^<)
felice     infelice     morto        malumore
\(^o^)/       (o.~)             o<                 d(O.O)b
 gioioso   ammiccante     conspiracy duck       pollici in su
 (b_d)     <(^_^<) (>^_^)> <(^_^<) (>^_^)>             (o_O) (O_o)
occhiali        pointing / dancing           guardar fisso/sopracciglio alzato
          -_-˚                  (v_v)  (~_~)         ;_;    (T_T)
      scoraggiato                dormiente/             piangere
'˚' è la goccia di sudore        occhi bassi        ',' per le lacrime
        t(-_-t)                      (^_o)            ()*()
Gesto del dito               ammiccante/scettico   posteriore
\m/(^_^)\m/                          (>'.')>=============O
Bullo che fa lo shaka                Lancio
  - ¬<('.'¬<)                <(")                     
pistole nelle mani        faccia del pinguino                                  
'-' è il proiettile                                     
--,-'--<@
rosa                                                 
<===|:::::::::::>     spada
<===|;;;;;;;;;;;>    spada dentata                                          
d:.-<=:    Bambino con cappellino    
       o_o osservo   °_° occhi strizzati per guardare lontano     O_O sbalordimento      *_* ammirazione    ó_ò sconforto    ò_ó rimprovero

Gli esempi più complessi usano più linee di testo per formare grandi simboli o figure più complesse. Alcuni esempi comuni:

    o      o     o    o     o    <o     <o>    o>    o
   .|.    \|.   \|/   //    X     \      |    <|    <|>   Macarena ASCII
    /\     >\   /<    >\   /<     >\    /<     >\   /<

            (__)                      
            (oo)                      
     /-------\/          __           O           _              ,__o
    / |     ||          /o)\         /|\        >(o)__          _-\_<, 
   *  ||----||          \(o/         / \         (_~_/         (*)/'(*)
      ~~    ~~                                  ~~~~~~~
     '''Toro'''      Yin e Yang    Persona   Anatroccolo       Ciclista

      ,-._,-.         (\ /)             (\/)
      \/)"(\/         (o.O)             (..)
       (_o_)          |> <|             c(")")
                      /_|_\*
    
        Cane         Coniglio          coniglio n°2
               (alcune volte gatto)    puffoso e tenero ^_^

                                 -----------------------
                                |                       |
                        /|  /|  |       Per favore,     |
                        ||__||  |       non date        |
                       /   O O\__       da mangiare     |
                      /          \      ai troll.       |
                     /      \     \                     |
                    /   _    \     \ -------------------
                   /    |\____\     \     ||
                  /     | | | |\____/     ||
                 /       \|_|_|/   |    __||
                /  /  \            |____| ||
               /   |   | /|        |      --|
               |   |   |//         |____  --|
        * _    |  |_|_|_|          |     \-/
     *-- _--\ _ \     //           |
       /  _     \\ _ //   |        /
     *  /   \_ /- | -     |       |
       *      ___ c_c_c_C/ \C_c_c_c____________


 |\=/|.-"""-.           |\=/|          /\     /\    
 /6 6\       \          /6 6\          \ \   / /                       
=\_Y_/=  (_  ;\     )) =\_Y_/=          \ \ / /
   ^//_/-/__///    ((   / ^ \           / o o \
            ((      \\ /| | |\          \     /
                     \( | | | )         /     \
                       '"" ""'        oo /""\/""\
                                     Ooo \__/\__/
                                      

Un altro esempio intricato che raffigura la facciata di un palazzo:



                                    |
                                   .-.
                                  /___\            
                                  |___|            
                                  |]_[|            
                                  / I \            
                               JL/  |  \JL         
    .-.                    i   ()   |   ()   i                    .-.
    |_|     .^.           /_\  LJ=======LJ  /_\           .^.     |_|
 ._/___\._./___\_._._._._.L_J_/.-.     .-.\_L_J._._._._._/___\._./___\._._._
        ., |-,-| .,       L_J  |_| [I] |_|  L_J       ., |-,-| .,        .,
        JL |-O-| JL       L_J%%%%%%%%%%%%%%%L_J       JL |-O-| JL        JL
 IIIIII_HH_'-'-'_HH_IIIIII|_|=======H=======|_|IIIIII_HH_'-'-'_HH_IIIIII_HH_
 -------[]-------[]-------[_]----\.=I=./----[_]-------[]-------[]--------[]-
  _/\_  ||\\_I_//||  _/\_ [_] []_/_L_J_\_[] [_] _/\_  ||\\_I_//||  _/\_  ||\
  |__|  ||=/_|_\=||  |__|_|_|   _L_L_J_J_   |_|_|__|  ||=/_|_\=||  |__|  ||-
  |__|  |||__|__|||  |__[___]__--__===__--__[___]__|  |||__|__|||  |__|  |||
 IIIIIII[_]IIIII[_]IIIIIL___J__II__|_|__II__L___JIIIII[_]IIIII[_]IIIIIIII[_]
  \_I_/ [_]\_I_/[_] \_I_[_]\II/[]\_\I/_/[]\II/[_]\_I_/ [_]\_I_/[_] \_I_/ [_]
 ./   \.L_J/   \L_J./   L_JI  I[]/     \[]I  IL_J    \.L_J/   \L_J./   \.L_J
 |     |L_J|   |L_J|    L_J|  |[]|     |[]|  |L_J     |L_J|   |L_J|     |L_J
 |_____JL_JL___JL_JL____|-||  |[]|     |[]|  ||-|_____JL_JL___JL_JL_____JL_J


  AHHHHA 
 AHHHHHHA
AllSTOPllA
 VHHHHHHV
  VHHHHV

È comune mettere questo tipo di disegni nelle firme incluse nelle e-mail e nei messaggi di Usenet. Altre ASCII art ignorano i segni dei caratteri ed invece usano la loro grossezza o luminosità per creare vari gradienti.

       _a,
      _yQa.
     _qTWW(
     je`?QX:
    <d+ -3Wm;
   _qos_s%mWw,
   a2?????TWW(
  sd(     -?Qm;.
.amm;     .xmWmc
"""""`    """""""

Un uso diverso dell'arte ASCII consente di creare uno stile tipografico unico, per esempio:

      ___              __,
     ( /              (          o _/_ /
      / __,  _   _     `.  _ _  ,  /  /_
    _/_(_/(_/ /_(/_  (___)/ / /_(_(__/ /_
   //
  (/

l programma Figlet (e altri programmi che supportano questi standard) permettono di disegnare e usare font in arte ASCII:

 _____ ___ ____ _      _   
|  ___|_ _/ ___| | ___| |_ 
| |_   | | |  _| |/ _ \ __|
|  _|  | | |_| | |  __/ |_ 
|_|   |___\____|_|\___|\__|

Cowsay[modifica | modifica sorgente]

Exquisite-kfind.png Per approfondire, vedi Cowsay.

Cowsay è un programma che genera l'immagine ASCII di una mucca con un messaggio, diffuso nella cultura hacker.

Il comando Unix fortune può essere rediretto nel comando cowsay:


lutherblissett@papi-desktop:~$ fortune | cowsay
 ___________________________________
/ Your heart is pure, and your mind \
\ clear, and your soul devout.      /
 -----------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||





Video in ASCII art[modifica | modifica sorgente]

Il programma libero mplayer permette di vedere i filmati utilizzando come output l'ascii art; è possibile ottenere un risultato sia monocromatico che a colori. Il risultato è ottenuto tramite l'uso delle librerie aa. Sperimentalmente per un certo periodo di tempo lo stesso YouTube consentiva di riprodurre video in ASCII art. La funzionalità è stata introdotta come pesce d'aprile nel 2010: chiamata TEXTp, secondo il testo dello scherzo avrebbe consentito a YouTube di risparmiare 1 $ di costi di banda per ogni secondo di riproduzione[1].

Metodi per generare ASCII art[modifica | modifica sorgente]

Mentre alcuni preferiscono usare un semplice editor di testo per fare arte ASCII, sono stati sviluppati programmi specializzati (ASCI art editors) che permettono di disegnare linee, rettangoli e riempire aree con testo, come in un normale programma di grafica.

Altri programmi (ASCII art generators) permettono di convertire automaticamente un'immagine in ASCII art, ovvero uno speciale caso di quantizzazione vettoriale. Un metodo è quello di convertire l'immagine in toni di grigio con precisione minore di 8-bit e successivamente assegnare un diverso carattere ad ogni corrispondente valore dei pixel.

Un esempio di immagine convertita, creata usando Ascgen dotNet, è disponibile qui sotto in due versioni, una in bianco e nero (quella a sinistra) ed una colorata (quella a destra), a fianco dell'originale che è quello al centro:

Blide 5 nocolours.PNG Redwingblackbird1.jpg Bird converted to ASCII characters.png

ASCII a larghezza non fissa[modifica | modifica sorgente]

La maggior parte dell'ASCII art viene creata usando font monospace, in cui tutti i caratteri hanno identica larghezza (il Courier New è un tipico esempio). Comunque, la maggioranza dei font più utilizzati nei word processor sono font proporzionali (come Arial o Times New Roman) nei quali i caratteri non hanno tutti la stessa larghezza. L'ASCII art disegnata per un dato font apparirà distorta o addirittura irriconoscibile quando visualizzata in un font proporzionale.

Alcuni artisti ASCII hanno prodotto opere visualizzabili con questo tipo di caratteri. Questa ASCII art, più che usare una rigorosa corrispondenza basata sulle tonalità, usa i caratteri per rappresentare gradienti e bordi, ed usa il block shading. Questa ASCII art generalmente offre una maggiore precisione ed attenzione al dettaglio delle ASCII art a larghezza fissa che usano un numero minore di caratteri, sebbene non sia accessibile a tutti essendo di solito correlata a specifici font.

Altre arti basate su testo[modifica | modifica sorgente]

C'è una varietà di altri tipi di arte che usa simboli testuali da set di caratteri oltre che quello ASCII e/o alcune forme di codifica del colore. Malgrado non siano ASCII puri, sono spesso anche questi chiamati "ASCII art". La porzione del set di caratteri specificatamente designata per il disegno è conosciuta come i caratteri di disegno lineari o pseudo-graphics.

IBM PC[modifica | modifica sorgente]

   ▄▄▀▀▀▀▀▄▄   
 ▄▀         ▀▄ 
▄▀   █   █   ▀▄
█ █▄▄▄▄▄▄▄▄▄█ █
█  █       █  █
 █  ▀▄▄▄▄▄▀  █ 
  ▀▄▄     ▄▄▀  
     ▀▀▀▀▀     

▄▄▄▄▄▄▄
▄ ▄ █ 
█████ 
█████ 
▀▀▀ █ 
▀▀▀▀▀▀▀ 

L'hardware grafico di IBM PC in modo testuale usa 16 bit per carattere. Supporta una varietà di configurazioni, ma nel suo modo originale sotto DOS sono utilizzati per fornire 256 glyphs da una delle pagine codice di IBM PC (Code page 437 per impostazione predefinita), 16 colori frontali, 8 colori di sfondo, e una opzione di lampeggiamento. Tale arte può essere caricata nella memoria video direttamente. ANSI.SYS, se caricato, permette inoltre a tale arte di essere posizionata sullo schermo tramite sequenze di escape che indicano movimenti del cursore e cambi di colore/lampeggiamento. Se questo metodo è utilizzato allora tale arte viene conosciuta come ANSI art. Il codice pagina di IBM PC include inoltre caratteri predisposti per un facile disegno che spesso fanno apparire questa arte più pulita rispetto a quella fatta con il tradizionale set di caratteri. I file di testo sono anch'essi visualizzati con questo tipo di caratteri, sebbene sono divenuti molto meno comuni da quando gli editor testuali della GUI di Windows (Usando il Windows ANSI code page) hanno largamente rimpiazzato quelli basati su DOS.

Shift_JIS[modifica | modifica sorgente]

Shift_JIS un formato comune per l'arte basata su testo su Internet. Una grande selezione di caratteri, il largo uso del Giapponese in internet, e la disponibilità di font standard a spaziatura predicibile fa dello Shift_JIS un comune formato per l'arte testuale in Internet.

Unicode[modifica | modifica sorgente]

Unicode sembrerebbe offrire la massima flessibilità nel produrre arte basata sul testo con la sua enorme varietà di caratteri. Comunque, trovare un opportuno font a larghezza fissa è molto difficile se si desidera ottenere un significante sotto-set di Unicode. Inoltre, la comune pratica di visualizzare Unicode con una miscela di font a grandezza variabile, rende arduo ottenere un display predicibile se più di un piccolo sotto-set di Unicode viene utilizzato.

Overprinting[modifica | modifica sorgente]

Negli anni 70 e primi anni 80 era abbastanza popolare produrre un tipo di arte ASCII che si basava sull'uso massiccio di sovrastampe — la sicurezza globale di un particolare spazio di caratteri dipendeva da quanti caratteri, e dal tipo di caratteri, erano stampati nella stessa posizione. Grazie alla crescente granularità del grigio, i fotografi utilizzavano spesso questo tipo di stampa. Potevano essere utilizzate addirittura stampanti manuali o stampanti a margherita. La tecnica non è più popolare poiché tutte le stampanti economiche possono facilmente stampare fotografie, ed un normale file di testo (o un messaggio di posta elettronica o un post di Usenet) non può rappresentare testo da sovrastampare. Comunque qualcosa di simile è emerso per rimpiazzare l'Overprinting: L'Arte ASCII ombreggiata o colorata, usando un terminale video ANSI o codice di colori (come quelli trovati nell'HTML, IRC, ed molti message boards di internet) per aggiungere un pizzico di ulteriore variazione del grigio. In questo modo, è possibile creare arte ASCII dove i caratteri differiscono solo nel colore.

Visualizza i blocchi ASCII e ANSI in Windows[modifica | modifica sorgente]

Puoi vedere blocchi ASCII sotto Microsoft Windows dal prompt dei comandi di MS DOS. Ti basta andare (tramite una finestra di MS DOS Window) nella directory dove i file ASCII sono posizionati e premere: "type <nome_del_file>". Questo non funziona con i file ANSI di solito. Devi abilitare il driver "ANSI.SYS" per MS DOS Windows prima. Necessita solamente di una semplice aggiunta al file "Config.nt" nella directory system32 (Windows XP).

  • 1. apri il prompt dei comandi di MS DOS
  • 2. vai nella directory SYSTEM32 all'interno della tua directory di windows (<windrive>:\<windir>\system32\)
  • 3. scrivi: edit config.nt
  • 4. inserisci la seguente linea alla fine del file: device=%SystemRoot%\system32\ansi.sys
  • 5. premi ALT-f e poi "s" (salva i cambiamenti)
  • 6. premi ALT-f e poi "x" (per chiudere l'editor)
  • 7. riaccendi il tuo computer

Dopo la riaccensione il "type <nome_del_file>" dovrebbe mostrare i file ANSI (*.ans) propriamente.

Note[modifica | modifica sorgente]

  1. ^ TEXTp saves YouTube bandwidth, money, Il blog ufficiale di Youtube. URL consultato il 27 luglio 2011.

Bibliografia[modifica | modifica sorgente]

  • (EN) Madge Roemer, Fun With Your Typewriter, Indian Hills, The Falcon's Wing Press, 1956, LCCN 56-13336.
  • (EN) Alan Riddell, Typewriter Art, Londra, London Magazine Editions, 1975, ISBN 978-0-900626-99-9.
  • (EN) Brenda Danet, Cyberpl@y: Communicating Online, Oxford, Berg, 2001, ISBN 978-1-85973-419-3.

Curiosità[modifica | modifica sorgente]

  • Cercando su Google "ascii art" il logo del motore di ricerca assumerà lo stile Oldskool.

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]