ASCII art

ASCII art je výtvarné umění, které pracuje s počítačovým textem jako s výtvarným médiem. Obrázky, které tvoří, se skládají ze znaků kódu ASCII. ASCII art je možné vytvořit jakýmkoli textovým editorem a většinou je potřeba ho zobrazit neproporcionálním fontem (tedy každé písmeno má stejnou šířku, podobně jako na psacím stroji či terminálu). Jeden z pravděpodobně nejstarších ukázek se objevuje v roce 1881.

ASCII art se používá kdekoli se text přenáší nebo zobrazuje snadněji než grafika, anebo v některých případech, pokud není přenos obrázků vůbec možný, tedy psací stroje, dálnopisy, negrafické počítačové terminály, starší počítačové sítě (např. BBS), email a Usenet news. ASCII art se také používá ve zdrojových kódech programů pro zobrazení loga firmy nebo produktu a kreslení diagramů.

Dovedením tohoto média do extrému je jeden video driver pro populární počítačovou hru Quake, který zobrazuje hru jako ASCII art.

Druhy a příklady ASCII artu 
Nejjednodušší formou ASCII artu je kombinace dvou nebo tří znaků pro vyjádření emocí, zvaná emotikona (slangově: smajlík). Představte si tyto příklady otočené o 90 stupňů po směru hodinových ručiček, aby se dalo rozumět jejich obsahu:

       :-) nebo :) ..úsměv
       :-( ..........mračení
       ;-) ..........mrknutí
       :-P ..........ha ha (vyplazený jazyk)
       B-) nebo 8-) .bezva (sluneční brýle)

Složitější příklady používají několik řádek textu pro větší symboly nebo složitější obrázky. Některé běžné příklady:

            (__)                      
            (oo)                      
     /-------\/                  O     
    / |     ||      /o)\        /H\  
   *  ||----||      \(o/        / \
      ~~    ~~
        kráva     Jin/Jang   postavička

Často si lidé takové obrázky přidávají na konec e-mailu nebo do Usenetové konference, kde se jim říká signatura.

Některé druhy neberou v potaz konkrétní tvar znaků a používají je jako více méně zabarvená políčka s proměnným gradientem pro jednoduchou simulaci ditheringu:

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

Další druh vytváří slova pouze jedním druhem znaku na jedno písmeno. Příklad:

             AA          HHHHHH    HHHHHH        OOOOOOOO         JJJJJJ     !!!
            AAAA          HHHH      HHHH       OOOOOOOOOOOO        JJJJ     !!!!!
           AAAAAA         HHHH      HHHH      OOOO      OOOO       JJJJ     !!!!!
          AAAAAAA         HHHH      HHHH      OOOO      OOOO       JJJJ     !!!!!
          AAA AAAA        HHHHHHHHHHHHHH     OOOO        OOOO      JJJJ     !!!!!
         AAAA AAAAA       HHHHHHHHHHHHHH     OOOO        OOOO      JJJJ     !!!!!
        AAAA   AAAA       HHHHHHHHHHHHHH     OOOO        OOOO      JJJJ      !!! 
        AAAAAAAAAAAA      HHHH      HHHH      OOOO      OOOO       JJJJ
       AAAA     AAAAA     HHHH      HHHH      OOOO      OOOO       JJJJ      !!!
      AAAAAA    AAAAAA    HHHH      HHHH       OOOOOOOOOOOO        JJJJ     !!!!!
     AAAAAAA    AAAAAAA  HHHHHH    HHHHHH        OOOOOOOO         JJJJ       !!!
         

Dalším použitím ASCII artu je vytvoření jedinečné typografie:

  __       )                          
 (, )  |  / .  /)   .             /) .    
    | /| /    (/_      _    _   _(/     _  
    |/ |/  (__/(___(__/_)__(/__(_(__(__(_(_
    /  |           ,-/                   
                  (_/                    

Počítačový program Figlet (a další programy, které podporují jeho standard) umožňují návrh a použití ASCII fontů.
         _ ___  _      _   
        |  ___|_ _/ ___| | ___| |_ 
        | |_   | | |  _| |/ _ \ __|
        |  _|  | | |_| | |  __/ |_ 
        |_|   |___\|_|\___|\__|

Příklad, jak může vypadat Amigastyle (občas se nazývá styl staré školy). Tento druh ASCII artu je vždy ručně psán v textovém editoru. Některé populární editory, které se k vytváření používaly jsou CygnusEditor (neboli CED pro počítače Amiga) a EditPlus2 (na PC).

                   __.----------------------------.__
                 :_)                                        (_:
             ....|:                                          :|....
             :  :<>                                          <>:  :
             :···|:                                          :|···:
         .---+- -:-                                          -:- -+---.
      /\___  |    /\___      /\_     /\__     /\__    |   /\___
    _/    /  |  _/    /___ _/ __   /   _/  __   /   _/  __   /    : _/    /
    \  __//\ :/\\   _//  / \  )/  //\  \   )/  //\  \   )/  //\  /\ \_   //\
  _/—— \)—  \/  —— __—   \/—— —  ——  \/——  —_ ——  \/——  —_ ——  \/  —)/  ——  \_
  \                )/—                     (/           (/          —        /
 /——               /                       /            /            _      ——\
 \_           /\__/        /\_        /\__/        /\__/         /\_(/       _/
 =/          /===/        /==/       /===/        /=©d/         /=:=/       /=
  —————————\/:   :——————\/   ——————\/    ———————\/    ————————\/  | ——————\/
   __.---+-  : /\_  :              :      :  -+---.__
 :_)·····    :.....  _/      /--+--./\_.---+---./\___    .....:    ·····(_:
 |:           : ..:..\      /   : _/      /    :  _/    /  ..:.. :           :|
 <>           :.:.: : \  __//\  /\\  __  //\  /\  \_   //\ : :.:.:           <>
 |:             :..._/—— \)—  \/  —— )/ ——  \/  ——)/  ——  \_...:             :|
 :          \                —            —        /          :
 \_.     _\_  \\  //——                            _       ——\\  //  _/_     ._/
 ---· _  \— _  \\ \\_           /\_           /\_(/        _// //  _ —/  _ ·---
 /—·  \——— —\——— ——=/          /:=/          /=:=/        /= —— ———/— ———/  ·—\
 :     ——————       —————————\/-+--————————\/--+--——————\/         ——————    :
 |:                             :              :                             :|
 <>                          .              .                                <>
 |:                      _ . | __ .__.__   .|__  __    .                     :|
 :—).....             __(__|-|(_/_| (| ((__||__)(__)(__|__             .....(—:
   ——————·-----------·-------|----|--|----(/----------(/--·-----------·——————

V ASCII lze vyrobit i celé animované filmy. Nejznámější příklad je převedení filmu Star Wars na asciimation.co.nz.

Metody generování ASCII artu 
Specializované textové editory jsou navrženy pro snadné kreslení čar, boxíků a vyplněných oblastí. Generování ASCII artu je algoritmicky snadné. Dobrý příklad je aplikace na webu IMG2TXT. Převod rastrové grafiky (bitmapy) na ASCII art je speciální případ vektorové kvantizace. Příklad generovaného obrázku, i s originálem na straně, je uveden níže:

 aaaaaa222222SSSSSS2222222SSSS2a22222SSSSSSSS22aaaaaaaa222222SS222aaaZaaZZZZ
 2222aaaaS2222222222222222SS2SS22222SSXXXSSXSSXSSSXXXXXSSXSXXXXXX7XSSSSSSS22
 2222222aaaZZa222222a222222SS22a22SSX77rrr777X77XXXSSSSSXSSXSSSXXXSXSS22S222
 22a2222aaaaaaa22222aaaZZa2aa2aa2222SSSSXXXSSSSXXXXXXSXSXXSSSSXSSSXX7X22SSS2
 22222a222222222222aaaZZZZZaaZaaZZZaaaa2a2SSSSSSSXSXXXXXXXXSX7;..,;20X77XXXS
 2SSSSSXSSSSSSSSSSSSSS2222aa2222aaaaaa222222SSX7X777XXXX7r:   aMMMMBS7XX7XXX
 SSSSSSXXSXXSSX7:,::i:.:rXSSSSSS22222a2SSXX7XXX77rr;i,    :WMMM@r.,;XSSSSS22
 S22a222S2222XirWMMMMMM@a:;XSSXXXSSXXXX77;ii:,,,:...:rX0MMMMZ: ,;XSS2S222222
 SSSS22aaa22X,2MMMWWW@@MMM2.:i:,,.    ..i7ZB@MMMMMMMMMMMM07 :7SaaaZZaaaaa222
 XSXSXXS2S7: rMMZWWWWWWW@MMMB0MMMMMMMMMMMMMMM@WMW@@W@@@@WMMZaZ8888ZZaa2222S2
 rrr;77rriXMMMMMWWWWWWWWWWWMMMM@W@M@@@@@@WWWWWBWW@WW@8ZW@MXS0B00088ZZZZaaaa2
 ;;iiiii:;ZX;,8MMWWW@@MMMMMMMM@W@WWWWB0@
 08a222SS22aZZZZ2BMir7r   MMMMBBWWBBBBWWWWWWMMM0,:;rr7XXXXXX777rr77XX7X77X7X
 0WWWBB088888ZZ8ZSZMMM8MMMMM@WWWWBBWW@WWWWWMM2,ir7r7r77XXX77rr;;;rr7XXSS2222
 SSSaaaZZZaaa22222X;rWMMMMWWWWWWWWWWWWWWWWWMB;r77XXXXS2222SSX77rr;rr7XXX2aZa
 SSSSSSXXXXX7XXXX777;. XWMMM@WW@@@@WWWWWWMMM22a22222222222SSXX7rrrrrr7XXSSSS
 2222SXXXX7XXX7XXXXXX7ri  i0M@@MWMMMMM@MMMBZZ0B000000088ZZZZZZZZZaaa22SSSSXS
 22aaZZ8Z888808888ZZZZaa2X:MZMMW ..78WMMZrXSSS2222aaaaaZZZZZZZZaZaaa222SS2SS
 2SXXSS22aaZ880000BBBBB088S2BWMMXaX7 ;Mii7rr;;;i;;;;;;;rr777r7r7r7rrr7rr77XX
 888ZZZZa2SSX77XXSSXSSSSS2SX7    8SrXMr;XX77r77rrrr;;;;;rrrr77r7r7rrrr;rr;i;
 Z8088ZZZZZZ22SSSSSXX7777rrrXai 7270Mr72aZZZZ888888888ZZZaSSXSXSSSX7r;i::;rS
 aaaSS2222aaaaaaZaZZZ888888Z88M; .MMrrSSXXXS2aaa2aaaa2S77rrrr777X77XXX2a888Z
 XXX7X77rrr7XXS222222aZZZ8ZZa7@2: 7M,;;;;iiii::,::,,...,:,.,::i;r;rr7X2ZZa22
 XXr;ii::iiii;r777rrr7ri::iir,M,S MMZXS2Zaaa22SXX77777XS222222aaa2SXX777r7XX
 X77r;rr7XXXSSSSSXS22XrrXSa80Z080,  2Z8aaaZZ880BBWWWWWWWWWWWWWW@WWWWWB08ZZZZ
 i,:iirrrrr7rrrrr7a:;MMM@WBB0000WMW  i8Z22aaa8Z888Z888000BBB88ZZZZ0BBW@MMMMB
 822SXXaZa2XX77777Z    rMM@8Z880BMM: :XBZaaa22222ZZZZZaa222XXXXXXXXXXXS2aZZ2
 8WaSSr77XX2Z0@@@WMMX     7MM@0ZZZ:M2 ;0Z8aSX7r;7XaZaS77r;rXX2aa2SSXXXSSX7r;
    ;;7X;:ii.:..7SZ8BWZ;     ;2S77  XB SiX;;rrr;ii;i::,::;r;7X;iii::,,.... ,
 282X,  ..2a8W8Sr.,;a8WMMM@,    2BMW22@. 72a22S22a2aZZ8082;i;:,:iir7XSSXriii
 ,:SZ,7. i:i  .    ;.,.i7rSWMMMr  ,2B0iM  ,8SSSSXrr7777XXS22a2aZZ8880ZSXX280
   .  rZMZS8  r:.7  ri   ,     ;08Z  r8SBZ :;X7SaZ80Z227r:...     .,. ,ir7X2
 BBZZX7;2;.a8XSSr8000Z@MMMMW0082i ;8WX:70SMSSaa:iii;;rXX7X0MM@BB0Za2S77rr7rX

Další metoda je převedení obrázku do stupňů šedi s méně než 8bitovou přesností s následným přiřazením výstupního znaku pro každou úroveň šedi. Tak to dělají některé on-line konvertory (viz externí odkazy níže). Často se takto tiskly fotografie, právě pro zvýšené odstupňování tónů.

V sedmdesátých a osmdesátých letech bylo populární vytvářet druh ASCII artu, který spoléhal na několikanásobné vytištění jednoho znaku na stejné místo. Tím se vlastně zvýšila jeho sytost. Často se takto tiskly také fotografie, neboť se přetiskem zvyšovalo rozlišení šedotónové škály. Dokonce se dala použít i tiskárna s typovým kolečkem. Tato technika uvadla, protože všechny běžné tiskárny mohou tisknout fotografie, ale textové soubory (nebo emailové zprávy nebo Usenetové příspěvky) neumožňují vykreslit text vytištěný přes sebe. Nicméně podobná technika zůstala zachována: obrázky ASCII art stínované nebo obarvené ANSI Escape sekvencemi nebo HTML značkami, čímž se přidá různorodost.

Animované ASCII art je možné pomocí video terminálu s Escape sekvencemi, například ANSI X3.64 pro přesunutí kurzoru do obrázku.

Odkazy

Reference

Související články 
 ANSI art
 Shift_JIS art
 Emotikon
 Fotografická mozaika

Externí odkazy 
 
 Seznam editorů pro ASCII art na Open Directory Project (v angličtině)
 Text Ascii Art Generator
 Text Ascii Art Generator (v angličtině)
 ASCII art konverze StreetView
 ASCII art dictionary

 
Počítačová terminologie
Internet
Písmo
Umělecká počítačová grafika