ASCII art
From Free net encyclopedia
_ ____ ____ ___ ___ _ /_\ / ___| / ___|_ _|_ _| __ _ _ __| |_ //_\\ \___ \| | | | | | / _` | '__| __| / ___ \ ___) | |___ | | | | | (_| | | | |_ /_/ \_\____/ \____|___|___| \__,_|_| \__| |
ASCII art, an artistic medium relying primarily on computers for presentation, consists of pictures pieced together from the 95 printable characters defined by ASCII. The term is also used more loosely to refer to text based art in general. 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 fonts, like on a traditional typewriter) such as Courier for presentation.
PC "Block ASCII's" or "High ASCII's" use the extended characters of the 16 Bit "code page 437", which is a proprietary standard that was introduced by IBM in 1979 (ANSI Standard x3.16) for the IBM PC and MS DOS operating system. "Block" ASCII's were widely used on the PC during the 1990's until the Internet replaced BBS' as the main communication platform for "computer freaks" around the world.
"Block" ASCII's were dominating the PC Text Art Scene.
Microsoft Windows does not support the ANSI Standard x3.16. You can look at "Block ASCII's" with a Text Editor using the Font "Terminal", but it will not look exactly as it was intended by the artist (see examples below). You need a special ASCII/ANSI Viewer such as ACiDView for Windows to watch Block ASCII and ANSI Files properly in Windows.
PC Text Art that did not use the available extended characters were not the norm in the 1990's. The only popular ASCII Style during this time, that uses the 7 bit Standard ASCII Character Set, was the so called "Oldskool" Style. It is also called "AMIGA Style", due to it's origin and wide spread use on the Commodore Amiga Computers. The style uses primarily the characters: _/\-+=.()<>:. The "Oldskool" Art looks more like the outlined drawings of shapes than real pictures.
ASCII art originated because early printers often lacked graphics ability. Thus, characters were used in place of graphic marks. Also, to mark divisions between different print jobs from different users, bulk printers often used ASCII art to print large banners to make the division between print jobs easier to spot so that the results could be more easily separated by a computer operator or clerk.
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 International Obfuscated C Code Contest 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 video game Quake that displays the game in ASCII art. ASCII art is also very commonly used amongst software piracy groups to display group logos inside text (*.nfo) files containing the instructions for installing and cracking the software (though these commonly use PC text mode characters as well as just ASCII). An example of ASCII art predating the modern computer era can be found in the October 1948 edition of Popular Mechanics[1]
Another example of ASCII art in games is "Original War", a little-known game for windows, in which the cutscenes for the Russians are made up totally of ASCII art.
Pop singer Beck has a music video "Black Tambourine" made up entirely of ASCII characters that approximate the original footage.
Animated ASCII art is possible by embedding video terminal escape sequences such as ANSI X3.64 for cursor movement into the "picture".
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. They are commonly referred to as 'emoticon', 'smilie', or 'smiley'. Mentally rotate these examples 90 degrees clockwise for a more recognizable orientation:
:-) or :) :-( or :( ;-) or ;) :-P or :p >:( :x smile frown wink tongue out mad sour B-) or 8-) :-O or :O :-0 or :0 :-S or :S :D :? sunglasses shouting surprised confused laugh eh? |
There is another type of one-line ASCII art that does not require the mental rotation of pictures, which is widely known in Japan as kaomoji (literally "face characters".) Traditionally, they are referred to as "ASCII face". Today, some call them "verticons":
(^_^) (-_-) (X_X) <(^_^<)^<) happy sad dead humping \(^o^)/ (o.~) o< d(O.O)b joyous winking conspiracy duck thumbs up (b_d) <(^_^<) (>^_^)> <(^_^<) (>^_^)> (o_O) (O_o) glasses pointing / dancing eye stare/"ookay!"/"what!?" ^_^; (v_v) (~_~) ;_; (T_T) embarrassed sleeping/ crying ';' for sweatdrop downcast ',' for tears t('_'t) (^_o) "Middle Finger" statement Winking/Skeptical |
More complex examples use several lines of text to draw large symbols or more complex figures. Some common examples:
o o o o o <o <o> o> o .|. \|. \|/ // X \ | <| <|> ASCII Macarena /\ >\ /< >\ /< >\ /< >\ /< (__) (oo) /-------\/ __ O _ ,__o / | || /o)\ /|\ >(o)__ _-\_<, * ||----|| \(o/ / \ (_~_/ (*)/'(*) ~~ ~~ ~~~~~~~ Bull Yin/Yang Person Rubber Duck Cyclist ,-._,-. (\ /) \/)"(\/ (o.O) (_o_) |> <| /_|_\* Dog Rabbit |
A more intricate example of this depicts a building:
.-. /___\ |___| |]_[| / 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 |
It is popular to put such art in signature blocks to be included in e-mail and Usenet postings.
Other ASCII art ignores the particular shape of the characters and instead uses their overall boldness or lightness to create varying gradients.
_a, _yQa. _qTWW( je`?QX: <d+ -3Wm; _qos_s%mWw, a2?????TWW( sd( -?Qm;. .amm; .xmWmc """""` """"""" |
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:
_____ ___ ____ _ _ | ___|_ _/ ___| | ___| |_ | |_ | | | _| |/ _ \ __| | _| | | |_| | | __/ |_ |_| |___\____|_|\___|\__| |
What follows is an example of "Amiga-style" (also referred to as "oldschool style") scene ASCII art. This kind of ASCII art is handmade in a text editor. Popular editors used to make this kind of ASCII art include CygnusEditor aka CED (Amiga) and EditPlus2 (PC).
______.----------------------------.______ :_) (_: ....|: :|.... : :<> <>: : :···|: :|···: .---+- -:- -:- -+---. /\___ | /\___ /\_____ /\______ /\______ | /\___ _/ / | _/ /___ _/ __ / _/ __ / _/ __ / : _/ / \ __//\ :/\\ _// / \ )/ //\ \ )/ //\ \ )/ //\ /\ \_ //\ _/¯¯ \)¯ \/ ¯¯ __¯ \/¯¯ ¯ ¯¯ \/¯¯ ¯_ ¯¯ \/¯¯ ¯_ ¯¯ \/ ¯)/ ¯¯ \_ \ )/¯ (/ (/ ¯ / /¯¯ / / / _ ¯¯\ \_ /\__/ /\_ /\__/ /\__/ /\_(/ _/ =/ /===/ /==/ /===/ /=©d/ /=:=/ /= ¯¯¯¯¯¯¯¯¯\/: :¯¯¯¯¯¯\/ ¯¯¯¯¯¯\/ ¯¯¯¯¯¯¯\/ ¯¯¯¯¯¯¯¯\/ | ¯¯¯¯¯¯\/ ______.---+- :____ /\_____ : : ________: -+---.______ :_)····· :..... _/ /--+--./\_____.---+---./\___ .....: ·····(_: |: : ..:..\ / : _/ / : _/ / ..:.. : :| <> :.:.: : \ __//\ /\\ __ //\ /\ \_ //\ : :.:.: <> |: :..._/¯¯ \)¯ \/ ¯¯ )/ ¯¯ \/ ¯¯)/ ¯¯ \_...: :| : ____ ____ \ ¯ ¯ / ____ ____ : \_. _\_ \\ //¯¯ _ ¯¯\\ // _/_ ._/ ---· _ \¯ _ \\ \\_ /\_ /\_(/ _// // _ ¯/ _ ·--- /¯· \¯¯¯ ¯\¯¯¯ ¯¯=/ /:=/ /=:=/ /= ¯¯ ¯¯¯/¯ ¯¯¯/ ·¯\ : ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯\/-+--¯¯¯¯¯¯¯¯\/--+--¯¯¯¯¯¯\/ ¯¯¯¯¯¯ : |: : : :| <> . . <> |: _ . | __ .__.__ .|__ __ . :| :¯)..... __(__|-|(_/_| (| ((__||__)(__)(__|__ .....(¯: ¯¯¯¯¯¯·-----------·-------|----|--|----(/----------(/--·-----------·¯¯¯¯¯¯ |
Oldskool/AMIGA ASCII look on Commodore AMIGA Computer (notice the spacing which makes the characters line up nicely)
Image:Paso amiga ice cream ascii.gif
Oldskool/AMIGA ASCII Examples (using fixed-width, none-proportional font Courier)
. ______ __:_ . /\_________ _ _:__ _ . __________ . \__ \ | <_ _______\ | \ | : . /________ \ -============- : -[01/01]- _ ______| _> \ |______ _/| ___\ \__ __ _/|____|_|_ ____|\___ ___:_____ _ | _\ )__/|______ ____|\ __ |. | _ \ | | | |/ _ \__ \ | |\ _____// _ \ \/ | .| _/--- | /___/ _____ / __ \ \/ \ --\_ . | __|_ |_> >| | |__| \__/__> | : _|__ \| |__ \__/ \ / | | . \--- | . \ < |/ /____\ | .\_/ --/ :_|_/_________/___ |\_____\_____\___/____\_____>____>____\_|\_/| |___|_: - - | |\______|___________/ | --- - _|. _ \| ___ _ _ ____ ___| |____ ____ _ _ __ \ | _ .|_ - | / .:.nineteeneleven.:.\ | roy .|_| BLUE SYSTEM _> : <_____________> \ \_ |____\ <_____________> \| <___|. -== |/ ===================== \| ====- . \ \ | roy/sac | \ | \ | \| |
"Newskool" ASCII Example
. .o$$$$$o. o. .o$$ .'.$$$ `$$$$ $$ W e l c o m e t o . . . $$$$ .: $$$$ $$P'.$$ $$$$ `: $$$$ . $$$$ . .o$$$$$o. o$$$o. .o$$$$o. .o$$$$$$$o. . ` $$$$ $$o.`$$ $$o.`$' $$$$ `$o. $$$$' $$$$ $$' $$$$ . .o$$`$$$ .$$$$ $$ $$$$ $ .$$$$ . `$$o.`$$ """' $$$. $$P' :: . $$$$ `4$$$$$P'`$$$$$$P'`$$$$$P' 4$$$$P' 4$$$$$o. `4$$$$$$$o. .::` $$$$ oooo ..::.......::......::......:. $o. ...::........ ..:::. $$$$ $$P' `:::::::::::::. .o$$o. .::::' $$o. :::::::::' .o$ ::::. $$$$ ` .:'" `::'" "" .:' " $$$$ `::::' " .o$$ `' `" `4$$$$$o. .o$$$$$$o..o$$$$$$$ $$o..o$$$$o.`$$$$o. '.o$ $$$$.oOOOOOOOOo. .`$$$$ $$$' $$$$ $$' $$P'o$ .o$$' $$$$ $$ o$$$ $$$$ . $$ $$ . .o$ $$$$ $$$ $$$$ $$ $$$ $$$$.o$$P'.$$ $o.`$$$ $$$$ : $$ $$ $$$$ $$$$ $$$. $$$$ $$. $$o.`$ `$$$. $o. o$$. $$o.`$$. $$$$ ' $$ $$ `4$$$$$$P' 4$$$$$$P'`$$$$$$$$ $o.`4$$$$$$o.`$$$$$$$ 4$$$$$$$$o.`$ $$ <=============================================- o $$$$ o$ $$ <====- SAC - Superior Art Creations INet WHQ -=- .o$ $$$$.oOOOOOOOOo. <====- LKCC - Last KC Computerclub INet WHQ - .o$$ $$$$ -=========> <===========================================- $$$$ $$$$ -= roy => `4$$$$$$P' |
"Block" ASCII display via Notepad versus ACiDView for Windows
Image:ASCII notepad acidview compare.gif
Methods for generating ASCII art
While some prefer to use a simple Text editor to produce ASCII art, specialized programs have been developed to allow you to draw text in lines, boxes, and filled areas as you would in a normal paint package.
Other programs allow you to automatically convert an image to ASCII art, which is a special case of vector quantization. A method is to sample the image down to grayscale with less than 8-bit precision, and then assign a character for each value.
An example of a converted image, created using Ascgen dotNet, is given below, next to the original:
tt%%%%%%tttttttttttttttttt;;;tttttt;;;:::;;;;;ttttttttt;;;;;;;;;tttt%%%C7O7 t,;;;;;;;;;;;;:;;;;::;;;::::::;;:::,... .......,...................,,:,::;t t;ttttt%C7OO7%tttt%%%%%%tttttt%%tt;;,,....,,,,.,,,,,:::::;;;;;:,,:::;;;;;t; t;ttttttCCCCC%%tt%tCO77x27777O77C%tttt;;::::::,,,,,,,,,,,:;;;::,,,,,:;::;;; t:tttttttt;tttttttt%CC7OO77CC%%72OOO7C%ttt;;;;:,,,..,.,,......;xsQsG:...,:: ;,;;;;;:;;:;;;;:,,,,,,,;;tttt;tttt%t%ttt;;;;:,...... tSMMM#Q%;:::,:;: ;,;;;;;:;;;;;:,tD@@@@8Zt,,:;;;;:;;;:;;:,,........... .;DMMMMD;...,;tttttt; ;,;;;;tttt;;.,@MMMMMMMMM#C..,..........:;tZ0SKbE@#MMMMMMMMC. .,;tCC7C%C%%t; ,.,,,,:;;:..,NMMMMMMMMMMMMMSQKE###NNNMMMMMMMMMMMMMMMMMMMM#C;7GDDD5G2OCCttt; . ,sMMMMMNNN#NNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN@NMMbODS99Qs5xx2O77CCt .,. DMMN##MNMMMMMMMMMMMMMMN#MN@NNNN##NN###@EE@MM@ttttt;;ttCC777Ot .,::;:. ;NNNEGOCOZQG. ,MM#@@##@##@#####NNNN#NN@@K8Qx:,::::,:;;;ttt%t ..:;%ZsD0D0Ds57;@ME:,:;tO MN@@@#########NNNMMMM#K5t;,,;tt%ttttttt;;;;;: tOQDDs5DQgEE@@bSMM,.;tx2 MMM#######NNNNN##NMNgx;::;t7O22xZ22xxOC%tt;;,:, sQSsG2C%CxGs00DZ0Mt:t;. .tQMM########NNNN#NMMK. .,,:;:,,,...,,::,,,,,,, sD8S9DsZxxxx22OCtO#MME8QMMMMM#######NN#NNNNMD. ...,,,... ...,:;tt; t;tt%t%%tttt;;;;:,.,7#MMMMMMNNNNNNN#N####NMK...,:::;;;t;;;:,.. ..,:;%7t t,;;;;:,,,,,.,,,... :s@NMN#NMMMMMNNNNMN@Z%xxZxxZZxxO7C%ttt;;:,,,,,,:;;;: t;tttttttttt%%tt%tt;;,. t@NNNO,7S#MMM#sttt7xGZZZZZZxxZxZZx2x227%ttt;;::;, t;tttCO2xGGsD00QQ99QD52%t,%59N#. .@D. .............,,,::::::::,.......,. x7x2OOCC%ttt;;tttCCC%%tt;;.. ,,. 0% ......... .... ... xxD5Z27OC%tt;;;:;;;:::;:,.... .2x@t ,;;tt%%77O7CC%tt;;:,..,,,,,... .,, t:;;::::;;;ttttttt%%7O2xxx27Ob: 0M% ..,.,::;;;;;;;:,... .....,,:t%2GGt : . ..,;::::;;;;;ttt;Q5 MC ..,..... .. ...,:,,::;tCC%t; , ......... .,;tt9G; ,ttt%7OxxxxxZZxxxZZ5D009QSS8g8S0Dsx7Ctttt . ......,...,,. ;OG5D98gKSgK9 CZ7C2xGs0S8gKbEEE@@@@@bg8ggKEEE@@@@@@5 :.,...,:::,,,.,,,t CgES0098b@M. .x57CCttt%CxxZxxO7C%ttt;;;;;;tt%OxGsZ% :;;.,....,,;;t2509x ,OGZ772,O, t%t;:,.. ..;;;,. ..,,,,.. . .. .;tD2, ,: ,t .,.... .. . ,tOZ2; tDOt2, ;;:::::,:;;ttt:. . ...,;:,. . . ,:;,. t;2; .;::;;;;tt;::.,........,::....;C; . ,. .. . .. :;tt... .;:,..,. ....... .:;:... ..
Non fixed-width ASCII
Most ASCII art is created using a monospace font, where all characters are identical in width (Courier New is a popular font). However, most of the most commonly used fonts in word processors, web browsers and other programs are proportional fonts, such as Arial or Times New Roman, where different widths are used for different characters. ASCII art drawn for a fixed width font will usually appear distorted, or even unrecognisable when displayed in a proportional font.
Some ASCII artists have produced art for display in such fonts. These ASCIIs, rather than using a purely shade-based correspondence, use characters for slopes and borders and use block shading. These ASCIIs generally offer greater precision and attention to detail than fixed-width ASCIIs for a lower character count, although they are not as universally accessible since they are usually relatively font-specific.
Other text based art
There are a variety of other types of art using text symbols from character sets other than ASCII and/or some form of color coding. Despite not being pure ASCII, these are still often referred to as "ASCII art". The character set portion designed specifically for drawing are known as the line drawing characters or pseudo-graphics.
IBM PC
▄▄▀▀▀▀▀▄▄ ▄▀ ▀▄ ▄▀ █ █ ▀▄ █ █▄▄▄▄▄▄▄▄▄█ █ █ █ █ █ █ ▀▄▄▄▄▄▀ █ ▀▄▄ ▄▄▀ ▀▀▀▀▀ |
The IBM PC graphics hardware in text mode uses 16 bits per character. It supports a variety of configurations, but in its default mode under DOS they are used to give 256 glyphs from one of the IBM PC code pages (Code page 437 by default), 16 foreground colors, 8 background colors, and a flash option. Such art can be loaded into screen memory directly. ANSI.SYS, if loaded, also allows such art to be placed on screen by outputting escape sequences that indicate movements of the screen cursor and color/flash changes. If this method is used then the art becomes known as ANSI art. The IBM PC code pages also include characters intended for simple drawing which often made this art appear much cleaner than that made with more traditional character sets. Plain text files are also seen with these characters, though they have become far less common since Windows GUI text editors (using the Windows ANSI code page) have largely replaced DOS based ones. [edit] Shift_JISTemplate:Main A large character selection, the widespread use of Japanese on the internet, and the availability of standard fonts with predictable spacing make Shift_JIS a common format for text based art on the internet. [edit] UnicodeUnicode would seem to offer the ultimate flexibility in producing text based art with its huge variety of characters. However, finding a suitable fixed-width font is likely to be difficult if a significant subset of Unicode is desired. Also, the common practice of rendering Unicode with a mixture of variable width fonts is likely to make predictable display hard if more than a tiny subset of Unicode is used. [edit] OverprintingIn 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 manual typewriters or 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 color codes (such as those found in HTML, IRC, and many internet message boards) to add a bit more tone variation. In this way, it is possible to create ASCII art where the characters only differ in color. [edit] View Block ASCII's and ANSI's in WindowsYou can display Block ASCII's under Microsoft Windows from the MS DOS command prompt. Just go (via the MS DOS Window) to the directory where the ASCII Files are located and enter: "type <filename>". This does not work for ANSI Files by default. You must enable the "ANSI.SYS" driver for MS DOS Windows first. It only requires a simple addition to the "Config.nt" file in the system32 directory (WIndows XP).
After the reboot should "type <filename>" display ANSI Files (*.ans) properly as well. [edit] See also
[edit] Further reading
[edit] External links[edit] ASCII and ANSI art viewers
[edit] ASCII art editorsEditors created solely for the purpose of creating hand-made ASCII art.
[edit] ASCII art generatorsTools which convert bitmapped images to ASCII text or otherwise automatically generate ASCII art with a minimal degree of human interaction.
[edit] ASCII art groupsASCII art groups are defined as organized bodies of people dedicated to the purpose of creating ASCII text based artwork.
[edit] ASCII artscene portals
[edit] Other links
de:ASCII-Art eo:Arto ASCII es:Arte ASCII fi:ASCII-taide fr:Art ASCII he:אמנות ASCII ia:Arte in ASCII it:ASCII art ja:アスキーアート lt:ASCII menas nl:ASCII art pl:ASCII-Art pt:ASCII art simple:ASCII-art sk:ASCII umenie sl:ASCII umetnost sr:Aski umetnost sv:ASCII-konst zh:ASCII艺术 |