ASCII art
|
_ ____ ____ ___ ___ _ / \ / ___| / ___|_ _|_ _| __ _ _ __| |_ / _ \ \___ \| | | | | | / _` | '__| __| / ___ \ ___) | |___ | | | | | (_| | | | |_ /_/ \_\____/ \____|___|___| \__,_|_| \__| |
ASCII art, an artistic medium relying primarily on computers for presentation, consists of pictures pieced together from characters (preferably from the 95 printable characters defined by ASCII). They can be created with any text editor, and are often used with free-form languages. Most examples of ASCII art require a fixed-width font (non-proportional font, like on a traditional typewriter) for presentation.
ASCII art is used wherever text can be more readily printed or transmitted than graphics, or in some cases, where the transmission of pictures is not possible. This includes typewriters, teletypes, non-graphic computer terminals, in early computer networking (e.g., BBSes), e-mail, and Usenet news messages. ASCII art is also used within the source code of computer programs for representation of company or product logos, and flow control or other diagrams. In some cases, the entire source code of a program is a piece of ASCII art - for instance, an entry to one of the earlier Obfuscated C contests is a program that adds numbers, but visually looks like a binary adder drawn in logic ports. Taking the medium to extremes, there exists a video driver for the popular computer game Quake that displays the game in ASCII art.
Contents |
Types and examples of ASCII art
The simplest forms of ASCII art are combinations of two or three characters for expressing emotion in text. Rotate these examples mentally 90 degrees clockwise for a more recognizable orientation of these emoticons:
:-) or :) smile :-( frown ;-) wink :-P Ha Ha (tongue sticking out) B-) or 8-) cool (sunglasses)
More complex examples use several lines of text to draw large symbols or more complex figures. Some common examples:
(__) (oo) /-------\/ O / | || /o)\ /H\ * ||----|| \(o/ /'\ ~~ ~~ Cow Yin/Yang Person
It is popular to put such art in one's signature block to be included in all one's e-mail and Usenet postings.
Some types ignore the particular shape of the characters and use them as more-or-less filled boxes of varying gradients to perform simple dithering:
_a, _yQa. _qTWW( je`?QX: <d+ -3Wm; _qos_s%mWw, a2?????TWW( sd( -?Qm;. .amm; .xmWmc """""` """""""
Another type sometimes seen is creating a word using only one kind of character per letter. For example:
HHHHHH HHHHHH IIIIII !!! HHHH HHHH IIII !!!!! HHHH HHHH IIII !!!!! HHHH HHHH IIII !!!!! HHHHHHHHHHHHHH IIII !!!!! HHHHHHHHHHHHHH IIII !!!!! HHHHHHHHHHHHHH IIII !!! HHHH HHHH IIII HHHH HHHH IIII !!! HHHH HHHH IIII !!!!! HHHHHH HHHHHH IIIIII !!!
One use for ASCII art is to create unique typography, for example:
___ __, ( / ( o _/_ / / __, _ _ `. _ _ , / /_ _/_(_/(_/ /_(/_ (___)/ / /_(_(__/ /_ // (/
The program Figlet (and other programs that support its standard) allow for the design and use of ASCII fonts.
_____ ___ ____ _ _ | ___|_ _/ ___| | ___| |_ | |_ | | | _| |/ _ \ __| | _| | | |_| | | __/ |_ |_| |___\____|_|\___|\__|
Methods for generating ASCII art
Specialized text editors are designed to draw lines, boxes, and filled areas easily. Generating ASCII art algorithmically is straightforward. A good example is this web-based application IMG2TXT (http://www.degraeve.com/img2txt.php). Converting a bitmap to ASCII art is a special case of vector quantization. An example of a generated image, next to the original, is given below:
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
Another method is to sample the image down to grayscale with less than 8-bit precision, and then assign a character for each value, as some online ASCII converters do (see external links below).
In the 1970s and early 1980s it was popular to produce a kind of ASCII art that relied on overprinting — the overall darkness of a particular character space dependent on how many characters, as well as the choice of character, printed in a particular place. Thanks to the increased granularity of tone, photographs were often converted to this type of printout. Even daisy wheel printers could be used. The technique has fallen from popularity since all cheap printers can easily print photographs, and a normal text file (or an e-mail message or Usenet posting) cannot represent overprinted text. However, something similar has emerged to replace it: shaded or colored ASCII art, using ANSI video terminal markup or HTML to add a bit more tone variation.
Animated ASCII art is possible by embedding video terminal escape sequences such as ANSI X3.64 for cursor movement into the "picture".
Glyph mosaics in Japan
Shift_JIS_art_rabbit.png
The glyph mosaic art form is a unique development of Japan. The so-called "ASCII art" produced in Japan often uses thousands of extra characters from the JIS or Unicode character sets for more elaborate pictures. The largest source of recent "JIS art" is the 2ch BBS, and the characters and stories in these "JIS Arts" are gaining popularity and recognition with the emergence of this BBS. Cultural similarities with Manga (Japanese comics) can be observed. A simple example of the Japanese style of ASCII art is "orz". This represents a man on all fours kneeling in an expression of despair. "o" is the head, "r" is the arms and shoulders, and "z" is the back and bent legs.
Placing ASCII art in HTML pages
ASCII artwork embedded in an HTML document must be wrapped with such elements as <pre>...</pre>
, <tt>...</tt>
or <code>...</code>
to ensure that arrangement of the characters will display properly with monospace fonts (also called non-proportional fonts).
It allows navigational maps, with some or every "pixel" (i.e. character) being a link. Some consecutive characters can also be a single link. However, it does not seem possible to have a multi-line area being a single link, like in image maps using the <area>
tag (e.g. [1] (http://www.sdu.nl/staatscourant/gemeentes/gemprovin.htm#ZH)). Of course some character sequences on different lines can link to the same target, but if a link highlights when the cursor is over it, only a portion of the area is highlighted.
Example, with both the city outline and the label clickable:
x xxx Leiden x xx xxxx The Hague xxx xx xxxxx Rotterdam xxxx
See also
Further reading
- Danet, Brenda. Cyberpl@y: Communicating Online. Oxford, UK: Berg, 2001. ISBN 1-85973-424-3.
- Riddell, Alan, ed. Typewriter Art. London, UK: London Magazine Editions (LME), 1975. ISBN 900-626-99-2.
- Roemer, Madge. Fun With Your Typewriter. Indian Hills, CO, USA: The Falcon's Wing Press, 1956. LCCN 56-13336.
External links
ASCII art editors
Editors created solely for the purpose of creating hand-made ASCII art.
- ACiDDraw 1.25r (http://download.com.com/3000-2192-10141644.html?tag=lst-0-1) Freeware; The leading ANSI and ASCII art editor for IBM PC DOS
- PabloDraw for Windows Freeware; features a revolutionary peer-to-peer "joint editing" mode
- TundraDraw (http://sourceforge.net/projects/tundradraw/) A cross-platform ANSI and ASCII editor for Microsoft Windows and X environments. Source code available.
- Email Effects (http://www.sigsoftware.com/emaileffects/) ASCII art editor for Mac and Windows, also converts pictures and does Figlet fonts.
- JavE (http://www.jave.de) Freeware; A java ASCII editor with standard Photoshop-style tools, image conversion, FIGlet support, math formulas editor and a lot of other features. Requires Java virtual machine.
- Open Directory Project: List of ASCII art editors (http://dmoz.org/Arts/Visual_Arts/ASCII_Art/Software/)
- ASCIIart.net list of editors (http://editors.asciiart.net/) A comprehensive list of ASCII editors for DOS and Windows with informative reviews on each one
ASCII art generators
Tools which convert bitmapped images to ASCII text or otherwise automatically generate ASCII art with a minimal degree of human interaction.
- AA-lib (http://aa-project.sourceforge.net/index.html) A portable library which converts high-resolution images or video down to ASCII text images or 'video.'
- ASCII Generator (http://www.network-science.de/ascii/) Online; generates ASCII art text in a variety of fonts.
- ASCII Signature Generator (http://www.kammerl.de/ascii/AsciiSignature.php) Figlet Server - Online Ascii Art Signature Generator
- ASCII Stereogram Image Generator (http://www.kammerl.de/ascii/AsciiStereo.php) Online; generates free ASCII stereograms
- ASCII Stereogram Movie Generator (http://www.kammerl.de/ascii/AsciiStereoMovie.php) Online; generates free ASCII stereogram movies!
- ASCii.art 0.3 (http://reactor.reality-protocol.de/index.php?page=software/asciiart.html) Open-Source; An image bitmap to ASCII text converter. Supports conversion to colored ASCII using HTML color tags and features multiple image resize capabilities.
- ASCII Generator (http://ascgen.jmsoftware.co.uk/) Freeware; A 32-bit Windows program that converts a large variety of images to ASCII art.
- Boxes (http://boxes.thomasjensen.com/) GNU GPL; Draws ASCII art boxes around text. Useful for programmers.
- Figlet text generator (http://www.figlet.org/) (online ASCII Generator (http://www.network-science.de/ascii/)) FIGlet font generators
- IMG2ASCII (http://img2ascii.sourceforge.net) GNU GPL; Transforms JPG or PNG images to Unicode or ASCII text online.
- Pic2ASCII (http://www.pizzinini.net/projects/pic2ascii/) Freeware; Transforms bitmaps to text (even analyzes symbol fonts)
- png2mirc (http://png2mirc.sourceforge.net) Public domain; converts PNG images to coloured mIRC ASCII art.
- Online JPG to ASCII converter (http://jpg2asc.hierklikken.com/)
ASCII art groups
ASCII art groups are defined as organized bodies of people dedicated to the purpose of creating ASCII text based artwork.
- 123 (http://123.ione.se/)
- Chemical Reaction (http://www.chemical-reaction.de)
- Galza (http://www.galza.tk) ASCII artists which predominantly make use of the IBM-PC Russian ASCII codepage
- Impure ASCII [2] (http://www.impure.tk/)
- The lo0p (http://www.thelo0p.prv.pl/) Polish ASCII art group
- Mimic ASCII [3] (http://www.mimic.ca/)
- Pen15 (http://www.pen15art.tk/): It's pronounced "Pen Fifteen"
- Remorse ASCII [4] (http://www.remorse.org/index.php)
- Superior Art Creations
- alt.ascii-art (news:alt.ascii-art), a Usenet newsgroup.
ASCII artscene portals
- Boondocks (http://www.asciiscene.org) - ASCII Scene Forums for PC and Amiga
- Downmix (http://www.downmix.com) - ASCII, ANSI, & Hires Scene News & Releases
- Thuglife.org (http://www.thuglife.org) - ASCII Scene News, Releases, and Forum
Other links
- History of ASCII (Text) Art (http://www.acid.org/info/mirror/jgs/history.html) by Joan Stark (Mirror)
- ASCII Art Drawing Tutorials (http://www.ludd.luth.se/~vk/pics/ascii/junkyard/techstuff/tutorials/Joan_Stark.html#tutorials)
- ASCII Arts Ring and Directory (http://artcode.org/ascii/)
- Star Wars (http://www.asciimation.co.nz/) (a 22-minute long ASCIImation movie: requires Java)
- The.Matrix-ASCII (http://onyx.chattanoogastate.edu/~jack/matrix/) The original Matrix film converted to ASCII animation (DVD ISO)
- More ascii art movies (http://www.romanm.ch/english/ascii-movies.htm)
- Japanese ASCII Art (http://aa5.2ch.net/mona/): requires Japanese font (available free from Windows/IE update, for Windows users)
- How to draw Mona-style AA (http://www.geocities.co.jp/HeartLand-Yurinoki/1836/) (in Japanese)
- Illustrating software design using UnifiedModelingLanguage is discussed (http://c2.com/cgi/wiki?UmlAsciiArt)
- An ASCII art archive (http://www.chris.com/ascii/)
- ASCII art cow collection (http://userpages.umbc.edu/~dschmi1/cows/ascii.html)
- ASCII Art Farts (http://www.asciiartfarts.com)
- Actors' and musicians' portraits rendered in ASCII (http://www.asciibabes.com/)
- www.nerd-boy.net Nerd Boy, an ASCII comic strip by Joaquim Gandara.
- ASCII art dictionary (http://www.ascii-art.de) Huge collection by Andreas Freise sorted by words (topics).
- ASCII art gallery by Joan Stark (http://www.ascii-art.com)
- ASCII art by Sebastian Stoecker (http://www.ascii-art.net)
- The ORIGINAL Ascii Airplane Collection (http://xcski.com/~ptomblin/planes.html)
- Colin The Owl (http://www.colintheowl.com) Several cartoons including Colin The Owl, Derren Brown's School Days, and ASCII 'interpretations' of classic video games.de:ASCII-Art
eo:Arto ASCII fr:Art ASCII ia:Arte in ASCII it:ASCII art he:אמנות ASCII nl:ASCII art ja:アスキーアート pl:ASCII-Art simple:ASCII-art sk:ASCII umenie fi:ASCII-taide sv:ASCII-konst zh:ASCII艺术