====== ANSI ====== This section contains information about the ANSI code, ANSI art etc. >[[wp>ANSI art]] is a computer art form that was widely used at one time on bulletin board systems. It is similar to ASCII art, but constructed from a larger set of 256 letters, numbers, and symbols — all codes found in IBM code page 437, often referred to as extended ASCII and used in MS-DOS and Unix environments. > >ANSI art also contains special ANSI escape sequences that color text with the 16 foreground and 8 background colours offered by ANSI.SYS, an MS-DOS device driver loosely based upon the ANSI X3.64 standard for text terminals. > >Some ANSI artists take advantage of the cursor control sequences within ANSI X3.64 in order to create animations, commonly referred to as ANSImations. ANSI art and text files which incorporate ANSI codes carry the de facto .ANS file extension. {{http://www.ansigarden.com/wp-content/uploads/edd/2017/01/Im_your_father_preview-1.png }} Credit: [[https://www.ansigarden.com|Luciano Ayres - ANSIGARDEN]] ===== ANSI Art Editors ===== This section contains information on a number of editors that can be used to draw ANSI art. ==== Moebius ==== Moebius is a new ANSI and ASCII Editor for MacOS, Windows, and Linux. The major feature that differentiates it from PabloDraw is the 'half-block' brush which allows editing in a style closer to Photoshop than a text editor, although you can still use the function and cursor keys to draw with, and you should find that most of the text editing features from PD are carried over to this editor. The editor is still a work in progress, but anyone who wants to try using it is also encouraged to log feature requests and bugs on the project's GitHub page. ^Homepage | [[https://blocktronics.github.io/moebius/|Moebius]] | ^Compatible |Windows, Linux, Mac| ^Open Source | Yes | ==== PabloDraw ==== [[wp>PabloDraw]] is an Ansi/Ascii text and RIPscrip vector graphic art editor/viewer with multi-user capabilities. PabloDraw uses the awesome Eto.Forms cross-platform framework to provide native UI for Windows, OS X, and Linux. ^Homepage | [[https://picoe.ca/products/pablodraw|PabloDraw ]] | ^Compatible |Windows, Linux, Mac| ^Open Source | No | ==== SyncDraw ==== SyncDraw is an ANSI drawing program which supports: * Support for IBM low and high ASCII including the face graphics (☺ and ☻) and card symbols (♥, ♦, ♣, and ♠) which so many other programs have problems with (may not work in curses mode... depends on the terminal being used). * Up to 1000 lines * Mouse-driven menus * Copy/Paste * Can use TheDraw fonts * Can save/load ANSI, Avatar, PCBoard, ASCII, Binary, C and Synchronet formats * Supports Sauce * Line drawing mode ^Homepage | [[https://syncdraw.bbsdev.net|SyncDraw ]] | ^Compatible |Windows, Linux, Mac| ^Open Source | Yes | ==== BlockArt ==== ANSI Editor for Linux terminal, compatible with Raspberry Pi. BlockArt, does not support multiple pages or big screens. Its designed for ANSI graphics, for BBSes which normally use 79x24 chars/lines ANSI Screens. * Load / Save ANSI and Mystic BBS Ansi Files * Also save in Plain Text and Pascal format * All available block commands (Move, Copy, Flip, Fill etc.) and more such as draw line, draw circle, draw 3D box. * Supports TheDraw Fonts * Built in TheDraw Font Gallery to easy choose a font. Also you can choose a font by selecting it everywhere in your disk drive * Normal text mode and also Elite mode, like in SyncDraw * Draw ASCII lines with the Draw Mode. * Font Fxes, like Fade Fx and Capital Fx. You can Color text, as you type * Special "Line Menu" for ordinary jobs in a line of text * All normal stuff you find in other ANSI Editors * Up to 20 Undo Stages * Supports Loading / Importing graphics while in Copy Mode ^Homepage | [[https://github.com/xqtr/blockart|BlockArt]] | ^Compatible |Windows, Linux, RPi| ^Open Source | Yes | ==== TundraDraw ==== TundraDraw is a cross-platform ANSI drawing program written with C++, using the Qt Toolkit. Thus, it runs natively on both X environments and Windows. It features network connectivity to allow artists to draw together over the Internet. ^Homepage | [[https://sourceforge.net/projects/tundradraw|TundraDraw]] | ^Compatible |Windows, Linux| ^Open Source | Yes | ==== TetraDraw ==== Tetradraw is a fully featured ANSI art editor for *nix operating systems by John McCutchan. ANSI art is only made of the ASCII characters with 16 colours. ANSI art is mainly used in text mode interfaces. Tetradraw is the first completly usable ANSI art editor for *nix operating systems. However Tetradraw does not only emulate the ansi editors for DOS. Tetradraw is revolutionary in the way ANSI art can be drawn, for the first time ever two artists can draw together over the internet on the exact same image (MultiDraw). This has been a long awaited feature and should provide a new level of art. On top of the ground breaking MultiDraw here are some of Tetradraw's features: * ANSI art is not limited to a certain amount of lines. Your art can be an unlimited length. * Informative status bar. * Built in ASCII character table. * Built in Chat interface for MultiDraw. * A powerful block command. Featuring character and colour replacement and fill. Flipping on the X and Y axes. Tranparent Layer mode. * 20 configurable character sets. * A powerfull interface. * Supports the ANSI, ASCII and BIN file formats. * You get complete access to the source code to make any improvments or changes you want. * Many configurable options that can be changed from internal options screen. * A seperate ANSI viewer: Tetraview. * Fully compitable with all DOS based ANSI editors and the linux console. * Auto backup of the image you are working on. * Built in quick help screen. ^Homepage | [[https://tetradraw.sourceforge.net|TetraDraw]] | ^Compatible |Linux| ^Open Source | Yes | ==== TheDraw ==== [[wp>TheDraw]] is a text editor for DOS to create ANSI and animations as well as ASCII art. The editor is especially useful to create or modify files in ANSI format and text documents, which use the graphical characters of the IBM ASCII code pages, because they are not supported by Microsoft Windows anymore. The first version of the editor was developed in 1986 by Ian E. Davis of TheSoft Programming Services. The last public version of the editor was version 4.63, which was released in October 1993. TheDraw was one of the first ANSI editors that supported ANSIs longer than 25 rows. The limit in the latest available version is still 100 rows. Other editors, such as ACiDDraw are able to support ANSIs larger than 100 lines for a single ANSI/ASCII (ACiDDraw supports 1,000 lines). The animation mode is limited to 50 lines (rows). The column width can be extended from the standard 80 characters to 160, but this also reduces the row limit down to 50. ^Homepage | [[https://www.syaross.org/thedraw|TheDraw]] | ^Compatible |DOS| ^Open Source | No | ==== ACiD Draw ==== ACiDDraw is a utility for manipulating ANSI and ASCII text. The authors of this utility have sought to include the most useful tools for manipulating ANSI and ASCII text that could be conceived. The ideas of some of the most experienced artists in these areas have been implemented in every way possible, to create, what we hope, is the most useful utility of this type to date. ^Homepage | [[https://www.acid.org/apps/apps.html|ACiD Draw]] | ^Compatible |DOS| ^Open Source | No | ===== ANSI Tutorials ===== ==== Setting Up Linux For ANSI Viewing ==== To properly view ANSI Art in a Linux Terminal App, like Gnome-Terminal or lx-terminal, we must do some customization. First of all download a proper font like the [[http://webdraft.hu/fonts/classic-console/|Classic Console Font]]. Place the font inside your font directory. For Ubuntu users, its the .fonts directory, inside their home folder. Open your Terminal Application and go to Preferences. Choose the Classic Console Font and apply changes. To enable ANSI colors, give the following command in the terminal. It will return an empty line. echo -e "\e(U\e[0m" Basically, thats all. Test it with the simple command ''cat''. For example: cat myansifile.ans You should see beautiful ANSI Art... ==== Create ANSI Art videos (Linux) ==== === Intro === To record a view with ANSI Art, will be using FFMpeg and our terminal. The idea behind this, is to display our ANSI in the terminal and capture the screen with ffmpeg. To automate this process i build a BASH script, which will do the job for us. The requirements for the script are the following apps: ''xdotool'', ''xwininfo'', ''ffmpeg'', ''lxterminal'' or ''gnome-terminal'' and an app called ''mtype'' (see below). Here you can view some videos made with this procedure: * https://www.youtube.com/watch?v=0yWHOhUWHgQ * https://www.youtube.com/watch?v=SSOFZN_cpM8 === How to use it === Save the code of the script bellow and make the file executable. Make sure you have installed all required packages. Execute the script in a terminal like this: ''./ansirec.sh ansifile.ans'' The script will open a new terminal app, in a specific area of the screen and begin recording it with ffmpeg. At the end you should have an ''.avi'' video file with the name of your original ANSI file. (ansifile.ans.avi). The recording will stop by itself. The script is built this way, so it detects when the terminal app finished displaying the ANSI file and then kills ffmpeg. === Customization === Nothing big here. Just make sure that the dimensions of the terminal app. and the area that ffmpeg captures are the same and according to your configuration. For me the dimension was 800x520, but probably will be different for you. === Resources === #!/bin/bash control_c() { rm tmpbash.sh } trap control_c INT echo "#!/bin/bash" > tmpbash.sh echo 'echo -e "\e(U\e[0m"' >> tmpbash.sh echo "sleep 2" >> tmpbash.sh echo "mtype $1 8" >> tmpbash.sh echo "sleep 2" >> tmpbash.sh chmod +x tmpbash.sh lxterminal -t "ansi capture" -e "./tmpbash.sh" --geometry=80x25 sleep 1 WID=$(xdotool search --name "ansi capture") xdotool windowmove $WID 50 50 xdotool windowactivate $WID INFO=$(xwininfo -name "ansi capture") WIN_GEO=$(echo $INFO | grep -oEe 'geometry [0-9]+x[0-9]+' | grep -oEe '[0-9]+x[0-9]+') WIN_XY=$(echo $INFO | grep -oEe 'Corners:\s+\+[0-9]+\+[0-9]+' | grep -oEe '[0-9]+\+[0-9]+' | sed -e 's/+/,/' ) ffmpeg -f x11grab -y -r 15 -s 800x520 -i :0.0+52,80 -vcodec libx264 -qscale 1 -threads 2 $1.avi & while [ $WID -gt 0 ] do WID=$(xdotool search --name "ansi capture") sleep 1 done pkill ffmpeg rm tmpbash.sh == mtype == Is a Linux application to display ANSI art, with BAUD emulation. It's written by James Coyle (g00r00) the author of Mystic BBS. You can find a 32bit executable and the source code here [[https://github.com/xqtr/source_code/tree/master/pascal/mtype]] === ACiD View === ACiD View, also runs in Linux, by using Wine. It may give you an error, because it needs some libraries, like MFC42.DLL. To install it try this: winetricks mfc42 Or winetricks dlls mfc42 You should execute the program from a command line, to see any errors, like this: wine ACiDview.exe ==== Create ANSI Art videos (Windows) ==== === ACiD View === Download ACiD View from [[https://sourceforge.net/projects/acidview6-win32|Sourceforge]], unzip the file and launch the app. It has an option to extract ANSI files as video (.AVI). ===== Related Links ===== ==== ANSI Galleries / Libraries ==== * [[https://16colo.rs/|16colo.rs]] - ANSI/ASCII art archive * [[https://artpacks.org/|ArtPacks.org]] - Packs * [[http://www.chris.com/ascii/|Chris.com]] - ASCII Art * [[https://github.com/BBSRoot/BBS-ANSI-Graphics|BBS Root]] - BBS Themes * [[http://www.incredibleart.org/links/ascii.html|Incredible ASCII Art]] ==== ANSI Groups / Artists ==== * [[http://blocktronics.org/|BlockTronics]] * [[http://www.acid.org|ACiD Productions]] * [[http://www.ansigarden.com|AnsiGarden.com]] * [[http://www.roysac.com/|ROY/SAC]] * [[http://www.ice.org/|Insane Creators Enterprise]] ==== ANSI Projects / Various ==== * [[https://www.ansilove.org/|AnsiLove]] - Display ANSI in Browsers * [[https://hackaday.io/project/9624-pyans-a-raspberry-pi-ansi-art-scroller|PyANS]] a Raspberry Pi ANSI scroller * [[https://www.cambus.net/ansigo-ansi-to-png-converter-in-go/|ANSI Go]] convert ANSI to PNG with Go * [[https://www.cambus.net/ansi-web-browser-concept/|ANSI Web Browser Concept]] * [[https://csl.name/jp2a/|jp2a]] - Convert JPGs to ANSI * [[http://caca.zoy.org/wiki/libcaca|LibCaca]] - Utils to convert images to ANSI/ASCII