<div align="center">
<img src="https://github.com/sepandhaghighi/art/raw/master/otherfile/logo.png" alt="Logo">
<br/>
<br/>
<a href="https://codecov.io/gh/sepandhaghighi/art"><img src="https://codecov.io/gh/sepandhaghighi/art/branch/master/graph/badge.svg" alt="Codecov"></a>
<a href="https://badge.fury.io/py/art"><img src="https://badge.fury.io/py/art.svg" alt="PyPI" height="18"></a>
<a href="https://www.python.org/"><img src="https://img.shields.io/badge/built%20with-Python3-green.svg" alt="built with Python3"></a>
<a href="https://github.com/sepandhaghighi/art/blob/master/FontList.ipynb"><img src="https://img.shields.io/badge/Font List-667-blue.svg" alt="Font List"></a>
<a href="https://github.com/sepandhaghighi/art/blob/master/ArtList.ipynb"><img src="https://img.shields.io/badge/Art List-710-orange.svg" alt="Art List"></a>
<a href="https://github.com/sepandhaghighi/art/blob/master/DecorList.ipynb"><img src="https://img.shields.io/badge/Decor List-218-green.svg" alt="Decor List"></a>
<a href="https://t.me/artlib_bot" target="__blank"><img src="https://img.shields.io/badge/Telegram-Bot-red.svg" alt="Telegram Bot"></a>
<a href="https://anaconda.org/sepandhaghighi/art"><img src="https://anaconda.org/sepandhaghighi/art/badges/version.svg" alt="Anaconda"></a>
<a href="https://discord.com/invite/FAAyq3QJqP"><img src="https://img.shields.io/discord/897532566301724722.svg" alt="Discord Channel"></a>
</div>
----------
## Overview
ASCII art is also known as "computer text art". It involves the smart placement of typed special characters or
letters to make a visual shape that is spread over multiple lines of text.
ART is a Python lib for text converting to ASCII art fancy. ;-)
<table>
<tr align="center">
<td>Open Hub</td>
<td><a href="https://www.openhub.net/p/artlib"><img src="https://www.openhub.net/p/artlib/widgets/project_thin_badge.gif"></a></td>
</tr>
<tr align="center">
<td>PyPI Counter</td>
<td><a href="http://pepy.tech/project/art"><img src="http://pepy.tech/badge/art"></a></td>
</tr>
<tr align="center">
<td>Github Stars</td>
<td><a href="https://github.com/sepandhaghighi/art"><img src="https://img.shields.io/github/stars/sepandhaghighi/art.svg?style=social&label=Stars"></a></td>
</tr>
<tr align="center">
<td>Font Counter</td>
<td id="font_counter">667</td>
</tr>
<tr align="center">
<td>1-Line-Art Counter</td>
<td id="art_counter">710</td>
</tr>
<tr align="center">
<td>Decor Counter</td>
<td id="decor_counter">218</td>
</tr>
</table>
<table>
<tr>
<td align="center">Branch</td>
<td align="center">master</td>
<td align="center">dev</td>
</tr>
<tr>
<td align="center">CI</td>
<td align="center"><img src="https://github.com/sepandhaghighi/art/workflows/CI/badge.svg?branch=master"></td>
<td align="center"><img src="https://github.com/sepandhaghighi/art/workflows/CI/badge.svg?branch=dev"></td>
</tr>
</table>
<table>
<tr>
<td align="center">Code Quality</td>
<td align="center"><a class="badge-align" href="https://www.codacy.com/app/sepand-haghighi/art?utm_source=github.com&utm_medium=referral&utm_content=sepandhaghighi/art&utm_campaign=Badge_Grade"><img src="https://api.codacy.com/project/badge/Grade/405020450bc94088ad1450461831a587"/></a></td>
<td align="center"><a href="https://codebeat.co/projects/github-com-sepandhaghighi-art-dev"><img alt="codebeat badge" src="https://codebeat.co/badges/90e77325-a046-4cc5-9c3e-646c011a5b72" /></a></td>
<td align="center"><a href="https://www.codefactor.io/repository/github/sepandhaghighi/art"><img src="https://www.codefactor.io/repository/github/sepandhaghighi/art/badge" alt="CodeFactor" /></a></td>
</tr>
</table>
## Usage
<div align="center">
<img src="https://github.com/sepandhaghighi/art/raw/master/otherfile/ART.gif">
<p>Quick Start</p>
</div>
### 1-Line art
⚠️ Some environments don't support all 1-Line arts
⚠️ **ART 4.6** is the last version to support **Bipartite art**
#### 1. art
This function return 1-line art as `str` in normal mode and raise `artError` in exception.
```pycon
>>> from art import *
>>> art_1=art("coffee") # return art as str in normal mode
>>> print(art_1)
c[_]
>>> art_2=art("woman",number=2) # return multiple art as str
>>> print(art_2)
▓⚗_⚗▓ ▓⚗_⚗▓
>>> art("coffee", number=3, space=5)
'c[_] c[_] c[_]'
>>> art("random") # random 1-line art mode
'(っ◕‿◕)っ '
>>> art("rand") # random 1-line art mode
't(-_-t) '
>>> art(22,number=1) # raise artError
Traceback (most recent call last):
...
art.art.artError: The 'artname' type must be str.
```
#### 2. aprint
This function print 1-line art in normal mode (return None) and raise `artError` in exception.
```pycon
>>> aprint("butterfly") # print art
Ƹ̵̡Ӝ̵̨̄Ʒ
>>> aprint("happy") # print art
ۜ\(סּںסּَ` )/ۜ
>>> aprint("coffee", number=3, space=5)
c[_] c[_] c[_]
>>> aprint("random") # random 1-line art mode
'(っ◕‿◕)っ '
>>> aprint("rand") # random 1-line art mode
't(-_-t) '
>>> aprint("woman",number="22") # raise artError
Traceback (most recent call last):
...
art.art.artError: The 'number' type must be int.
```
#### 3. randart
`randart` function is added in `Version 2.2` as `art("random")` shortcut.
```pycon
>>> randart()
'ዞᏜ℘℘Ꮍ ℬℹℛʈዞᗬᏜᎽ '
>>> randart()
'✌(◕‿-)✌ '
```
* Note1 : Use `ART_NAMES` to access all arts name list (new in `Version 4.2`)
* Note2 : Use `NON_ASCII_ARTS` to access all Non-ASCII arts name list (new in `Version 4.6`)
* Note3 : Use `ASCII_ARTS` to access all ASCII arts name list (new in `Version 5.7`)
### ASCII text
⚠️ Some fonts don't support all characters
⚠️ From `Version 3.3` Non-ASCII fonts added (These fonts are not compatible with some environments)
⚠️ From `Version 5.3` `\n` is used as the default line separator instead of `\r\n` (Use `sep` parameter if needed)
#### 1. text2art
This function return ASCII text as `str` in normal mode and raise `artError` in exception.
```pycon
>>> Art=text2art("art") # Return ASCII text (default font) and default chr_ignore=True
>>> print(Art)
_
__ _ _ __ | |_
/ _` || '__|| __|
| (_| || | | |_
\__,_||_| \__|
>>> Art=text2art("art",font='block',chr_ignore=True) # Return ASCII text with block font
>>> print(Art)
.----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. |
| | __ | || | _______ | || | _________ | |
| | / \ | || | |_ __ \ | || | | _ _ | | |
| | / /\ \ | || | | |__) | | || | |_/ | | \_| | |
| | / ____ \ | || | | __ / | || | | | | |
| | _/ / \ \_ | || | _| | \ \_ | || | _| |_ | |
| ||____| |____|| || | |____| |___| | || | |_____| | |
| | | || | | || | | |
| '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------'
>>> Art=text2art("test","random") # random font mode
>>> print(Art)
| |
~|~/~/(~~|~
| \/__) |
>>> Art=text2art("test","rand") # random font mode
>>> print(Art)
___ ____ ____ ___
| |___ [__ |
| |___ ___] |
>>> print(text2art("test", space=10))
_ _
| |_ ___ ___ | |_
| __| / _ \ / __| | __|
| |_ | __/ \__ \ | |_
\__| \___| |___/ \__|
>>> print(text2art('''Lorem
ipsum
dolor''', font="small")) # Multi-line print
_
| | ___ _ _ ___ _ __
| |__ / _ \| '_|/ -_)| ' \
|____|\___/|_| \___||_|_|_|
_
(_) _ __ ___ _ _ _ __
| || '_ \(_-<| || || ' \
|_|| .__//__/ \_,_||_|_|_|
|_|
_ _
__| | ___ | | ___ _ _
/ _` |/ _ \| |/ _ \| '_|
\__,_|\___/|_|\___/|_|
>>> print(text2art("test","white_bubble")) # Non-ASCII font example
ⓣⓔⓢⓣ
>>> text2art("art",font="fancy5",decoration="barcode1") # decoration parameter is added in Version 4.6
'▌│█║▌║▌║ ᏗᏒᏖ ║▌║▌║█│▌'
>>> text2art("seسسس",font=DEFAULT_FONT,chr_ignore=False) # raise artError in exception
Traceback (most recent call last):
...
art.art.artError: س is invalid.
```
#### 2. tprint
This function print ASCII text in normal mode (return None) and raise `artError` in exception.
```pycon
>>> tprint("art") # print ASCII text (default font)
_
__ _ _ __ | |_
/ _` || '__|| __|
| (_| || | | |_
\__,_||_| \__|
>>> tprint("art",font="block",chr_ignore=True) # print ASCII text (block font)
.----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. |
| | __ | || | _______ | || | _________ | |
| | / \ | || | |_ __ \ | || | | _ _ | | |
| | / /\ \ | || | | |__) | | || | |_/ | | \_| | |
| | / ____ \ | || | | __ / | || | | | | |
| | _/ / \ \_ | || | _| | \ \_ | || | _| |_ | |
| ||____| |____|| || | |____| |___| | || | |_____| | |
| | | || | | || | | |
| '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------'
>>> tprint('testسس') # chr_ignore flag ==True (Default)
_ _
| |_ ___ ___ | |_
| __| / _ \/ __|| __|
| |_ | __/\__ \| |_
\__| \___||___/ \__|
>>> tprint("test","random") # random font mode
| |
~|~/~/(~~|~
| \/__) |
>>> tprint("test","rand") # random font mode
___ ____ ____ ___
| |___ [__ |
| |___ ___] |
>>> tprint("test", space=10)
_ _
| |_ ___ ___ | |_
| __| / _ \ / __| | __|
| |_ | __/ \__ \ | |_
\__| \___| |___/ \__|
>>> tprint('testسس',chr_ignore=False) # raise artError in exception
Traceback (most recent call last):
...
art.art.artError: س is invalid.
>>> tprint('''Lorem
ipsum
dolor''', font="cybermedium") # Multi-line print
_ ____ ____ ____ _ _
| | | |__/ |___ |\/|
|___ |__| | \ |___ | |
_ ___ ____ _ _ _ _
| |__] [__ | | |\/|
| | ___] |__| | |
___ ____ _ ____ ____
| \ | | | | | |__/
|__/ |__| |___ |__| | \
>>> tprint("art",font="fancy5",decoration="barcode1") # decoration parameter is added in Version 4.6
▌│█║▌║▌║ ᏗᏒᏖ ║▌║▌║█│▌
>>> tprint("art",font="fancy5",decoration="random") # decoration random mode is added in Version 5.0
•]•·✦º✦·»ᏗᏒᏖ«·✦º✦·•[•
```
#### 3. tsave
This function return `dict` in normal and exception mode.
```pycon
>>> Response=tsave("art",filename="test.txt") # save ASCII text in test.txt file with save message (print_status==True), return dict
Saved!
Filename: test.txt
>>> Response["Message"]
'OK'
>>> Response=tsave("art",filename="test.txt",print_status=False) # save ASCII text in test.txt file without save message (print_status==False)
>>> Response["Message"]
'OK'
>>> Response["Status"]
True
>>> tsave(22,font=DEFAULT_FONT,filename="art",chr_ignore=True,print_status=True)
{'Status': False, 'Message': "'int' object has no attribute 'split'"}
>>> Response=tsave("art",filename="test.txt",overwrite=True) # overwrite parameter is added in Version 4.0
Saved!
Filename: test.txt
>>> Response=tsave("art",filename="test.txt",decoration="barcode1") # decoration parameter is added in Version 4.6
Saved!
Filename: test.txt
>>> Response=tsave("art",filename="test.txt",sep="\r\n") # sep parameter is added in Version 5.3
Saved!
Filename: test.txt
>>> Response=tsave("art",filename="test.txt",space=5) # space parameter is added in Version 6.0
Saved!
Filename: test.txt
```
* Note1 : Use `FONT_NAMES` to access all fonts name list (new in `Version 4.2`)
* Note2 : Use `NON_ASCII_FONTS` to access all Non-ASCII fonts name list (new in `Version 4.4`)
* Note3 : Use `ASCII_FONTS` to access all ASCII fonts name list (new in `Version 5.7`)
### Decoration
⚠️ Some environments don't support all decorations
#### 1. decor
This function return decoration as `str` in normal mode and raise `artError` in exception.
```pycon
>>> decor("barcode1")
'▌│█║▌║▌║ '
>>> decor("barcode1",reverse=True)
' ║▌║▌║█│▌'
>>> decor("barcode1") + text2art(" art ",font="fancy42") + decor("barcode1",reverse=True)
'▌│█║▌║▌║ ąяţ ║▌║▌║█│▌'
>>> decor("barcode1",both=True) # both parameter is added in Version 5.0
['▌│█║▌║▌║ ', ' ║▌║▌║█│▌']
>>> decor("random",both=True) # random mode is added in Version 5.0
['「(◔ω◔「)三', '三三三ʅ(;◔౪◔)ʃ']
>>> decor("rand",both=True) # random mode is added in Version 5.0
['‹–…·´`·…–›', '‹–…·´`·…–›']
>>> decor(None)
Traceback (most recent call last):
...
art.art.artError: The 'decoration' type must be str.
```
* Note : Use `DECORATION_NAMES` to access all decorations name list (new in `Version 4.6`)
### Font modes
These modes are available for `text2art`, `tprint` & `tsave`.
#### 1. Font name
⚠️ Some fonts don't support all characters
```pycon
>>> tprint("art",font="block",chr_ignore=True)
.----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. |
| | __ | || | _______ | || | _________ | |
| | / \ | || | |_ __ \ | || | | _ _ | | |
| | / /\ \ | || | | |__) | | || | |_/ | | \_| | |
| | / ____ \ | || | | __ / | || | | | | |
| | _/ / \ \_ | || | _| | \ \_ | || | _| |_ | |
| ||____| |____|| || | |____| |___| | || | |_____| | |
| | | || | | || | | |
| '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------'
>>> tprint("art","white_bubble")
ⓐⓡⓣ
```
#### 2. Random
Randomly select from all fonts.
Keywords : `random`, `rand` & `rnd`
```pycon
>>> tprint("test",font="random")
| |
~|~/~/(~~|~
| \/__) |
```
#### 3. Random small
Randomly select from small fonts.
Keywords : `rnd-small`, `random-small` & `rand-small`
* Note : New in `Version 2.8`
```pycon
>>> tprint("test",font="rnd-small")
_/ _ _ _/
/ (- _) /
```
#### 4. Random medium
Randomly select from medium fonts.
Keywords : `rnd-medium`, `random-medium` & `rand-medium`
* Note : New in `Version 2.8`
```pycon
>>> tprint("test",font="rnd-medium")
, ,
|| ||
=||= _-_ _-_, =||=
|| || \\ ||_. ||
|| ||/ ~ || ||
\\, \\,/ ,-_- \\,
```
#### 5. Random large
Randomly select from large fonts.
Keywords : `rnd-large`, `random-large` & `rand-large`
* Note : New in `Version 2.8`
```pycon
>>> tprint("test",font="rnd-large")
8888888 8888888888 8 8888888888 d888888o. 8888888 8888888888
8 8888 8 8888 .`8888:' `88. 8 8888
8 8888 8 8888 8.`8888. Y8 8 8888
8 8888 8 8888 `8.`8888. 8 8888
8 8888 8 888888888888 `8.`8888. 8 8888
8 8888 8 8888 `8.`8888. 8 8888
8 8888 8 8888 `8.`8888. 8 8888
8 8888 8 8888 8b `8.`8888. 8 8888
8 8888 8 8888 `8b. ;8.`8888 8 8888
8 8888 8 888888888888 `Y8888P ,88P' 8 8888
```
#### 6. Random xlarge
Randomly select from xlarge fonts.
Keywords : `rnd-xlarge`, `random-xlarge` & `rand-xlarge`
* Note : New in `Version 2.8`
```pycon
>>> tprint("test","rnd-xlarge")
_____ _____ _____ _____
/\ \ /\ \ /\ \ /\ \
/::\ \ /::\ \ /::\ \ /::\ \
\:::\ \ /::::\ \ /::::\ \ \:::\ \
\:::\ \ /::::::\ \ /::::::\ \ \:::\ \
\:::\ \ /:::/\:::\ \ /:::/\:::\ \ \:::\ \
\:::\ \ /:::/__\:::\ \ /:::/__\:::\ \ \:::\ \
/::::\ \ /::::\ \:::\ \ \:::\ \:::\ \ /::::\ \
/::::::\ \ /::::::\ \:::\ \ ___\:::\ \:::\ \ /::::::\ \
/:::/\:::\ \ /:::/\:::\ \:::\ \ /\ \:::\ \:::\ \ /:::/\:::\ \
/:::/ \:::\____\/:::/__\:::\ \:::\____\/::\ \:::\ \:::\____\ /:::/ \:::\____\
/:::/ \::/ /\:::\ \:::\ \::/ /\:::\ \:::\ \::/ / /:::/ \::/ /
/:::/ / \/____/ \:::\ \:::\ \/____/ \:::\ \:::\ \/____/ /:::/ / \/____/
/:::/ / \:::\ \:::\ \ \:::\ \:::\ \ /:::/ /
/:::/ / \:::\ \:::\____\ \:::\ \:::\____\ /:::/ /
\::/ / \:::\ \::/ / \:::\ /:::/ / \::/ /
\/____/ \:::\ \/____/ \:::\/:::/ / \/____/
\:::\ \ \::::::/ /
\:::\____\ \::::/ /
\::/ / \::/ /
\/____/ \/____/
```
#### 7. Wizard
This mode consider length of input text to select font
☑️ Support of 95 ASCII characters guaranteed
Keywords : `wizard`, `wiz` & `magic`
* Note : New in `Version 2.9`
```pycon
>>> tprint("1","wizard")
88
,d88
888888
88
88
88
88
88
88
88
>>> tprint("1"*5,"wizard")
d88 d88 d88 d88 d88
88 88 88 88 88
88 88 88 88 88
88 88 88 88 88
88 88 88 88 88
d88P d88P d88P d88P d88P
>>> tprint("1"*15,"wizard")
# # # # # # # # # # # # # # #
## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
# # # # # # # # # # # # # # #
# # # # # # # # # # # # # # #
# # # # # # # # # # # # # # #
## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
```
#### 8. Random Non-ASCII
Randomly select from Non-ASCII fonts.
Keywords : `random-na`, `rand-na` & `rnd-na`
* Note : New in `Version 3.4`
```pycon
>>> tprint("test","random-na")
₮Ɇ₴₮
>>> tprint("test","random-na")
ʇsǝʇ
```
#### 9. Mix Non-ASCII
Randomly mix Non-ASCII fonts.
Keywords : `mix`
* Note : New in `Version 3.7`
```pycon
>>> tprint("test","mix")
†Ɛѕ†
>>> tprint("test","mix")
tᏋѕt
>>> tprint("test","mix")
꓄єร꓄
```
⚠️ Non-ASCII fonts are only available in `Font name`, `Random Non-ASCII` and `Mix` modes
### Typo-tolerance
<a href="https://en.wikipedia.org/wiki/Levenshtein_distance">Levenshtein distance</a> used in this project. (`Version` >0.9)
```pycon
>>> aprint("happi") # correct --> aprint("happy"), error < |artname|/2
ۜ\(סּںסּَ` )/ۜ
>>> Art=art("birds2222222",number=1) # correct --> Art=art("birds",number=1), error >= |artname|/2
Traceback (most recent call last):
...
art.art.artError: Invalid art name.
>>> aprint("happi231") # correct --> aprint("happy"), error < |artname|/2
⎦˚◡˚⎣
>>> aprint("happi2312344") # correct --> aprint("happy"), error >= |artname|/2
Traceback (most recent call last):
...
art.art.artError: Invalid art name.
>>> Art=text2art("test",font="black") # correct --> Art=text2art("test",font="block")
>>> print(Art)
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | _________ | || | _________ | || | _______ | || | _________ | |
| | | _ _ | | || | |_ ___ | | || | / ___ | | || | | _ _ | | |
| | |_/ | | \_| | || | | |_ \_| | || | | (__ \_| | || | |_/ | | \_| | |
| | | | | || | | _| _ | || | '.___`-. | || | | | | |
| | _| |_ | || | _| |___/ | | || | |`\____) | | || | _| |_ | |
| | |_____| | || | |_________| | || | |_______.' | || | |_____| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
>>> tprint("test",font="cybermedum") # correct --> tprint("test",font="cybermedium")
___ ____ ____ ___
| |___ [__ |
| |___ ___] |
```
### Set defaults
`set_default` function is added in `Version 2.2` in order to change default values.
```pycon
>>> help(set_default)
Help on function set_default in module art.art:
set_default(font='standard', chr_ignore=True, filename='art', print_status=True, overwrite=False, decoration=None, sep='\n')
Change text2art, tprint and tsave default values.
:param font: input font
:type font:str
:param chr_ignore: ignore not supported character
:type chr_ignore:bool
:param filename: output file name (only tsave)
:type filename:str
:param print_status : save message print flag (only tsave)
:type print_status:bool
:param overwrite : overwrite the saved file if true (only tsave)
:type overwrite:bool
:param decoration: input decoration
:type decoration:str
:param sep: line separator char
:type sep: str
:return: None
>>> tprint("test")
_ _
| |_ ___ ___ | |_
| __| / _ \/ __|| __|
| |_ | __/\__ \| |_
\__| \___||___/ \__|
>>> set_default(font="italic")
>>> tprint("test")
_/ _ _ _/
/ (- _) /
```
* Note : Functions error response updated in `Version 0.8`
<table>
<tr>
<td align="center">Function</td>
<td align="center">Normal Output</td>
<td align="center">Error</td>
</tr>
<tr>
<td align="center">decor</td>
<td align="center">str</td>
<td align="center">raise artError</td>
</tr>
<tr>
<td align="center">art</td>
<td align="center">str</td>
<td align="center">raise artError</td>
</tr>
<tr>
<td align="center">aprint</td>
<td align="center">None</td>
<td align="center">raise artError</td>
</tr>
<tr>
<td align="center">tprint</td>
<td align="center">None</td>
<td align="center">raise artError</td>
</tr>
<tr>
<td align="center">tsave</td>
<td align="center">{"Status":bool,"Message":str}</td>
<td align="center">{"Status":bool,"Message":str}</td>
</tr>
<tr>
<td align="center">text2art</td>
<td align="center">str</td>
<td align="center">raise artError</td>
</tr>
<tr>
<td align="center">set_default</td>
<td align="center">None</td>
<td align="center">raise artError</td>
</tr>
</table>
### Testing
- Only ASCII fonts and arts :
```
art test
```
- All fonts, arts and decorations :
```
art test2
```
### CLI
⚠️ [Backward Compatibility] **ART 5.9** is the last version to support this **CLI structure** officially
⚠️ You can use `art` or `python -m art` to run this mode
- List of arts : `art list` or `art arts`
- List of fonts : `art fonts`
- Text : `art text [yourtext] [fontname(optional)]`
- Art : `art shape [artname]` or `art art [artname]`
- Save : `art save [yourtext] [fontname(optional)]`
- All : `art all [yourtext]`
### Telegram bot
Just send your text to one of these bots. 👇👇👇👇
<a href="https://t.me/artlib_bot" target="__blank"><img src="https://img.shields.io/badge/Telegram-Bot1-red.svg"></a>
<a href="https://t.me/textart_robot" target="__blank"><img src="https://img.shields.io/badge/Telegram-Bot2-blue.svg"></a>
### Try ART in your browser
1. ART can be used online in interactive Jupyter Notebooks via the Binder service! Try it out now! :
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/sepandhaghighi/art/master)
* Open `FontList.ipynb`, `ArtList.ipynb` and `DecorList.ipynb`
* Edit and execute each part of the notes, step by step from the top panel by run button
2. ART also can be used online in [ascii-generator.site](https://ascii-generator.site/), a Django website by [hermanTenuki](https://github.com/hermanTenuki)
### Screen record
<div align="center">
<a href="https://asciinema.org/a/186368" target="_blank"><img src="https://asciinema.org/a/186368.png" /></a>
<p>Screen Record</p>
</div>
* View full font list ([Link1](https://github.com/sepandhaghighi/art/blob/master/FontList.ipynb "Full Font List"),[Link2](https://www.ascii-art.site/FontList.html "Full Font List"))
* View full art list ([Link1](https://github.com/sepandhaghighi/art/blob/master/ArtList.ipynb "Full Art List"),[Link2](https://www.ascii-art.site/ArtList.html "Full Art List"))
* View full decoration list ([Link1](https://github.com/sepandhaghighi/art/blob/master/DecorList.ipynb "Full Decoration List"),[Link2](https://www.ascii-art.site/DecorList.html "Full Decoration List"))
## Issues & bug reports
1. Fill an issue and describe it. We'll check it ASAP!
- Please complete the issue template
2. Discord : [https://discord.com/invite/FAAyq3QJqP](https://discord.com/invite/FAAyq3QJqP)
3. Website : [https://www.ascii-art.site](https://www.ascii-art.site)
4. Email : [info@ascii-art.site](mailto:info@ascii-art.site "info@ascii-art.site")
## References
1. [FIGlet](http://www.figlet.org/)
2. [1 Line Art](http://1lineart.kulaone.com/#/)
3. [Text to ASCII](http://patorjk.com/software/taag/#p=display&f=Blocks&t=ART)
4. [ASCII Generator](http://www.network-science.de/ascii/)
5. [Asky](https://asky.io/)
6. [Flipyourtext](https://www.flipyourtext.com/)
7. [YayText](https://yaytext.com)
8. [Coolletters](http://www.coolletters.net/)
9. [Instagram Fonts](https://igfonts.io/)
10. [Cool Symbol](https://coolsymbol.com/)
11. [ASCII Moji](http://asciimoji.com/)
12. [SMILEY COOL](https://smiley.cool/)
13. [SPREZZ](https://www.sprezzkeyboard.com/)
14. [Textart4u](http://textart4u.blogspot.com/2013/03/one-line-ascii-text-art.html?m=1)
15. [Chat4o](https://en.chat4o.com/ascii/)
16. [Findwebapp](http://www.findwebapp.com/ascii-art-one-liner/)
17. [Hubpages](https://hubpages.com/technology/one-line-ascii-art-for-twitter)
18. [ASCII-ART](http://www.ascii-art.de/ascii/mno/one_line.txt)
19. [Messletters](https://www.messletters.com/en/)
20. [Webestools](http://www.webestools.com/)
21. [ASCII-emoji](https://github.com/dysfunc/ascii-emoji)
22. [Instagram Fonts2](https://www.instagramfonts.com/)
23. [Emotiworld](http://en.emotiworld.com/)
24. [Fancy Text Pro](https://www.fancytextpro.com/)
25. [Playing Cards in Unicode](https://en.m.wikipedia.org/wiki/Playing_cards_in_Unicode)
26. [Text Generator](https://coolfonts.text-generator.org/)
27. [GOGOTEXT](https://instafontsgen.codesdetail.com)
28. [Fsymbols](https://fsymbols.com/)
29. [Font Copy and Paste](https://www.fontcopypaste.com/)
30. [Mega Cool Text](http://megacooltext.com/)
31. [ToolCalculator](https://www.toolcalculator.com/)
32. [Copy Paste Fonts](https://copy-paste-fonts.top/)
* Logo designed by [Arta Khanalizadeh](https://www.linkedin.com/in/artakhanalizadeh)
## Show your support
<h3>Star this repo</h3>
Give a ⭐️ if this project helped you!
<h3>Donate to our project</h3>
If you do like our project and we hope that you do, can you please support us? Our project is not and is never going to be working for profit. We need the money just so we can continue doing what we do ;-) .
<a href="https://www.ascii-art.site/#support" target="_blank"><img src="https://github.com/sepandhaghighi/art/raw/master/otherfile/donate-button.png" height="90px" width="270px" alt="Art Donation"></a>
<h3>Become a sponsor to ART</h3>
* Contact us at the email first
<h4>Corporate sponsor</h4>
- **$250** a month
- Your company's logo can be featured on **Readme**
- Intended for small companies
<h4>Mega corporate sponsor</h4>
- **$500** a month
- Your company's logo can be featured on **Readme** and **Website**
- Intended for medium-sized companies
## Acknowledgments
Some parts of the infrastructure for this project are supported by:
<p>
<a href="https://www.digitalocean.com/">
<img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" width="201px" alt="DigitalOcean">
</a>
</p>
[Python Software Foundation (PSF)](https://www.python.org/psf/) grants ART library from version **6.3** to **6.6**. [PSF](https://www.python.org/psf/) is the organization behind Python. Their mission is to promote, protect, and advance the Python programming language and to support and facilitate the growth of a diverse and international community of Python programmers.
<a href="https://www.python.org/psf/"><img src="https://github.com/sepandhaghighi/art/raw/master/otherfile/PSF.png" height="55px" alt="Python Software Foundation"></a>
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [6.3] - 2024-09-19
### Added
- `data` directory
- `tests` directory
- 10 new font
1. lolie
2. zakia
3. batman
4. lord_of_the_ring
5. kesia
6. akila
7. laurine
8. bianca
9. callian
10. awa
### Changed
- `art_param` module changed to `params`
- `art` module split into `errors`, `utils`, and `functions` modules
- `text_dic1`, `text_dic2`, and `text_dic3` renamed to `fonts1`, `fonts2`, and `fonts3`
- `art_dic` renamed to `arts`
- `decor_dic` renamed to `decorations`
- Fonts, arts, and decorations moved to `data` directory
- Tests moved to `tests` directory
- `Python 3.5` support dropped
- Test system modified
- `CONTRIBUTING.md` updated
- `README.md` modified
## [6.2] - 2024-04-22
### Added
- 5 new font
1. alissa
2. milka
3. ozana
4. shanna
5. livia
- `decoration_request.yml` template
- `font_request.yml` template
- `one_line_request.yml` template
- `feature_request.yml` template
- `config.yml` for issue template
- `SECURITY.md`
### Changed
- Bug report template modified
- Test system modified
- `README.md` modified
- [DigitalOcean](https://digitalocean.com/) logo added to `README.md`
- `Python 3.12` added to `test.yml`
## [6.1] - 2023-09-20
### Changed
- `font_size_splitter` function modified
- `__detailed_return` parameter added to `art` function
- `__detailed_return` parameter added to `text2art` function
- Random mode name bug fixed
- `__word2art` function modified
- `art` function tail space bug fixed
- `space` parameter bug fixed
- `space` parameter added to `art` function
- `space` parameter added to `aprint` function
- `font_check.py` modified
- `README.md` modified
- `INSTALL.md` modified
## [6.0] - 2023-06-14
### Added
- 6 new font
1. vaporwave
2. squiggle1
3. squiggle2
4. crazy2
5. crazy3
6. emoji
### Changed
- `font_wizard.py` modified
- Drop Python 2.7 and 3.4 support
- `space` parameter added to `tsave` function
- `space` parameter added to `tprint` function
- `space` parameter added to `text2art` function
- `crazy` font renamed to `crazy1`
- Test system modified
- `codecov` removed from `dev-requirements.txt`
- `README.md` modified
- `INSTALL.md` modified
## [5.9] - 2023-03-16
### Added
- 6 new font
1. small_fancy
2. boom
3. cross_jesus
4. dark_tattoo
5. lucifer
6. ascii_roman
### Changed
- Test system modified
- `README.md` modified
- `help_func` function modified
- CLI mode updated
## [5.8] - 2022-11-23
### Added
- 8 new font
1. russian2
2. got
3. vip
4. crazy
5. cruse
6. drippy
7. stylish
8. ayda
### Changed
- Test system modified
- `Python 3.11` added to `test.yml`
- `Conda-Forge` installing section added to `INSTALL.md`
- Website changed to https://www.ascii-art.site
### Removed
- `testcov` and `testcov2` modes
## [5.7] - 2022-07-06
### Added
- 5 new font
1. fancy144
2. fancy145
3. fancy146
4. fancy147
5. fancy148
- `ASCII_FONTS` list
- `ASCII_ARTS` list
## [5.6] - 2022-04-20
### Added
- 7 new font
1. fancy141
2. fancy142
3. fancy143
4. tarty6
5. tarty7
6. tarty8
7. tarty9
### Changed
- Test system modified
## [5.5] - 2022-03-02
### Added
- 5 new font
1. tarty4
2. tarty5
3. fancy138
4. fancy139
5. fancy140
- Anaconda workflow
### Changed
- `__word2art` function modified
- `font_wizard.py` modified
## [5.4] - 2021-12-22
### Added
- 10 new font
1. fancy131
2. fancy132
3. fancy133
4. fancy134
5. fancy135
6. fancy136
7. fancy137
8. tarty1
9. tarty2
10. tarty3
- Discord badge
### Changed
- Some fonts width bug fixed
- `test.py` modified
- `font_wizard.py` modified
- `font_check.py` modified
- `art_decor_check.py` modified
- `__word2art` function modified
- `mix_letters` function modified
- `AUTHORS.md` updated
- License updated
- `README.md` modified
- `CONTRIBUTING.md` modified
- `Python 3.10` added to `test.yml`
### Removed
- `greetings.yml`
## [5.3] - 2021-08-30
### Added
- 10 new font
1. smooth3
2. flaky
3. tiny_caps
4. high_above
5. handwriting3
6. fantasy2
7. manga
8. upside_down2
9. cool
10. instagram
### Changed
- `fantasy` font renamed to `fantasy1`
- `upside_down` font renamed to `upside_down1`
- `sep` parameter added to `text2art`, `tprint`, `tsave` and `set_default` functions
- Default line separator changed from `\r\n` to `\n`
- `__word2art` function modified
- Escaped `\ ` in string literals
## [5.2] - 2021-05-05
### Added
- 10 new 1-line-art
1. playing cards waterfall
2. playing cards waterfall (trump)
3. playing cards hearts waterfall
4. playing cards diamonds waterfall
5. playing cards clubs waterfall
6. playing cards spades waterfall
7. joker1
8. joker2
9. joker3
10. joker4
- 23 new decorations
1. fancy87
2. fancy88
3. fancy89
4. fancy90
5. fancy91
6. fancy92
7. fancy93
8. fancy94
9. fancy95
10. heart10
11. heart11
12. heart12
13. heart13
14. heart14
15. heart15
16. star18
17. star19
18. star20
19. star21
20. star22
21. star23
22. star24
23. star25
- 5 new fonts
1. old_italic
2. ninja
3. tai_viet
4. subscript2
5. fancy130
### Changed
- Test system modified
- `subscript` font renamed to `subscript1`
- Logo changed
## [5.1] - 2020-11-30
### Added
- 15 new fonts
1. fancy120
2. fancy121
3. fancy122
4. fancy123
5. fancy124
6. fancy125
7. fancy126
8. fancy127
9. fancy128
10. fancy129
11. bud1
12. bud2
13. pin1
14. pin2
15. sign
- 45 new art
1. surprised4
2. surprised5
3. surprised6
4. surprised7
5. surprised8
6. surprised9
7. surprised10
8. surprised11
9. surprised12
10. surprised13
11. surprised14
12. surprised15
13. surprised16
14. surprised17
15. surprised18
16. surprised19
17. surprised20
18. confused3
19. confused4
20. confused5
21. confused6
22. confused7
23. confused8
24. confused9
25. confused10
26. table flip2
27. table flip3
28. table flip4
29. table flip5
30. table flip6
31. table flip7
32. table flip8
33. table flip9
34. table flip10
35. bear2
36. spider4
37. cat4
38. swim
39. swim2
40. swim3
41. yawning
42. boobs2
43. airplane3
44. gun4
45. cthulhu2
## [5.0] - 2020-11-16
### Added
- 5 new fonts
1. shasha
2. fancy116
3. fancy117
4. fancy118
5. fancy119
- 60 new art
1. hello2
2. dunno2
3. dunno3
4. dunno4
5. dunno5
6. happy6
7. happy7
8. happy8
9. happy9
10. happy10
11. happy11
12. happy12
13. happy13
14. happy14
15. happy15
16. happy16
17. happy17
18. happy18
19. happy19
20. happy20
21. happy21
22. happy22
23. happy23
24. happy24
25. happy25
26. happy26
27. happy27
28. love4
29. kiss2
30. kiss3
31. kissing2
32. kissing3
33. kissing4
34. kissing5
35. kissing6
36. cute face2
37. cute face3
38. cute face4
39. cute face5
40. cute face6
41. cute face7
42. cute face8
43. cute face9
44. upset
45. pistols4
46. pistols5
47. mad
48. mad2
49. mad3
50. mad4
51. mad5
52. mad6
53. mad7
54. mad8
55. mad9
56. mad10
57. finger3
58. finger4
59. sad5
60. sad6
### Changed
- `random` mode added to `decor` function
- `both` parameter added to `decor` function
- `art` function modified
- `indirect_font` function modified
## [4.9] - 2020-10-16
### Added
- 10 new fonts
1. foxy
2. fancy109
3. fancy110
4. fancy111
5. fancy112
6. fancy113
7. fancy114
8. fancy115
9. sheqi
10. fari
### Changed
- `font_wizard.py` script updated
- `README.md` modified
## [4.8] - 2020-09-16
### Added
- 96 new art
1. angry birds
2. angry face2
3. angry troll
4. at what cost
5. barf
6. basking in glory
7. bear GTFO
8. bear squiting
9. boxing
10. breakdown
11. careless
12. chasing
13. cheers
14. chicken
15. confused scratch
16. crazy
17. creeper
18. cry face
19. cry troll
20. cute face
21. dance2
22. dancing
23. dear god why
24. devious smile
25. disagree
26. discombobulated
27. dislike1
28. dislike2
29. do you even lift bro?
30. double flip
31. emo dance
32. excited
33. exorcism
34. eye roll
35. feel perky
36. fido
37. fight
38. fisticuffs
39. flip friend
40. fly away
41. flying
42. fuck you2
43. happy face
44. happy hug
45. hitchhicking
46. hugger
47. im a hugger
48. injured
49. innocent face
50. japanese lion face
51. judgemental
52. judging
53. kissing
54. kitty emote
55. listening to headphones
56. looking down
57. love3
58. meow
59. no support
60. opera
61. peepers
62. pretty eyes
63. put the table back
64. resting my eyes
65. robot3
66. running
67. sad and confused
68. sad and crying
69. sad face
70. satisfied
71. seal
72. shark face
73. shy
74. sleepy
75. staring
76. stranger danger
77. strut
78. stunna shades
79. surprised2
80. taking a dump
81. tgif
82. things that can_t be unseen
83. tidy up
84. tired
85. touchy feely
86. tripping out
87. trolling
88. wave dance
89. whisling
90. winnie the pooh
91. winning
92. wizard2
93. worried
94. yun
95. zombie2
96. zoned
### Changed
- `surprised2` 1-line art renamed to `surprised3`
- `art_decor_check.py` script updated
- `font_check.py` script updated
- `font_wizard.py` script updated
## [4.7] - 2020-05-20
### Added
- `art_decor_check.py` file
- Greeting GitHub actions
- 185 new decorations
1. angry1
2. arrow1
3. arrow2
4. arrow3
5. arrow4
6. arrow5
7. arrow6
8. arrow7
9. arrow8
10. arrow_wave1
11. arrow_wave2
12. ball1
13. ball2
14. ball3
15. bazar1
16. block1
17. block2
18. bow1
19. bubble
20. cat1
21. cat2
22. cat3
23. cell1
24. confused1
25. confused2
26. cross1
27. depressed
28. diamon3
29. diamond1
30. diamond2
31. egypt1
32. emotions1
33. fancy1
34. fancy2
35. fancy3
36. fancy4
37. fancy5
38. fancy6
39. fancy7
40. fancy8
41. fancy9
42. fancy10
43. fancy11
44. fancy12
45. fancy13
46. fancy14
47. fancy15
48. fancy16
49. fancy17
50. fancy18
51. fancy19
52. fancy20
53. fancy21
54. fancy22
55. fancy23
56. fancy24
57. fancy25
58. fancy26
59. fancy27
60. fancy28
61. fancy29
62. fancy30
63. fancy31
64. fancy32
65. fancy33
66. fancy34
67. fancy35
68. fancy36
69. fancy37
70. fancy38
71. fancy39
72. fancy40
73. fancy41
74. fancy42
75. fancy43
76. fancy44
77. fancy45
78. fancy46
79. fancy47
80. fancy48
81. fancy49
82. fancy50
83. fancy51
84. fancy52
85. fancy53
86. fancy54
87. fancy55
88. fancy56
89. fancy57
90. fancy58
91. fancy59
92. fancy60
93. fancy61
94. fancy62
95. fancy63
96. fancy64
97. fancy65
98. fancy66
99. fancy67
100. fancy68
101. fancy69
102. fancy70
103. fancy71
104. fancy72
105. fancy73
106. fancy74
107. fancy75
108. fancy76
109. fancy77
110. fancy78
111. fancy79
112. fancy80
113. fancy81
114. fancy82
115. fancy83
116. fancy84
117. fancy85
118. fancy86
119. flame1
120. flower1
121. food1
122. food2
123. haha
124. happy1
125. happy_new_year
126. hawaii1
127. hawaii2
128. heart1
129. heart2
130. heart3
131. heart4
132. heart5
133. heart6
134. heart7
135. heart8
136. heart9
137. line1
138. line2
139. line3
140. line4
141. love_music
142. missile1
143. mountain1
144. mountain2
145. mountain3
146. music1
147. music2
148. music3
149. pencil1
150. poker1
151. puzzle1
152. puzzle2
153. puzzle3
154. sad2
155. sad3
156. sad4
157. smile1
158. snow1
159. snow2
160. star3
161. star4
162. star5
163. star6
164. star7
165. star8
166. star9
167. star10
168. star11
169. star12
170. star13
171. star14
172. star15
173. star16
174. star17
175. temple1
176. title1
177. tree1
178. wall1
179. wave3
180. wave4
181. wave5
182. wave6
183. wave7
184. wave8
185. wave9
### Changed
- `text` parameter removed from `art` and `aprint` functions
- `README.md` modified
- `CONTRIBUTING.md` modified
- MATLAB examples updated
- `kitty2` 1-line art renamed to `kitty`
### Removed
- 5 bipartite 1-line art
1. love you
2. message1
3. message2
4. musical
5. text decoration
- 12 duplicate 1-line art
1. dog
2. human
3. mis mujeres
4. 100$
5. worm2
6. stars in my eyes
7. chainsword
8. badass
9. aliens
10. this guy
11. kitty1
12. don fuller
## [4.6] - 2020-03-30
### Added
- `NON_ASCII_ARTS` list
- `decor_dic.py` file
- `codecov.yml` file
- `decor` function
- `decor_list` function
- `DecorList.ipynb` notebook
- 10 new decorations
1. barcode1
2. champion1
3. chess1
4. lucky1
5. sad1
6. soccer1
7. star1
8. star2
9. wave1
10. wave2
- 20 new fonts
1. scammer
2. strikethrough
3. drako
4. celtic
5. fasion
6. curly
7. russian
8. messletters
9. swirly
10. dotted
11. parenthesized
12. strange
13. wiggly
14. hazy
15. hyves
16. awcute
17. slammer
18. coptic1
19. coptic2
20. fancy108
### Changed
- `README.md` modified
- `CONTRIBUTING.md` modified
- MATLAB examples updated
- `setup.py` modified
- `coverage` dependency moved to `extras_require`
- Test system modified
- `random` mode modified
- `test` parameter removed from `font_list` function
- `mode` parameter added to `font_list` and `art_list` functions
- `decoration` parameter added to `text2art`, `tprint` and `tsave` functions
- `\n` support bug fixed
- `tsave` function bug in Windows fixed
### Removed
- `requirements.txt`
## [4.5] - 2020-01-29
### Added
- 35 new fonts
1. smooth1
2. smooth2
3. carrier1
4. carrier2
5. cute1
6. cute2
7. cute3
8. cjk
9. malayalam
10. lilia
11. dwarf
12. awesome
13. lopioo
14. cranky
15. fancy87
16. fancy88
17. fancy89
18. fancy90
19. fancy91
20. fancy92
21. fancy93
22. fancy94
23. fancy95
24. fancy96
25. fancy97
26. fancy98
27. fancy99
28. fancy100
29. fancy101
30. fancy102
31. fancy103
32. fancy104
33. fancy105
34. fancy106
35. fancy107
- 43 new 1-line art
1. fish6
2. loch ness monster
3. mouse5
4. mouse6
5. mouse7
6. sheep
7. pie fight
8. rose5
9. rose6
10. rose7
11. concerned
12. happy4
13. happy5
14. coffee2
15. coffee3
16. coffee4
17. headphone3
18. carpet roll
19. infinity
20. computer mouse
21. volcano1
22. volcano2
23. volcano3
24. squigle with spirals
25. palm tree
26. crotch shot
27. vagina
28. stealth fighter
29. tent1
30. tent2
31. power lines
32. tree stump
33. hammer
34. arrow2
35. sword10
36. fish skeleton2
37. fork
38. pipe
39. dead guy
40. dead girl
41. dead child
42. dude glasses1
43. dude glasses2
### Changed
- `README.md` modified
- `INSTALL.md` modified
- `coffee` 1-line art renamed to `coffee1`
- `arrow` 1-line art renamed to `arrow1`
- `fish skeleton` 1-line art renamed to `fish skeleton1`
## [4.4] - 2019-12-26
### Added
- 68 new 1-line art
1. smile
2. toungue out1
3. toungue out2
4. bad hair1
5. bad hair2
6. woops
7. screaming
8. full mouth
9. cussing
10. ready to cry
11. crying2
12. druling1
13. druling2
14. big kiss
15. french kiss
16. wink
17. big smile
18. smirk
19. confused1
20. confused2
21. pursing lips
22. shocked2
23. really sad
24. baseball fan
25. angel2
26. really mad
27. licking lips
28. buck teeth
29. surprised1
30. alien
31. sunglasses2
32. don king
33. devilish smile
34. devilish grin
35. clowning
36. bugs bunny
37. kitty2
38. fish skeleton
39. snowman2
40. marshmallows
41. nerd
42. mouse4
43. pistols3
44. rock on2
45. love in my eye2
46. love in my eye3
47. sad3
48. sad4
49. headphone2
50. cigarette1
51. spider3
52. barcode2
53. equalizer
54. boombox2
55. surprised2
56. playing cards
57. playing cards hearts
58. playing cards diamonds
59. playing cards spades
60. playing cards clubs
61. spade bold
62. heart bold
63. diamond bold
64. club bold
65. spade regular
66. heart regular
67. diamond regular
68. club regular
- MATLAB examples
### Changed
- Bipartite art deprecated
- `crying` 1-line art renamed to `crying1`
- `shocked` 1-line art renamed to `shocked1`
- `angel` 1-line art renamed to `angel1`
- `sunglasses` 1-line art renamed to `sunglasses1`
- `kitty` 1-line art renamed to `kitty1`
- `snowman` 1-line art renamed to `snowman1`
- `barcode` 1-line art renamed to `barcode1`
- `cigaret` 1-line art renamed to `cigarette3`
- `cigarette` 1-line art renamed to `cigarette2`
- `headphone` 1-line art renamed to `headphone1`
- `rock on` 1-line art renamed to `rock on1`
- `boom box` 1-line art renamed to `boombox1`
- `love in my eye` 1-line art renamed to `love in my eye1`
- `CONTRIBUTING.md` modified
- `TEST_FILTERED_FONTS` renamed to `NON_ASCII_FONTS`
- `RANDOM_FILTERED_FONTS` and `NON_ASCII_FONTS` lists optimized
- `README.md` modified
- `appveyor.yml` modified
- `INSTALL.md` modified
- `wizard` mode modified
## [4.3] - 2019-12-05
### Added
- 35 new 1-line art
1. cup1
2. cup2
3. gun2
4. gun3
5. fish3
6. fish4
7. fish5
8. sword6
9. sword7
10. sword8
11. sword9
12. knife2
13. barcode
14. loading1
15. loading3
16. loading4
17. loading5
18. loading6
19. bat2
20. band aid
21. mouse2
22. mouse3
23. cat3
24. needle2
25. rose4
26. electrocardiogram1
27. electrocardiogram2
28. electrocardiogram3
29. electrocardiogram4
30. snail2
31. american money2
32. american money3
33. american money4
34. american money5
35. cassette2
- 10 new fonts
1. sarah
2. hippie
3. minion
4. greek_legends
5. funky_fresh
6. atlantic
7. foreign_friends
8. native_lands
9. sunday_cuddle
10. chinese_mafia
### Changed
- `gun` 1-line art renamed to `gun1`
- `knife` 1-line art renamed to `knife1`
- `loading` 1-line art renamed to `loading2`
- `bat` 1-line art renamed to `bat1`
- `mouse` 1-line art renamed to `mouse1`
- `needle` 1-line art renamed to `needle2`
- `snail` 1-line art renamed to `snail1`
- `american money` 1-line art renamed to `american money1`
- `cassette` 1-line art renamed to `cassette1`
- Test system modified
## [4.2] - 2019-10-30
### Added
- 14 new fonts
1. smallcaps3
2. fraktur2
3. bold_fraktur
4. bold_script
5. handwriting1
6. handwriting2
7. rusify
8. monospace
9. dirty2
10. knight2
11. h4k3r
12. thin3
13. tiny2
14. upside_down
- `FONT_NAMES` variable
- `ART_NAMES` variable
### Changed
- Namespace optimized
- Website changed to https://www.4r7.ir
## [4.1] - 2019-09-26
### Added
- 20 new fonts
1. fancy75
2. fancy76
3. fancy77
4. fancy78
5. love1
6. fancy79
7. fancy80
8. fancy81
9. fancy82
10. fancy83
11. fancy84
12. fancy85
13. fancy86
14. contouring3
15. contouring4
16. love2
17. black_square
18. white_square
19. black_bubble
20. paranormal
- `get_font_dic` function
### Changed
- `font_check.py` modified
- `font_wizard.py` modified
- `CONTRIBUTING.md` modified
## [4.0] - 2019-09-12
### Added
- `install.sh`
- `autopep8.sh`
- 21 new fonts
1. fancy56
2. fancy57
3. fancy58
4. fancy59
5. fancy60
6. fancy61
7. fancy62
8. fancy63
9. fanyc64
10. fancy65
11. fancy66
12. fancy67
13. fancy68
14. fancy69
15. fanyc70
16. fancy71
17. fancy72
18. fancy73
19. fancy74
20. contouring1
21. contouring2
### Changed
- `test.sh` moved to `.travis` folder
- `font_wizard.py` updated
- `font_check.py` updated
- `tsave` function bugs fixed
- `aprint` and `tprint` functions modified
- Test system modified
- `overwrite` parameter added to `tsave` and `set_default` functions
- `README.md` modified
- `CONTRIBUTING.md` modified
## [3.9] - 2019-08-21
### Added
- `__version__` variable
- `font_wizard.py`
- 15 new fonts
1. fancy41
2. fancy42
3. fancy43
4. fancy44
5. fancy45
6. fancy46
7. fancy47
8. fancy48
9. fancy49
10. fancy50
11. fancy51
12. fancy52
13. fancy53
14. fancy54
15. fancy55
### Changed
- `VERSION` variable renamed to `ART_VERSION`
- Some fonts moved to `text_dic3.py`
- `ISSUE_TEMPLATE.md` modified
- `CONTRIBUTING.md` modified
## [3.8] - 2019-07-19
### Added
- 11 new fonts
1. fancy31
2. fancy32
3. fancy33
4. fancy34
5. symbols
6. fancy35
7. fancy36
8. fancy37
9. fancy38
10. fancy39
11. fancy40
- 20 new 1-line art
1. acid
2. arrowhead
3. awkward
4. because
5. blackeye
6. catlenny
7. dab
8. damnyou
9. depressed
10. dunno
11. eeriemob
12. envelope
13. fart
14. finn
15. frown
16. glitter
17. gotit
18. hello
19. loading
20. meep
### Changed
- `dev-requirements.txt` modified
## [3.7] - 2019-06-24
### Added
- 3 new fonts
1. fancy28
2. fancy29
3. fancy30
- `mix` mode
### Changed
- Duplication test added to`font_check.py`
- `README.md` modified
- fancy11 and fancy14 fonts updated
- `indirect_font` function modified
### Removed
- 9 duplicate fonts
1. magical
2. morse2
3. fire_font-k
4. paranormal
5. battle_s
6. ntgreek
7. peaksslant
8. sorcerer
9. nancyj-improved
## [3.6] - 2019-05-15
### Added
- 20 new fonts
1. fancy8
2. fancy9
3. fancy10
4. fancy11
5. fancy12
6. fancy13
7. fancy14
8. fancy15
9. fancy16
10. fancy17
11. fancy18
12. fancy19
13. fancy20
14. fancy21
15. fancy22
16. fancy23
17. fancy24
18. fancy25
19. fancy26
20. fancy27
### Changed
- Drop Python 3.3 support
## [3.5] - 2019-05-04
### Added
- 15 new fonts
1. magical
2. paranormal
3. sorcerer
4. special
5. dirty
6. knight
7. thin2
8. tiny
9. fancy1
10. fancy2
11. fancy3
12. fancy4
13. fancy5
14. fancy6
15. fancy7
## [3.4] - 2019-04-20
### Added
- 7 new fonts
1. white_bubble
2. smallcaps2
3. superscript
4. subscript
5. full_width
6. currency
7. antrophobia
- `text2art` function support of `\n`
- `rnd-na` mode
### Changed
- `tprint` function modified
- `tsave` function modified
- `README.md` modified
- `random` mode modified
## [3.3] - 2019-04-10
### Added
- 3 new fonts
1. mirror
2. flip
3. mirror_flip
- 40 new 1-line art
1. dead eyes
2. satan
3. bomb
4. sleepy coffee
5. high five
6. wtf dude?
7. fungry
8. derp
9. drwoning
10. almost cared
11. yessir
12. coffee now
13. round cat
14. squee
15. round bird
16. hoxom
17. squid
18. man spider
19. spell cast
20. jazz musician
21. myan cat
22. gimme
23. crab
24. playing in snow
25. sunglasses
26. mini penis
27. victory
28. don fuller
29. dgaf
30. ryans dick
31. eds dick
32. point
33. afraid
34. laughing
35. energy
36. drunkenness
37. error
38. penis2
39. exchange
40. singing2
- `test2.py`
- `font_check.py`
### Changed
- `test_mode` parameter added to `font_list` function
- `all` flag bug fixed
- `__main__.py` modified
- Warnings and errors messages moved to `art_param.py`
- Art random mode modified
## [3.2] - 2019-04-02
### Added
- 30 new 1-line art
1. shrug
2. flex
3. this guy
4. why
5. meditation
6. kitty
7. pac man
8. emo
9. shark attack
10. shocked
11. monocle
12. piggy
13. camera
14. what??
15. neo
16. lenny
17. snowing
18. dick
19. wizard
20. wat
21. chu
22. butt
23. sophie
24. joy
25. bautista
26. smooth
27. fuckall
28. penis
29. wat-wat
30. fail
- `pydocstyle` test
### Changed
- Docstrings modified
- Some fonts lowercase bug fixed
- Font random modes modified
- `test_mode` parameter removed from `font_list` function
## [3.1] - 2019-03-06
### Added
- 30 new 1-line art
1. rose3
2. cigaret
3. oar
4. sword5
5. car
6. hacksaw
7. canoe
8. spider1
9. machinegun
10. roadblock
11. aliens
12. marge simpson
13. homer simpson
14. bat
15. superman logo
16. dna sample
17. mail box
18. ufo1
19. ufo2
20. spider2
21. american money
22. british money
23. teepee
24. heart3
25. angel
26. shark
27. regular ass
28. fat ass
29. kiss my ass
30. devil
- 15 new fonts
1. future_1
2. future_2
3. future_3
4. future_4
5. future_5
6. future_6
7. future_7
8. future_8
9. gauntlet
10. ghost_bo
11. grand_pr
12. green_be
13. hades
14. heavy_me
15. nfi1
### Changed
- `README.md` modified
- `art` function typo-tolerance threshold modified
## [3.0] - 2019-02-11
### Added
- 20 new fonts
1. druid
2. e_fist
3. ebbs_1
4. ebbs_2
5. eca
6. faces_of
7. fair_mea
8. fairligh
9. fantasy
10. fbr12
11. fbr1
12. fbr2
13. fbr_stri
14. fbr_tilt
15. finalass
16. fireing
17. flyn_sh
18. fp1
19. fp2
20. funky_dr
- `CODE_OF_CONDUCT.md`
- `PULL_REQUEST_TEMPLATE.md`
- `ISSUE_TEMPLATE.md`
- `vulture` test
- `bandit` test
### Changed
- `README.md` modified
- `CONTRIBUTING.md` modified
- `font_map` renamed to `FONT_MAP`
- `font_counter` renamed to `FONT_COUNTER`
- `art_counter` renamed to `ART_COUNTER`
- Constants and parameters moved to `art_param.py`
## [2.9] - 2019-01-24
### Added
- 20 new fonts
1. aquaplan
2. ascii
3. c_consen
4. clb6x10
5. clb8x10
6. clb8x8
7. cli8x8
8. clr4x6
9. clr5x10
10. clr5x6
11. clr5x8
12. clr6x10
13. clr6x6
14. clr6x8
15. clr7x8
16. clr8x10
17. clr8x8
18. coil_cop
19. com_sen
20. c_ascii
- `wizard` mode
- Interactive notebooks section (binder)
- `.coveragerc`
- `version_check.py`
### Changed
- `README.md` modified
- Minor bug in coverage system fixed
- `.travis.yml` modified
- `font_size_splitter` function thresholds fixed
## [2.8] - 2019-01-01
### Added
- 20 new fonts
1. zone7
2. zig_zag
3. yie_ar_k
4. yie-ar
5. xtty
6. war_of_w
7. vortron
8. utopia
9. utopiai
10. utopiabi
11. utopiab
12. usa_pq
13. usa
14. unarmed
15. ugalympi
16. ucf_fan
17. type_set
18. twin_cob
19. tsn_base
20. z-pilot
- `rnd-small` mode
- `rnd-medium` mode
- `rnd-large` mode
- `rnd-xlarge` mode
### Changed
- `README.md` modified
## [2.7] - 2018-12-23
### Added
- 30 new fonts
1. heroboti
2. high_noo
3. hills
4. home_pak
5. house_of
6. hypa_bal
7. hyper
8. inc_raw
9. italics
10. kgames_i
11. kik_star
12. krak_out
13. 4x4_offr
14. 5x7
15. 5x8
16. 64f1
17. 6x10
18. 6x9
19. a_zooloo
20. asc
21. assalt_m
22. asslt_m
23. atc
24. atc_gran
25. battle_s
26. battlesh
27. baz_bil
28. beer_pub
29. c1
30. c2
- `art_profile.py`
### Changed
- Docstring modified
- `B1FF` font bug fixed
- `ICL-1900` font bug fixed
- `AK-47` 1-line art bug fixed
- `I kill you` 1-line art bug fixed
## [2.6] - 2018-12-05
### Added
- 20 new fonts
1. xbrite
2. xbriteb
3. xbritei
4. xbritebi
5. xchartr
6. xchartri
7. xcour
8. xcourb
9. xcourbi
10. xcouri
11. xhelv
12. xhelvb
13. xhelvbi
14. xhelvi
15. xsans
16. xsansb
17. xsansbi
18. xsansi
19. xtimes
20. xttyb
- CLI `testcov` flag
### Changed
- `requirements.txt` modified
- `INSTALL.md` modified
- CLI `test` flag modified
## [2.5] - 2018-12-02
### Added
- 15 new fonts
1. char1
2. char2
3. char3
4. char4
5. charact1
6. charact2
7. charact3
8. charact4
9. charact5
10. charact6
11. characte
12. chartr
13. chartri
14. 1943
15. advenger
- `dev-requirements.txt`
### Changed
- `Python 3.7` added to `.travis.yml` & `appveyor.yml`
- `font_list` modified
- `README.md` modified
- `INSTALL.md` modified
## [2.4] - 2018-10-30
### Added
- 10 new fonts
1. alpha
2. alligator3
3. amc3liv1
4. ascii_new_roman
5. B1FF
6. dwhistled
7. eftiwall
8. fire_font-k
9. fire_font-s
10. gradient
### Changed
- `requirements.txt` modified
## [2.3] - 2018-09-30
### Added
- 35 new fonts
1. nancyj-improved
2. nscript
3. ntgreek
4. nvscript
5. octal
6. oldbanner
7. os2
8. peaksslant
9. puzzle
10. rammstein
11. red_phoenix
12. runyc
13. santaclara
14. shimrod
15. smallcaps
16. smpoison
17. soft
18. spliff
19. stacey
20. stampate
21. stforek
22. sub-zero
23. swampland
24. sweet
25. ticks
26. ticksslant
27. tiles
28. tsalagi
29. tubular
30. twisted
31. varsity
32. wavy
33. wetletter
34. whimsy
35. wow
## [2.2] - 2018-09-24
### Added
- 15 new fonts
1. ICL-1900
2. impossible
3. jacky
4. katakana
5. keyboard
6. knob
7. lildevil
8. lineblocks
9. merlin1
10. merlin2
11. modular
12. morse
13. morse2
14. moscow
15. muzzle
- `set_default` function
- `randart` function
## [2.1] - 2018-09-18
### Added
- 15 new fonts
1. fraktur
2. funface
3. funfaces
4. georgi16
5. georgia11
6. ghost
7. ghoulish
8. glenyn
9. graceful
10. greek
11. heartleft
12. heartright
13. henry3d
14. horizontalleft
15. horizontalright
### Changed
- `setuptools` removed from `requirements.txt`
- `OSX` env added to `.travis.yml`
- Test cases modified
- `text2art` bug in OSX fixed
## [2.0] - 2018-08-30
### Added
- 20 new fonts
1. bigfig
2. bolger
3. braced
4. bright
5. broadway
6. cards
7. chiseled
8. cola
9. crawford
10. cricket
11. DANC4
12. dancingfont
13. decimal
14. defleppard
15. dietcola
16. flipped
17. double
18. doubleshorts
19. eftipiti
20. filter
- Font list HTML page
- Art list HTML page
## [1.9] - 2018-08-23
### Added
- 20 new fonts
1. cybersmall
2. gothic
3. rev
4. smtengwar
5. term
6. 1row
7. 3d_diagonal
8. 4max
9. amc3line
10. amcrazor
11. amcaaa01
12. amcneko
13. amcrrazo2
14. amcslash
15. amcthin
16. amctubes
17. amcun1
18. arrows
19. bear
20. benjamin
## [1.8] - 2018-08-06
### Added
- 30 new 1-line art
1. westbound fish
2. telephone
3. 9/11 truth
4. spear
5. srs face
6. this is areku
7. robot boy
8. med man
9. angry
10. badass
11. zoidberg
12. eastbound fish
13. kilroy was here
14. gtalk fit
15. thanks
16. dalek
17. sean the sheep
18. kablewee
19. i dont care
20. slenderman
21. john lennon
22. peace yo
23. punch
24. russian boobs
25. fuck off
26. man tears
27. robber
28. facepalm
29. yo
30. party time
## [1.7] - 2018-08-01
### Added
- 30 new 1-line art
1. crayons
2. stars in my eyes
3. fish invasion
4. bender
5. musical
6. sunny day
7. happy birthday 1
8. line brack
9. med
10. melp1
11. happy3
12. happy square
13. snowman
14. melp2
15. i kill you
16. jaymz
17. text decoration
18. long rose
19. kirbay dance
20. death star defense team
21. chainsword
22. boobies
23. dancing people
24. dance
25. pictou
26. polar bear
27. go away bear
28. charly
29. train
30. spot
### Changed
- `car race` 1-line art fixed
## [1.6] - 2018-07-10
### Added
- 30 new 1-line art
1. sexy symbol
2. barbell
3. sniper rifle
4. being draged
5. possessed
6. jokeranonimous
7. epic gun
8. love
9. love2
10. eric
11. puls
12. sky free
13. smug bastard
14. tie-fighter
15. kyubey
16. dancee
17. mtmtika
18. ak-47
19. eaten apple
20. huhu
21. faydre
22. domino
23. honeycute
24. superman
25. worm2
26. jokeranonimous2
27. kyubey2
28. nose2
29. hell yeah
30. roke
## [1.5] - 2018-06-18
### Added
- 30 new 1-line art
1. sorreh bro
2. yolo
3. formula 1 car
4. dummy
5. rope
6. rare
7. chess pieces
8. sparkling heart
9. weather
10. stars2
11. upsidedown
12. nathan
13. cat smile
14. old lady boobs
15. glasses2
16. religious
17. sniperstars
18. kokain
19. bagel
20. crying
21. angry2
22. 3
23. 5
24. fuck you
25. head shot
26. metal
27. killer
28. fu
29. ankush
30. owlkin
### Changed
- CLI `art` flag
- CLI `list` flag
## [1.4] - 2018-06-14
### Added
- 15 new fonts
1. letters
2. lockergnome
3. madrid
4. marquee
5. mike
6. mini
7. nancyj-fancy
8. nancyj-underlined
9. pepper
10. poison
11. rot13
12. short
13. small
14. tengwar
15. big
- 11 new 1-line art
1. teddy
2. dice
3. bee
4. ukulele
5. perky
6. snail
7. decorate
8. kirby
9. mango
10. bunny
11. kiss
- `random` 1-line art mode
### Changed
- Minor bug in `text2art` random range fixed
- `README.md` modified
- `aprint_test` function renamed to `art_list`
- `setup.py` modified
## [1.3] - 2018-06-08
### Added
- 10 new fonts
1. eftitalic
2. eftiwater
3. fourtops
4. goofy
5. hollywood
6. invita
7. italic
8. jazmine
9. lcd
10. lean
- `random` font mode
## [1.2] - 2018-06-04
### Added
- 8 new fonts
1. barbwire
2. bigchief
3. binary
4. bubble
5. calgphy2
6. cygnet
7. diamond
8. eftifont
### Changed
- Test cases modified
## [1.1] - 2018-05-25
### Added
- 5 new fonts
1. peaks
2. pawp
3. o8
4. nipples
5. maxfour
- 15 new 1-line art
1. guitar
2. rocket
3. ghost
4. hal
5. cthulhu
6. sat
7. what
8. king
9. tron
10. homer
11. fox
12. singing
13. atish
14. zable
15. trumpet
- CLI description
### Changed
- `README.md` modified
- Test cases modified
- File name bug in UNIX fixed
- `CHANGELOG.md` modified
## [1.0] - 2018-05-20
### Added
- 15 new fonts
1. tinker-toy
2. straight
3. stampatello
4. smslant
5. smshadow
6. smscript
7. smkeyboard
8. smisome1
9. slscript
10. slide
11. sblood
12. rozzo
13. pyramid
14. puffy
15. pebbles
- Typo-tolerance system
### Changed
- `README.md` modified
- Test cases modified
## [0.9] - 2018-05-08
### Added
- 10 new fonts
1. weird
2. univers
3. twopoint
4. trek
5. tombstone
6. threepoint
7. thick
8. tanja
9. swan
10. stellar
### Changed
- `MANIFEST.in` modified
- `INSTALL.md` modified
## [0.8] - 2018-03-13
### Added
- `CHANGELOG.md`
### Changed
- Functions error response
- `README.md` modified
- `tsave` function extension bug fixed
- `text2art` response bug fixed ("\r\n")
- `setup.py` modified
## [0.7] - 2018-01-20
### Added
- 10 new fonts
1. acrobatic
2. alligator
3. alligator2
4. block2
5. caligraphy
6. computer
7. digital
8. doh
9. eftirobot
10. graffiti
## [0.6] - 2018-01-09
### Added
- `all` flag
## [0.5] - 2017-12-05
### Added
- 10 new fonts
1. 3-d
2. 3x5
3. 5lineoblique
4. alphabet
5. banner3-D
6. banner3
7. banner4
8. bell
9. catwalk
10. colossal
## [0.4] - 2017-11-11
### Added
- Telegram bot
### Changed
- Universal text format added for Unix & Windows
## [0.3] - 2017-10-28
### Added
- Save function (tsave)
- `chr_ignore` flag
- 10 new fonts
1. banner
2. avatar
3. basic
4. bulbhead
5. chunky
6. coinstak
7. contessa
8. contrast
9. cyberlarge
10. cybermedium
11. doom
12. dotmatrix
13. drpepper
14. epic
15. fuzzy
16. isometric1
17. isometric2
18. isometric3
19. isometric4
20. larry3d
21. nancyj
22. ogre
23. rectangles
24. roman
25. rounded
26. rowancap
27. script
28. serifcap
29. shadow
30. slant
31. speed
32. starwars
33. stop
34. thin
35. usaflag
### Changed
- Space bug fixed
## [0.2] - 2017-10-10
### Added
- Standard font
### Changed
- Minor bugs fixed
## [0.1] - 2017-10-04
### Added
- Block font
- 1-Line art
- CLI commands
[Unreleased]: https://github.com/sepandhaghighi/art/compare/v6.3...dev
[6.3]: https://github.com/sepandhaghighi/art/compare/v6.2...v6.3
[6.2]: https://github.com/sepandhaghighi/art/compare/v6.1...v6.2
[6.1]: https://github.com/sepandhaghighi/art/compare/v6.0...v6.1
[6.0]: https://github.com/sepandhaghighi/art/compare/v5.9...v6.0
[5.9]: https://github.com/sepandhaghighi/art/compare/v5.8...v5.9
[5.8]: https://github.com/sepandhaghighi/art/compare/v5.7...v5.8
[5.7]: https://github.com/sepandhaghighi/art/compare/v5.6...v5.7
[5.6]: https://github.com/sepandhaghighi/art/compare/v5.5...v5.6
[5.5]: https://github.com/sepandhaghighi/art/compare/v5.4...v5.5
[5.4]: https://github.com/sepandhaghighi/art/compare/v5.3...v5.4
[5.3]: https://github.com/sepandhaghighi/art/compare/v5.2...v5.3
[5.2]: https://github.com/sepandhaghighi/art/compare/v5.1...v5.2
[5.1]: https://github.com/sepandhaghighi/art/compare/v5.0...v5.1
[5.0]: https://github.com/sepandhaghighi/art/compare/v4.9...v5.0
[4.9]: https://github.com/sepandhaghighi/art/compare/v4.8...v4.9
[4.8]: https://github.com/sepandhaghighi/art/compare/v4.7...v4.8
[4.7]: https://github.com/sepandhaghighi/art/compare/v4.6...v4.7
[4.6]: https://github.com/sepandhaghighi/art/compare/v4.5...v4.6
[4.5]: https://github.com/sepandhaghighi/art/compare/v4.4...v4.5
[4.4]: https://github.com/sepandhaghighi/art/compare/v4.3...v4.4
[4.3]: https://github.com/sepandhaghighi/art/compare/v4.2...v4.3
[4.2]: https://github.com/sepandhaghighi/art/compare/v4.1...v4.2
[4.1]: https://github.com/sepandhaghighi/art/compare/v4.0...v4.1
[4.0]: https://github.com/sepandhaghighi/art/compare/v3.9...v4.0
[3.9]: https://github.com/sepandhaghighi/art/compare/v3.8...v3.9
[3.8]: https://github.com/sepandhaghighi/art/compare/v3.7...v3.8
[3.7]: https://github.com/sepandhaghighi/art/compare/v3.6...v3.7
[3.6]: https://github.com/sepandhaghighi/art/compare/v3.5...v3.6
[3.5]: https://github.com/sepandhaghighi/art/compare/v3.4...v3.5
[3.4]: https://github.com/sepandhaghighi/art/compare/v3.3...v3.4
[3.3]: https://github.com/sepandhaghighi/art/compare/v3.2...v3.3
[3.2]: https://github.com/sepandhaghighi/art/compare/v3.1...v3.2
[3.1]: https://github.com/sepandhaghighi/art/compare/v3.0...v3.1
[3.0]: https://github.com/sepandhaghighi/art/compare/v2.9...v3.0
[2.9]: https://github.com/sepandhaghighi/art/compare/v2.8...v2.9
[2.8]: https://github.com/sepandhaghighi/art/compare/v2.7...v2.8
[2.7]: https://github.com/sepandhaghighi/art/compare/v2.6...v2.7
[2.6]: https://github.com/sepandhaghighi/art/compare/v2.5...v2.6
[2.5]: https://github.com/sepandhaghighi/art/compare/v2.4...v2.5
[2.4]: https://github.com/sepandhaghighi/art/compare/v2.3...v2.4
[2.3]: https://github.com/sepandhaghighi/art/compare/v2.2...v2.3
[2.2]: https://github.com/sepandhaghighi/art/compare/v2.1...v2.2
[2.1]: https://github.com/sepandhaghighi/art/compare/v2.0...v2.1
[2.0]: https://github.com/sepandhaghighi/art/compare/v1.9...v2.0
[1.9]: https://github.com/sepandhaghighi/art/compare/v1.8...v1.9
[1.8]: https://github.com/sepandhaghighi/art/compare/v1.7...v1.8
[1.7]: https://github.com/sepandhaghighi/art/compare/v1.6...v1.7
[1.6]: https://github.com/sepandhaghighi/art/compare/v1.5...v1.6
[1.5]: https://github.com/sepandhaghighi/art/compare/v1.4...v1.5
[1.4]: https://github.com/sepandhaghighi/art/compare/v1.3...v1.4
[1.3]: https://github.com/sepandhaghighi/art/compare/v1.2...v1.3
[1.2]: https://github.com/sepandhaghighi/art/compare/v1.1...v1.2
[1.1]: https://github.com/sepandhaghighi/art/compare/v1.0...v1.1
[1.0]: https://github.com/sepandhaghighi/art/compare/v0.9...v1.0
[0.9]: https://github.com/sepandhaghighi/art/compare/v0.8...v0.9
[0.8]: https://github.com/sepandhaghighi/art/compare/v0.7...v0.8
[0.7]: https://github.com/sepandhaghighi/art/compare/v0.6...v0.7
[0.6]: https://github.com/sepandhaghighi/art/compare/v0.5...v0.6
[0.5]: https://github.com/sepandhaghighi/art/compare/v0.4...v0.5
[0.4]: https://github.com/sepandhaghighi/art/compare/v0.3...v0.4
[0.3]: https://github.com/sepandhaghighi/art/compare/v0.2...v0.3
[0.2]: https://github.com/sepandhaghighi/art/compare/v0.1...v0.2
[0.1]: https://github.com/sepandhaghighi/art/compare/1e238cd...v0.1
Raw data
{
"_id": null,
"home_page": "https://github.com/sepandhaghighi/art",
"name": "art",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "ascii art python3 python text font non-ascii printing",
"author": "Sepand Haghighi",
"author_email": "info@ascii-art.site",
"download_url": "https://files.pythonhosted.org/packages/f5/49/9d40caffc16ab712bef515afd19dc069d36c47c86ef54e22e73068cfcfea/art-6.3.tar.gz",
"platform": null,
"description": "\n<div align=\"center\">\n\t<img src=\"https://github.com/sepandhaghighi/art/raw/master/otherfile/logo.png\" alt=\"Logo\">\n\t<br/>\n\t<br/>\n\t<a href=\"https://codecov.io/gh/sepandhaghighi/art\"><img src=\"https://codecov.io/gh/sepandhaghighi/art/branch/master/graph/badge.svg\" alt=\"Codecov\"></a>\n\t<a href=\"https://badge.fury.io/py/art\"><img src=\"https://badge.fury.io/py/art.svg\" alt=\"PyPI\" height=\"18\"></a>\n\t<a href=\"https://www.python.org/\"><img src=\"https://img.shields.io/badge/built%20with-Python3-green.svg\" alt=\"built with Python3\"></a>\n\t<a href=\"https://github.com/sepandhaghighi/art/blob/master/FontList.ipynb\"><img src=\"https://img.shields.io/badge/Font List-667-blue.svg\" alt=\"Font List\"></a>\n\t<a href=\"https://github.com/sepandhaghighi/art/blob/master/ArtList.ipynb\"><img src=\"https://img.shields.io/badge/Art List-710-orange.svg\" alt=\"Art List\"></a>\n\t<a href=\"https://github.com/sepandhaghighi/art/blob/master/DecorList.ipynb\"><img src=\"https://img.shields.io/badge/Decor List-218-green.svg\" alt=\"Decor List\"></a>\n\t<a href=\"https://t.me/artlib_bot\" target=\"__blank\"><img src=\"https://img.shields.io/badge/Telegram-Bot-red.svg\" alt=\"Telegram Bot\"></a>\n\t<a href=\"https://anaconda.org/sepandhaghighi/art\"><img src=\"https://anaconda.org/sepandhaghighi/art/badges/version.svg\" alt=\"Anaconda\"></a>\n\t<a href=\"https://discord.com/invite/FAAyq3QJqP\"><img src=\"https://img.shields.io/discord/897532566301724722.svg\" alt=\"Discord Channel\"></a>\n</div>\n\t\n----------\n\n## Overview\t\nASCII art is also known as \"computer text art\". It involves the smart placement of typed special characters or\nletters to make a visual shape that is spread over multiple lines of text.\n\t\nART is a Python lib for text converting to ASCII art fancy. ;-)\n\n\n\n<table>\n\t<tr align=\"center\"> \n\t\t<td>Open Hub</td>\n\t\t<td><a href=\"https://www.openhub.net/p/artlib\"><img src=\"https://www.openhub.net/p/artlib/widgets/project_thin_badge.gif\"></a></td>\t\n\t</tr>\n\t<tr align=\"center\">\n\t\t<td>PyPI Counter</td>\n\t\t<td><a href=\"http://pepy.tech/project/art\"><img src=\"http://pepy.tech/badge/art\"></a></td>\n\t</tr>\n\t<tr align=\"center\">\n\t\t<td>Github Stars</td>\n\t\t<td><a href=\"https://github.com/sepandhaghighi/art\"><img src=\"https://img.shields.io/github/stars/sepandhaghighi/art.svg?style=social&label=Stars\"></a></td>\n\t</tr>\n\t<tr align=\"center\">\n\t\t<td>Font Counter</td>\n\t\t<td id=\"font_counter\">667</td>\n\t</tr>\n\t<tr align=\"center\">\n\t\t<td>1-Line-Art Counter</td>\n\t\t<td id=\"art_counter\">710</td>\n\t</tr>\n\t<tr align=\"center\">\n\t\t<td>Decor Counter</td>\n\t\t<td id=\"decor_counter\">218</td>\n\t</tr>\n</table>\n\n\n\n<table>\n\t<tr> \n\t\t<td align=\"center\">Branch</td>\n\t\t<td align=\"center\">master</td>\t\n\t\t<td align=\"center\">dev</td>\t\n\t</tr>\n\t<tr>\n\t\t<td align=\"center\">CI</td>\n\t\t<td align=\"center\"><img src=\"https://github.com/sepandhaghighi/art/workflows/CI/badge.svg?branch=master\"></td>\n\t\t<td align=\"center\"><img src=\"https://github.com/sepandhaghighi/art/workflows/CI/badge.svg?branch=dev\"></td>\n\t</tr>\n</table>\n\n<table>\n\t<tr> \n\t\t<td align=\"center\">Code Quality</td>\n\t\t<td align=\"center\"><a class=\"badge-align\" href=\"https://www.codacy.com/app/sepand-haghighi/art?utm_source=github.com&utm_medium=referral&utm_content=sepandhaghighi/art&utm_campaign=Badge_Grade\"><img src=\"https://api.codacy.com/project/badge/Grade/405020450bc94088ad1450461831a587\"/></a></td>\t\n\t\t<td align=\"center\"><a href=\"https://codebeat.co/projects/github-com-sepandhaghighi-art-dev\"><img alt=\"codebeat badge\" src=\"https://codebeat.co/badges/90e77325-a046-4cc5-9c3e-646c011a5b72\" /></a></td>\t\n\t\t<td align=\"center\"><a href=\"https://www.codefactor.io/repository/github/sepandhaghighi/art\"><img src=\"https://www.codefactor.io/repository/github/sepandhaghighi/art/badge\" alt=\"CodeFactor\" /></a></td>\n\t</tr>\n</table>\n\n \n\n## Usage\n\n<div align=\"center\">\n\n<img src=\"https://github.com/sepandhaghighi/art/raw/master/otherfile/ART.gif\">\n<p>Quick Start</p>\n\n</div>\t\t\t\t\n\n\n### 1-Line art\n\n\u26a0\ufe0f Some environments don't support all 1-Line arts\n\n\u26a0\ufe0f **ART 4.6** is the last version to support **Bipartite art**\n\n\n#### 1. art\t\t\t\t\t\n\nThis function return 1-line art as `str` in normal mode and raise `artError` in exception.\t\n```pycon\n>>> from art import *\n>>> art_1=art(\"coffee\") # return art as str in normal mode\n>>> print(art_1)\nc[_]\n>>> art_2=art(\"woman\",number=2) # return multiple art as str\n>>> print(art_2)\n\u2593\u2697_\u2697\u2593 \u2593\u2697_\u2697\u2593 \n>>> art(\"coffee\", number=3, space=5) \n'c[_] c[_] c[_]'\n>>> art(\"random\") # random 1-line art mode\n'(\u3063\u25d5\u203f\u25d5)\u3063 '\n>>> art(\"rand\") # random 1-line art mode\n't(-_-t) '\n>>> art(22,number=1) # raise artError\nTraceback (most recent call last):\n ...\nart.art.artError: The 'artname' type must be str.\n\n```\n#### 2. aprint\t\t\t\t\n\nThis function print 1-line art in normal mode (return None) and raise `artError` in exception.\n```pycon\n>>> aprint(\"butterfly\") # print art\n\u01b8\u0335\u0321\u04dc\u0335\u0328\u0304\u01b7 \n>>> aprint(\"happy\") # print art\n \u06dc\\(\ufb41\u06ba\ufb41\u064e` )/\u06dc\n>>> aprint(\"coffee\", number=3, space=5) \nc[_] c[_] c[_] \n>>> aprint(\"random\") # random 1-line art mode\n'(\u3063\u25d5\u203f\u25d5)\u3063 '\n>>> aprint(\"rand\") # random 1-line art mode\n't(-_-t) '\n>>> aprint(\"woman\",number=\"22\") # raise artError\nTraceback (most recent call last):\n ...\nart.art.artError: The 'number' type must be int.\n```\n\n#### 3. randart\n\n`randart` function is added in `Version 2.2` as `art(\"random\")` shortcut.\n```pycon\n>>> randart()\n'\u12de\u13dc\u2118\u2118\u13bd \u212c\u2139\u211b\u0288\u12de\u15ec\u13dc\u13bd '\n>>> randart()\n'\u270c(\u25d5\u203f-)\u270c '\n```\t\n\n* Note1 : Use `ART_NAMES` to access all arts name list (new in `Version 4.2`)\n* Note2 : Use `NON_ASCII_ARTS` to access all Non-ASCII arts name list (new in `Version 4.6`)\n* Note3 : Use `ASCII_ARTS` to access all ASCII arts name list (new in `Version 5.7`)\n\n### ASCII text\n\t\n\u26a0\ufe0f Some fonts don't support all characters\t\t\n\n\u26a0\ufe0f From `Version 3.3` Non-ASCII fonts added (These fonts are not compatible with some environments)\n\n\u26a0\ufe0f From `Version 5.3` `\\n` is used as the default line separator instead of `\\r\\n` (Use `sep` parameter if needed)\n\n#### 1. text2art\t\t\t\t\n\nThis function return ASCII text as `str` in normal mode and raise `artError` in exception.\n```pycon\t\n>>> Art=text2art(\"art\") # Return ASCII text (default font) and default chr_ignore=True \n>>> print(Art)\n _ \n __ _ _ __ | |_ \n / _` || '__|| __|\n| (_| || | | |_ \n \\__,_||_| \\__|\n \n \n>>> Art=text2art(\"art\",font='block',chr_ignore=True) # Return ASCII text with block font\n>>> print(Art)\n\n\n .----------------. .----------------. .----------------.\n| .--------------. || .--------------. || .--------------. |\n| | __ | || | _______ | || | _________ | |\n| | / \\ | || | |_ __ \\ | || | | _ _ | | |\n| | / /\\ \\ | || | | |__) | | || | |_/ | | \\_| | |\n| | / ____ \\ | || | | __ / | || | | | | |\n| | _/ / \\ \\_ | || | _| | \\ \\_ | || | _| |_ | |\n| ||____| |____|| || | |____| |___| | || | |_____| | |\n| | | || | | || | | |\n| '--------------' || '--------------' || '--------------' |\n '----------------' '----------------' '----------------'\n\n>>> Art=text2art(\"test\",\"random\") # random font mode\n>>> print(Art)\n | | \n~|~/~/(~~|~\n | \\/__) | \n \n>>> Art=text2art(\"test\",\"rand\") # random font mode\n>>> print(Art)\n___ ____ ____ ___ \n | |___ [__ | \n | |___ ___] | \n\n>>> print(text2art(\"test\", space=10))\n _ _ \n| |_ ___ ___ | |_ \n| __| / _ \\ / __| | __|\n| |_ | __/ \\__ \\ | |_ \n \\__| \\___| |___/ \\__|\n \n>>> print(text2art('''Lorem \nipsum \ndolor''', font=\"small\")) # Multi-line print\n _ \n| | ___ _ _ ___ _ __ \n| |__ / _ \\| '_|/ -_)| ' \\ \n|____|\\___/|_| \\___||_|_|_| \n \n _ \n(_) _ __ ___ _ _ _ __ \n| || '_ \\(_-<| || || ' \\ \n|_|| .__//__/ \\_,_||_|_|_| \n |_| \n _ _ \n __| | ___ | | ___ _ _ \n/ _` |/ _ \\| |/ _ \\| '_|\n\\__,_|\\___/|_|\\___/|_| \n \n\n>>> print(text2art(\"test\",\"white_bubble\")) # Non-ASCII font example\n\u24e3\u24d4\u24e2\u24e3\n>>> text2art(\"art\",font=\"fancy5\",decoration=\"barcode1\") # decoration parameter is added in Version 4.6\n'\u258c\u2502\u2588\u2551\u258c\u2551\u258c\u2551 \u13d7\u13d2\u13d6 \u2551\u258c\u2551\u258c\u2551\u2588\u2502\u258c'\n>>> text2art(\"se\u0633\u0633\u0633\",font=DEFAULT_FONT,chr_ignore=False) # raise artError in exception\nTraceback (most recent call last):\n ...\nart.art.artError: \u0633 is invalid.\n \n```\n#### 2. tprint\t\t\t\t\n\nThis function print ASCII text in normal mode (return None) and raise `artError` in exception.\n```pycon\n>>> tprint(\"art\") # print ASCII text (default font) \n _ \n __ _ _ __ | |_ \n / _` || '__|| __|\n| (_| || | | |_ \n \\__,_||_| \\__|\n \n\n>>> tprint(\"art\",font=\"block\",chr_ignore=True) # print ASCII text (block font)\n\n .----------------. .----------------. .----------------.\n| .--------------. || .--------------. || .--------------. |\n| | __ | || | _______ | || | _________ | |\n| | / \\ | || | |_ __ \\ | || | | _ _ | | |\n| | / /\\ \\ | || | | |__) | | || | |_/ | | \\_| | |\n| | / ____ \\ | || | | __ / | || | | | | |\n| | _/ / \\ \\_ | || | _| | \\ \\_ | || | _| |_ | |\n| ||____| |____|| || | |____| |___| | || | |_____| | |\n| | | || | | || | | |\n| '--------------' || '--------------' || '--------------' |\n '----------------' '----------------' '----------------'\n\n>>> tprint('test\u0633\u0633') # chr_ignore flag ==True (Default)\n _ _ \n| |_ ___ ___ | |_ \n| __| / _ \\/ __|| __|\n| |_ | __/\\__ \\| |_ \n \\__| \\___||___/ \\__|\n \n>>> tprint(\"test\",\"random\") # random font mode\n | | \n~|~/~/(~~|~\n | \\/__) | \n \n>>> tprint(\"test\",\"rand\") # random font mode\n___ ____ ____ ___ \n | |___ [__ | \n | |___ ___] | \n \n>>> tprint(\"test\", space=10)\n _ _ \n| |_ ___ ___ | |_ \n| __| / _ \\ / __| | __|\n| |_ | __/ \\__ \\ | |_ \n \\__| \\___| |___/ \\__|\n \n>>> tprint('test\u0633\u0633',chr_ignore=False) # raise artError in exception \nTraceback (most recent call last):\n ...\nart.art.artError: \u0633 is invalid.\n>>> tprint('''Lorem \nipsum \ndolor''', font=\"cybermedium\") # Multi-line print\n_ ____ ____ ____ _ _ \n| | | |__/ |___ |\\/| \n|___ |__| | \\ |___ | | \n \n_ ___ ____ _ _ _ _ \n| |__] [__ | | |\\/| \n| | ___] |__| | | \n \n___ ____ _ ____ ____ \n| \\ | | | | | |__/ \n|__/ |__| |___ |__| | \\ \n\n>>> tprint(\"art\",font=\"fancy5\",decoration=\"barcode1\") # decoration parameter is added in Version 4.6\n\u258c\u2502\u2588\u2551\u258c\u2551\u258c\u2551 \u13d7\u13d2\u13d6 \u2551\u258c\u2551\u258c\u2551\u2588\u2502\u258c\n>>> tprint(\"art\",font=\"fancy5\",decoration=\"random\") # decoration random mode is added in Version 5.0\n\u2022]\u2022\u00b7\u2726\u00ba\u2726\u00b7\u00bb\u13d7\u13d2\u13d6\u00ab\u00b7\u2726\u00ba\u2726\u00b7\u2022[\u2022\n```\n#### 3. tsave\t\t\t\t\n\nThis function return `dict` in normal and exception mode.\n```pycon\n>>> Response=tsave(\"art\",filename=\"test.txt\") # save ASCII text in test.txt file with save message (print_status==True), return dict\nSaved! \nFilename: test.txt\n>>> Response[\"Message\"]\n'OK'\n>>> Response=tsave(\"art\",filename=\"test.txt\",print_status=False) # save ASCII text in test.txt file without save message (print_status==False)\n>>> Response[\"Message\"]\n'OK'\n>>> Response[\"Status\"]\nTrue\n>>> tsave(22,font=DEFAULT_FONT,filename=\"art\",chr_ignore=True,print_status=True)\n{'Status': False, 'Message': \"'int' object has no attribute 'split'\"}\n>>> Response=tsave(\"art\",filename=\"test.txt\",overwrite=True) # overwrite parameter is added in Version 4.0\nSaved! \nFilename: test.txt\n>>> Response=tsave(\"art\",filename=\"test.txt\",decoration=\"barcode1\") # decoration parameter is added in Version 4.6\nSaved! \nFilename: test.txt\n>>> Response=tsave(\"art\",filename=\"test.txt\",sep=\"\\r\\n\") # sep parameter is added in Version 5.3\nSaved! \nFilename: test.txt \n>>> Response=tsave(\"art\",filename=\"test.txt\",space=5) # space parameter is added in Version 6.0\nSaved! \nFilename: test.txt \n```\n\n* Note1 : Use `FONT_NAMES` to access all fonts name list (new in `Version 4.2`)\n* Note2 : Use `NON_ASCII_FONTS` to access all Non-ASCII fonts name list (new in `Version 4.4`)\n* Note3 : Use `ASCII_FONTS` to access all ASCII fonts name list (new in `Version 5.7`)\n\n### Decoration\n\n\u26a0\ufe0f Some environments don't support all decorations\n\n#### 1. decor\n\nThis function return decoration as `str` in normal mode and raise `artError` in exception.\n```pycon\n>>> decor(\"barcode1\")\n'\u258c\u2502\u2588\u2551\u258c\u2551\u258c\u2551 '\n>>> decor(\"barcode1\",reverse=True)\n' \u2551\u258c\u2551\u258c\u2551\u2588\u2502\u258c'\n>>> decor(\"barcode1\") + text2art(\" art \",font=\"fancy42\") + decor(\"barcode1\",reverse=True)\n'\u258c\u2502\u2588\u2551\u258c\u2551\u258c\u2551 \u0105\u044f\u0163 \u2551\u258c\u2551\u258c\u2551\u2588\u2502\u258c'\n>>> decor(\"barcode1\",both=True) # both parameter is added in Version 5.0\n['\u258c\u2502\u2588\u2551\u258c\u2551\u258c\u2551 ', ' \u2551\u258c\u2551\u258c\u2551\u2588\u2502\u258c']\n>>> decor(\"random\",both=True) # random mode is added in Version 5.0\n['\uff62(\u25d4\u03c9\u25d4\u300c)\u4e09', '\u4e09\u4e09\u4e09\u0285(\uff1b\u25d4\u0c6a\u25d4)\u0283']\n>>> decor(\"rand\",both=True) # random mode is added in Version 5.0\n['\u2039\u2013\u2026\u00b7\u00b4`\u00b7\u2026\u2013\u203a', '\u2039\u2013\u2026\u00b7\u00b4`\u00b7\u2026\u2013\u203a']\n>>> decor(None)\nTraceback (most recent call last):\n\t...\nart.art.artError: The 'decoration' type must be str.\n```\n\n* Note : Use `DECORATION_NAMES` to access all decorations name list (new in `Version 4.6`)\n\n### Font modes\n\nThese modes are available for `text2art`, `tprint` & `tsave`.\t\n\n#### 1. Font name\t\n\n\u26a0\ufe0f Some fonts don't support all characters\n\t\t\t\n```pycon\n\n>>> tprint(\"art\",font=\"block\",chr_ignore=True)\n\n .----------------. .----------------. .----------------.\n| .--------------. || .--------------. || .--------------. |\n| | __ | || | _______ | || | _________ | |\n| | / \\ | || | |_ __ \\ | || | | _ _ | | |\n| | / /\\ \\ | || | | |__) | | || | |_/ | | \\_| | |\n| | / ____ \\ | || | | __ / | || | | | | |\n| | _/ / \\ \\_ | || | _| | \\ \\_ | || | _| |_ | |\n| ||____| |____|| || | |____| |___| | || | |_____| | |\n| | | || | | || | | |\n| '--------------' || '--------------' || '--------------' |\n '----------------' '----------------' '----------------'\n\n>>> tprint(\"art\",\"white_bubble\")\n\u24d0\u24e1\u24e3\n\n```\t\n\n#### 2. Random\t\t\n\nRandomly select from all fonts.\t\n\nKeywords : `random`, `rand` & `rnd`\n\n```pycon\n>>> tprint(\"test\",font=\"random\")\n | | \n~|~/~/(~~|~\n | \\/__) | \n \n\n```\n\n#### 3. Random small\n\nRandomly select from small fonts.\t\n\nKeywords : `rnd-small`, `random-small` & `rand-small`\n\n* Note : New in `Version 2.8`\n\n```pycon\n>>> tprint(\"test\",font=\"rnd-small\")\n \n_/ _ _ _/ \n/ (- _) / \n \n```\n\n#### 4. Random medium\n\nRandomly select from medium fonts.\n\nKeywords : `rnd-medium`, `random-medium` & `rand-medium`\n\n* Note : New in `Version 2.8`\n\n```pycon\n>>> tprint(\"test\",font=\"rnd-medium\")\n \n , , \n || || \n=||= _-_ _-_, =||= \n || || \\\\ ||_. || \n || ||/ ~ || || \n \\\\, \\\\,/ ,-_- \\\\, \n \n \n```\n\n#### 5. Random large\n\nRandomly select from large fonts.\n\nKeywords : `rnd-large`, `random-large` & `rand-large`\n\n* Note : New in `Version 2.8`\n\n```pycon\n>>> tprint(\"test\",font=\"rnd-large\")\n \n8888888 8888888888 8 8888888888 d888888o. 8888888 8888888888 \n 8 8888 8 8888 .`8888:' `88. 8 8888 \n 8 8888 8 8888 8.`8888. Y8 8 8888 \n 8 8888 8 8888 `8.`8888. 8 8888 \n 8 8888 8 888888888888 `8.`8888. 8 8888 \n 8 8888 8 8888 `8.`8888. 8 8888 \n 8 8888 8 8888 `8.`8888. 8 8888 \n 8 8888 8 8888 8b `8.`8888. 8 8888 \n 8 8888 8 8888 `8b. ;8.`8888 8 8888 \n 8 8888 8 888888888888 `Y8888P ,88P' 8 8888 \n\n\n```\n\n#### 6. Random xlarge\n\nRandomly select from xlarge fonts.\t\n\nKeywords : `rnd-xlarge`, `random-xlarge` & `rand-xlarge`\n\n* Note : New in `Version 2.8`\n\n```pycon\n>>> tprint(\"test\",\"rnd-xlarge\")\n _____ _____ _____ _____ \n /\\ \\ /\\ \\ /\\ \\ /\\ \\ \n /::\\ \\ /::\\ \\ /::\\ \\ /::\\ \\ \n \\:::\\ \\ /::::\\ \\ /::::\\ \\ \\:::\\ \\ \n \\:::\\ \\ /::::::\\ \\ /::::::\\ \\ \\:::\\ \\ \n \\:::\\ \\ /:::/\\:::\\ \\ /:::/\\:::\\ \\ \\:::\\ \\ \n \\:::\\ \\ /:::/__\\:::\\ \\ /:::/__\\:::\\ \\ \\:::\\ \\ \n /::::\\ \\ /::::\\ \\:::\\ \\ \\:::\\ \\:::\\ \\ /::::\\ \\ \n /::::::\\ \\ /::::::\\ \\:::\\ \\ ___\\:::\\ \\:::\\ \\ /::::::\\ \\ \n /:::/\\:::\\ \\ /:::/\\:::\\ \\:::\\ \\ /\\ \\:::\\ \\:::\\ \\ /:::/\\:::\\ \\ \n /:::/ \\:::\\____\\/:::/__\\:::\\ \\:::\\____\\/::\\ \\:::\\ \\:::\\____\\ /:::/ \\:::\\____\\\n /:::/ \\::/ /\\:::\\ \\:::\\ \\::/ /\\:::\\ \\:::\\ \\::/ / /:::/ \\::/ /\n /:::/ / \\/____/ \\:::\\ \\:::\\ \\/____/ \\:::\\ \\:::\\ \\/____/ /:::/ / \\/____/ \n /:::/ / \\:::\\ \\:::\\ \\ \\:::\\ \\:::\\ \\ /:::/ / \n/:::/ / \\:::\\ \\:::\\____\\ \\:::\\ \\:::\\____\\ /:::/ / \n\\::/ / \\:::\\ \\::/ / \\:::\\ /:::/ / \\::/ / \n \\/____/ \\:::\\ \\/____/ \\:::\\/:::/ / \\/____/ \n \\:::\\ \\ \\::::::/ / \n \\:::\\____\\ \\::::/ / \n \\::/ / \\::/ / \n \\/____/ \\/____/ \n \n```\n\t\n#### 7. Wizard\t\n\nThis mode consider length of input text to select font\n\n\u2611\ufe0f Support of 95 ASCII characters guaranteed\n\nKeywords : `wizard`, `wiz` & `magic`\n\n* Note : New in `Version 2.9`\n\n```pycon\n>>> tprint(\"1\",\"wizard\")\n 88 \n ,d88 \n888888 \n 88 \n 88 \n 88 \n 88 \n 88 \n 88 \n 88 \n \n \n\n>>> tprint(\"1\"*5,\"wizard\")\nd88 d88 d88 d88 d88 \n 88 88 88 88 88 \n 88 88 88 88 88 \n 88 88 88 88 88 \n 88 88 88 88 88 \nd88P d88P d88P d88P d88P \n \n \n\n>>> tprint(\"1\"*15,\"wizard\")\n \n \n # # # # # # # # # # # # # # # \n## ## ## ## ## ## ## ## ## ## ## ## ## ## ## \n # # # # # # # # # # # # # # # \n # # # # # # # # # # # # # # # \n # # # # # # # # # # # # # # # \n## ## ## ## ## ## ## ## ## ## ## ## ## ## ## \n \n \n```\n\t\n\n\n#### 8. Random Non-ASCII\n\nRandomly select from Non-ASCII fonts.\t\n\nKeywords : `random-na`, `rand-na` & `rnd-na`\n\n* Note : New in `Version 3.4`\n\n```pycon\n>>> tprint(\"test\",\"random-na\")\n\u20ae\u0246\u20b4\u20ae\n>>> tprint(\"test\",\"random-na\")\n\u0287s\u01dd\u0287\n\n```\n\n#### 9. Mix Non-ASCII\n\nRandomly mix Non-ASCII fonts.\n\nKeywords : `mix`\n\n* Note : New in `Version 3.7`\n\n```pycon\n>>> tprint(\"test\",\"mix\")\n\u2020\u0190\u0455\u2020\n>>> tprint(\"test\",\"mix\")\nt\u13cb\u0455t\n>>> tprint(\"test\",\"mix\")\n\ua4c4\u0454\u0e23\ua4c4\n```\n\n\u26a0\ufe0f Non-ASCII fonts are only available in `Font name`, `Random Non-ASCII` and `Mix` modes\t\n\n\n### Typo-tolerance\t\t\t\n<a href=\"https://en.wikipedia.org/wiki/Levenshtein_distance\">Levenshtein distance</a> used in this project. (`Version` >0.9)\n\n```pycon\n>>> aprint(\"happi\") # correct --> aprint(\"happy\"), error < |artname|/2\n \u06dc\\(\ufb41\u06ba\ufb41\u064e` )/\u06dc \n>>> Art=art(\"birds2222222\",number=1) # correct --> Art=art(\"birds\",number=1), error >= |artname|/2\nTraceback (most recent call last):\n\t...\nart.art.artError: Invalid art name.\n>>> aprint(\"happi231\") # correct --> aprint(\"happy\"), error < |artname|/2\n\u23a6\u02da\u25e1\u02da\u23a3 \n>>> aprint(\"happi2312344\") # correct --> aprint(\"happy\"), error >= |artname|/2\nTraceback (most recent call last):\n\t...\nart.art.artError: Invalid art name.\n>>> Art=text2art(\"test\",font=\"black\") # correct --> Art=text2art(\"test\",font=\"block\")\n>>> print(Art)\n\n .----------------. .----------------. .----------------. .----------------.\n| .--------------. || .--------------. || .--------------. || .--------------. |\n| | _________ | || | _________ | || | _______ | || | _________ | |\n| | | _ _ | | || | |_ ___ | | || | / ___ | | || | | _ _ | | |\n| | |_/ | | \\_| | || | | |_ \\_| | || | | (__ \\_| | || | |_/ | | \\_| | |\n| | | | | || | | _| _ | || | '.___`-. | || | | | | |\n| | _| |_ | || | _| |___/ | | || | |`\\____) | | || | _| |_ | |\n| | |_____| | || | |_________| | || | |_______.' | || | |_____| | |\n| | | || | | || | | || | | |\n| '--------------' || '--------------' || '--------------' || '--------------' |\n '----------------' '----------------' '----------------' '----------------'\n\n>>> tprint(\"test\",font=\"cybermedum\") # correct --> tprint(\"test\",font=\"cybermedium\")\n___ ____ ____ ___ \n | |___ [__ | \n | |___ ___] | \n \n \n```\n\n### Set defaults\t\t\t\n`set_default` function is added in `Version 2.2` in order to change default values.\n\n```pycon\n>>> help(set_default)\nHelp on function set_default in module art.art:\n\nset_default(font='standard', chr_ignore=True, filename='art', print_status=True, overwrite=False, decoration=None, sep='\\n')\n Change text2art, tprint and tsave default values.\n \n :param font: input font\n :type font:str\n :param chr_ignore: ignore not supported character\n :type chr_ignore:bool\n :param filename: output file name (only tsave)\n :type filename:str\n :param print_status : save message print flag (only tsave)\n :type print_status:bool\n :param overwrite : overwrite the saved file if true (only tsave)\n :type overwrite:bool\n :param decoration: input decoration\n :type decoration:str\n :param sep: line separator char\n :type sep: str\n :return: None\n\n>>> tprint(\"test\")\n _ _ \n| |_ ___ ___ | |_ \n| __| / _ \\/ __|| __|\n| |_ | __/\\__ \\| |_ \n \\__| \\___||___/ \\__|\n \n\n>>> set_default(font=\"italic\")\n>>> tprint(\"test\")\n \n_/ _ _ _/ \n/ (- _) / \n \n\n```\n* Note : Functions error response updated in `Version 0.8`\n\n\t<table>\n\t<tr>\n\t\t<td align=\"center\">Function</td>\n\t\t<td align=\"center\">Normal Output</td>\n\t\t<td align=\"center\">Error</td>\n\t</tr>\n <tr>\n\t\t<td align=\"center\">decor</td>\n\t\t<td align=\"center\">str</td>\n\t\t<td align=\"center\">raise artError</td>\n\n\t</tr>\n\t<tr>\n\t\t<td align=\"center\">art</td>\n\t\t<td align=\"center\">str</td>\n\t\t<td align=\"center\">raise artError</td>\n\n\t</tr>\n\t<tr>\n\t\t<td align=\"center\">aprint</td>\n\t\t<td align=\"center\">None</td>\n\t\t<td align=\"center\">raise artError</td>\n\t</tr>\n\t<tr>\n\t\t<td align=\"center\">tprint</td>\n\t\t<td align=\"center\">None</td>\n\t\t<td align=\"center\">raise artError</td>\n\t</tr>\n\t<tr>\n\t\t<td align=\"center\">tsave</td>\n\t\t<td align=\"center\">{\"Status\":bool,\"Message\":str}</td>\n\t\t<td align=\"center\">{\"Status\":bool,\"Message\":str}</td>\n\t</tr>\n\t<tr>\n\t\t<td align=\"center\">text2art</td>\n\t\t<td align=\"center\">str</td>\n\t\t<td align=\"center\">raise artError</td>\n\t</tr>\t\n\t<tr>\n\t\t<td align=\"center\">set_default</td>\n\t\t<td align=\"center\">None</td>\n\t\t<td align=\"center\">raise artError</td>\n\t</tr>\t\n\t</table> \n\n### Testing\n- Only ASCII fonts and arts :\n```\nart test\n```\n\n- All fonts, arts and decorations :\n```\nart test2\n```\n\n### CLI\t\n\u26a0\ufe0f [Backward Compatibility] **ART 5.9** is the last version to support this **CLI structure** officially\n\n\u26a0\ufe0f You can use `art` or `python -m art` to run this mode\n\t\t\n- List of arts : `art list` or `art arts`\n- List of fonts : `art fonts`\n- Text : `art text [yourtext] [fontname(optional)]`\n- Art : `art shape [artname]` or `art art [artname]`\n- Save : `art save [yourtext] [fontname(optional)]`\n- All : `art all [yourtext]`\n\n### Telegram bot\t\t\t\n\nJust send your text to one of these bots. \ud83d\udc47\ud83d\udc47\ud83d\udc47\ud83d\udc47\t\t\n\n<a href=\"https://t.me/artlib_bot\" target=\"__blank\"><img src=\"https://img.shields.io/badge/Telegram-Bot1-red.svg\"></a>\t\t\t\n\n<a href=\"https://t.me/textart_robot\" target=\"__blank\"><img src=\"https://img.shields.io/badge/Telegram-Bot2-blue.svg\"></a>\n\n\n### Try ART in your browser\n\n1. ART can be used online in interactive Jupyter Notebooks via the Binder service! Try it out now! :\t\n\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/sepandhaghighi/art/master)\n\n* Open `FontList.ipynb`, `ArtList.ipynb` and `DecorList.ipynb`\n* Edit and execute each part of the notes, step by step from the top panel by run button\n\n2. ART also can be used online in [ascii-generator.site](https://ascii-generator.site/), a Django website by [hermanTenuki](https://github.com/hermanTenuki)\t\n\n### Screen record\t\t\n\n\n<div align=\"center\">\n<a href=\"https://asciinema.org/a/186368\" target=\"_blank\"><img src=\"https://asciinema.org/a/186368.png\" /></a>\n<p>Screen Record</p>\n</div>\n\n* View full font list ([Link1](https://github.com/sepandhaghighi/art/blob/master/FontList.ipynb \"Full Font List\"),[Link2](https://www.ascii-art.site/FontList.html \"Full Font List\"))\t\t\t\t\t\n* View full art list ([Link1](https://github.com/sepandhaghighi/art/blob/master/ArtList.ipynb \"Full Art List\"),[Link2](https://www.ascii-art.site/ArtList.html \"Full Art List\"))\n* View full decoration list ([Link1](https://github.com/sepandhaghighi/art/blob/master/DecorList.ipynb \"Full Decoration List\"),[Link2](https://www.ascii-art.site/DecorList.html \"Full Decoration List\"))\n\n## Issues & bug reports\t\t\t\n\n1. Fill an issue and describe it. We'll check it ASAP!\n - Please complete the issue template\n2. Discord : [https://discord.com/invite/FAAyq3QJqP](https://discord.com/invite/FAAyq3QJqP)\n3. Website : [https://www.ascii-art.site](https://www.ascii-art.site)\n4. Email : [info@ascii-art.site](mailto:info@ascii-art.site \"info@ascii-art.site\")\n\n## References \n\n1. [FIGlet](http://www.figlet.org/)\n2. [1 Line Art](http://1lineart.kulaone.com/#/)\n3. [Text to ASCII](http://patorjk.com/software/taag/#p=display&f=Blocks&t=ART)\n4. [ASCII Generator](http://www.network-science.de/ascii/)\n5. [Asky](https://asky.io/)\n6. [Flipyourtext](https://www.flipyourtext.com/)\n7. [YayText](https://yaytext.com)\n8. [Coolletters](http://www.coolletters.net/)\n9. [Instagram Fonts](https://igfonts.io/)\n10. [Cool Symbol](https://coolsymbol.com/)\n11. [ASCII Moji](http://asciimoji.com/)\n12. [SMILEY COOL](https://smiley.cool/)\n13. [SPREZZ](https://www.sprezzkeyboard.com/)\n14. [Textart4u](http://textart4u.blogspot.com/2013/03/one-line-ascii-text-art.html?m=1)\n15. [Chat4o](https://en.chat4o.com/ascii/)\n16. [Findwebapp](http://www.findwebapp.com/ascii-art-one-liner/)\n17. [Hubpages](https://hubpages.com/technology/one-line-ascii-art-for-twitter)\n18. [ASCII-ART](http://www.ascii-art.de/ascii/mno/one_line.txt)\n19. [Messletters](https://www.messletters.com/en/)\n20. [Webestools](http://www.webestools.com/)\n21. [ASCII-emoji](https://github.com/dysfunc/ascii-emoji)\n22. [Instagram Fonts2](https://www.instagramfonts.com/)\n23. [Emotiworld](http://en.emotiworld.com/)\n24. [Fancy Text Pro](https://www.fancytextpro.com/)\n25. [Playing Cards in Unicode](https://en.m.wikipedia.org/wiki/Playing_cards_in_Unicode)\n26. [Text Generator](https://coolfonts.text-generator.org/)\n27. [GOGOTEXT](https://instafontsgen.codesdetail.com)\n28. [Fsymbols](https://fsymbols.com/)\n29. [Font Copy and Paste](https://www.fontcopypaste.com/)\n30. [Mega Cool Text](http://megacooltext.com/)\n31. [ToolCalculator](https://www.toolcalculator.com/)\n32. [Copy Paste Fonts](https://copy-paste-fonts.top/)\n\n\n* Logo designed by [Arta Khanalizadeh](https://www.linkedin.com/in/artakhanalizadeh)\t\n\n## Show your support\n\t\t\t\t\t\t\t\t\n<h3>Star this repo</h3>\t\t\t\t\t\n\nGive a \u2b50\ufe0f if this project helped you!\n\n<h3>Donate to our project</h3>\t\n\nIf you do like our project and we hope that you do, can you please support us? Our project is not and is never going to be working for profit. We need the money just so we can continue doing what we do ;-) .\t\t\t\n\n<a href=\"https://www.ascii-art.site/#support\" target=\"_blank\"><img src=\"https://github.com/sepandhaghighi/art/raw/master/otherfile/donate-button.png\" height=\"90px\" width=\"270px\" alt=\"Art Donation\"></a>\n\n<h3>Become a sponsor to ART</h3>\n\n* Contact us at the email first\t\n\n<h4>Corporate sponsor</h4>\n\n- **$250** a month\n- Your company's logo can be featured on **Readme**\n- Intended for small companies\n\n\n<h4>Mega corporate sponsor</h4>\n\n- **$500** a month\n- Your company's logo can be featured on **Readme** and **Website**\n- Intended for medium-sized companies\n\n## Acknowledgments\nSome parts of the infrastructure for this project are supported by:\n<p>\n <a href=\"https://www.digitalocean.com/\">\n <img src=\"https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg\" width=\"201px\" alt=\"DigitalOcean\">\n </a>\n</p>\n\n[Python Software Foundation (PSF)](https://www.python.org/psf/) grants ART library from version **6.3** to **6.6**. [PSF](https://www.python.org/psf/) is the organization behind Python. Their mission is to promote, protect, and advance the Python programming language and to support and facilitate the growth of a diverse and international community of Python programmers.\n\n<a href=\"https://www.python.org/psf/\"><img src=\"https://github.com/sepandhaghighi/art/raw/master/otherfile/PSF.png\" height=\"55px\" alt=\"Python Software Foundation\"></a>\n\n# Changelog\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)\nand this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).\n\n## [Unreleased]\n## [6.3] - 2024-09-19\n### Added\n- `data` directory\n- `tests` directory\n- 10 new font\n\t1. lolie\n\t2. zakia\n\t3. batman\n\t4. lord_of_the_ring\n\t5. kesia\n\t6. akila\n\t7. laurine\n\t8. bianca\n\t9. callian\n\t10. awa\n### Changed\n- `art_param` module changed to `params`\n- `art` module split into `errors`, `utils`, and `functions` modules\n- `text_dic1`, `text_dic2`, and `text_dic3` renamed to `fonts1`, `fonts2`, and `fonts3`\n- `art_dic` renamed to `arts`\n- `decor_dic` renamed to `decorations`\n- Fonts, arts, and decorations moved to `data` directory\n- Tests moved to `tests` directory\n- `Python 3.5` support dropped\n- Test system modified\n- `CONTRIBUTING.md` updated\n- `README.md` modified\n## [6.2] - 2024-04-22\n### Added\n- 5 new font\n\t1. alissa\n\t2. milka\n\t3. ozana\n\t4. shanna\n\t5. livia\n- `decoration_request.yml` template\n- `font_request.yml` template\n- `one_line_request.yml` template\n- `feature_request.yml` template\n- `config.yml` for issue template\n- `SECURITY.md`\n### Changed\n- Bug report template modified\n- Test system modified\n- `README.md` modified\n- [DigitalOcean](https://digitalocean.com/) logo added to `README.md`\n- `Python 3.12` added to `test.yml`\n## [6.1] - 2023-09-20\n### Changed\n- `font_size_splitter` function modified\n- `__detailed_return` parameter added to `art` function\n- `__detailed_return` parameter added to `text2art` function\n- Random mode name bug fixed\n- `__word2art` function modified\n- `art` function tail space bug fixed\n- `space` parameter bug fixed\n- `space` parameter added to `art` function\n- `space` parameter added to `aprint` function\n- `font_check.py` modified\n- `README.md` modified\n- `INSTALL.md` modified\n## [6.0] - 2023-06-14\n### Added\n- 6 new font\n\t1. vaporwave\n\t2. squiggle1\n\t3. squiggle2\n\t4. crazy2\n\t5. crazy3\n\t6. emoji\n### Changed\n- `font_wizard.py` modified\n- Drop Python 2.7 and 3.4 support\n- `space` parameter added to `tsave` function\n- `space` parameter added to `tprint` function\n- `space` parameter added to `text2art` function\n- `crazy` font renamed to `crazy1`\n- Test system modified\n- `codecov` removed from `dev-requirements.txt`\n- `README.md` modified\n- `INSTALL.md` modified\n## [5.9] - 2023-03-16\n### Added\n- 6 new font\n\t1. small_fancy\n\t2. boom\n\t3. cross_jesus\n\t4. dark_tattoo\n\t5. lucifer\n\t6. ascii_roman\n### Changed\n- Test system modified\n- `README.md` modified\n- `help_func` function modified\n- CLI mode updated\n## [5.8] - 2022-11-23\n### Added\n- 8 new font\n\t1. russian2\n\t2. got\n\t3. vip\n\t4. crazy\n\t5. cruse\n\t6. drippy\n\t7. stylish\n\t8. ayda\n### Changed\n- Test system modified\n- `Python 3.11` added to `test.yml`\n- `Conda-Forge` installing section added to `INSTALL.md`\n- Website changed to https://www.ascii-art.site\n### Removed\n- `testcov` and `testcov2` modes\n## [5.7] - 2022-07-06\n### Added\n- 5 new font\n\t1. fancy144\n\t2. fancy145\n\t3. fancy146\n\t4. fancy147\n\t5. fancy148\n- `ASCII_FONTS` list\n- `ASCII_ARTS` list\n## [5.6] - 2022-04-20\n### Added\n- 7 new font\n\t1. fancy141\n\t2. fancy142\n\t3. fancy143\n\t4. tarty6\n\t5. tarty7\n\t6. tarty8\n\t7. tarty9\n### Changed\n- Test system modified\n## [5.5] - 2022-03-02\n### Added\n- 5 new font\n\t1. tarty4\n\t2. tarty5\n\t3. fancy138\n\t4. fancy139\n\t5. fancy140\n- Anaconda workflow\n### Changed\n- `__word2art` function modified\n- `font_wizard.py` modified\n## [5.4] - 2021-12-22\n### Added\n- 10 new font\n\t1. fancy131\n\t2. fancy132\n\t3. fancy133\n\t4. fancy134\n\t5. fancy135\n\t6. fancy136\n\t7. fancy137\n\t8. tarty1\n\t9. tarty2\n\t10. tarty3\n- Discord badge\n### Changed\n- Some fonts width bug fixed\n- `test.py` modified\n- `font_wizard.py` modified\n- `font_check.py` modified\n- `art_decor_check.py` modified\n- `__word2art` function modified\n- `mix_letters` function modified\n- `AUTHORS.md` updated\n- License updated\n- `README.md` modified\n- `CONTRIBUTING.md` modified\n- `Python 3.10` added to `test.yml`\n### Removed\n- `greetings.yml`\n## [5.3] - 2021-08-30\n### Added\n- 10 new font\n\t1. smooth3\n\t2. flaky\n\t3. tiny_caps\n\t4. high_above\n\t5. handwriting3\n\t6. fantasy2\n\t7. manga\n\t8. upside_down2\n\t9. cool\n\t10. instagram\n### Changed\n- `fantasy` font renamed to `fantasy1`\n- `upside_down` font renamed to `upside_down1`\n- `sep` parameter added to `text2art`, `tprint`, `tsave` and `set_default` functions\n- Default line separator changed from `\\r\\n` to `\\n`\n- `__word2art` function modified\n- Escaped `\\ ` in string literals\n## [5.2] - 2021-05-05\n### Added\n- 10 new 1-line-art\n\t1. playing cards waterfall\n\t2. playing cards waterfall (trump)\n\t3. playing cards hearts waterfall\n\t4. playing cards diamonds waterfall\n\t5. playing cards clubs waterfall\n\t6. playing cards spades waterfall\n\t7. joker1\n\t8. joker2\n\t9. joker3\n\t10. joker4\n- 23 new decorations\n\t1. fancy87\n\t2. fancy88\n\t3. fancy89\n\t4. fancy90\n\t5. fancy91\n\t6. fancy92\n\t7. fancy93\n\t8. fancy94\n\t9. fancy95\n\t10. heart10\n\t11. heart11\n\t12. heart12\n\t13. heart13\n\t14. heart14\n\t15. heart15\n\t16. star18\n\t17. star19\n\t18. star20\n\t19. star21\n\t20. star22\n\t21. star23\n\t22. star24\n\t23. star25\n- 5 new fonts\n\t1. old_italic\n\t2. ninja\n\t3. tai_viet\n\t4. subscript2\n\t5. fancy130\n### Changed\n- Test system modified\n- `subscript` font renamed to `subscript1`\n- Logo changed\n## [5.1] - 2020-11-30\n### Added\n- 15 new fonts\n\t1. fancy120\n\t2. fancy121\n\t3. fancy122\n\t4. fancy123\n\t5. fancy124\n\t6. fancy125\n\t7. fancy126\n\t8. fancy127\n\t9. fancy128\n\t10. fancy129\n\t11. bud1\n\t12. bud2\n\t13. pin1\n\t14. pin2\n\t15. sign\n- 45 new art\n\t1. surprised4\n\t2. surprised5\n\t3. surprised6\n\t4. surprised7\n\t5. surprised8\n\t6. surprised9\n\t7. surprised10\n\t8. surprised11\n\t9. surprised12\n\t10. surprised13\n\t11. surprised14\n\t12. surprised15\n\t13. surprised16\n\t14. surprised17\n\t15. surprised18\n\t16. surprised19\n\t17. surprised20\n\t18. confused3\n\t19. confused4\n\t20. confused5\n\t21. confused6\n\t22. confused7\n\t23. confused8\n\t24. confused9\n\t25. confused10\n\t26. table flip2\n\t27. table flip3\n\t28. table flip4\n\t29. table flip5\n\t30. table flip6\n\t31. table flip7\n\t32. table flip8\n\t33. table flip9\n\t34. table flip10\n\t35. bear2\n\t36. spider4\n\t37. cat4\n\t38. swim\n\t39. swim2\n\t40. swim3\n\t41. yawning\n\t42. boobs2\n\t43. airplane3\n\t44. gun4\n\t45. cthulhu2\n## [5.0] - 2020-11-16\n### Added\n- 5 new fonts\n\t1. shasha\n\t2. fancy116\n\t3. fancy117\n\t4. fancy118\n\t5. fancy119\n- 60 new art\n\t1. hello2\n\t2. dunno2\n\t3. dunno3\n\t4. dunno4\n\t5. dunno5\n\t6. happy6\n\t7. happy7\n\t8. happy8\n\t9. happy9\n\t10. happy10\n\t11. happy11\n\t12. happy12\n\t13. happy13\n\t14. happy14\n\t15. happy15\n\t16. happy16\n\t17. happy17\n\t18. happy18\n\t19. happy19\n\t20. happy20\n\t21. happy21\n\t22. happy22\n\t23. happy23\n\t24. happy24\n\t25. happy25\n\t26. happy26\n\t27. happy27\n\t28. love4\n\t29. kiss2\n\t30. kiss3\n\t31. kissing2\n\t32. kissing3\n\t33. kissing4\n\t34. kissing5\n\t35. kissing6\n\t36. cute face2\n\t37. cute face3\n\t38. cute face4\n\t39. cute face5\n\t40. cute face6\n\t41. cute face7\n\t42. cute face8\n\t43. cute face9\n\t44. upset\n\t45. pistols4\n\t46. pistols5\n\t47. mad\n\t48. mad2\n\t49. mad3\n\t50. mad4\n\t51. mad5\n\t52. mad6\n\t53. mad7\n\t54. mad8\n\t55. mad9\n\t56. mad10\n\t57. finger3\n\t58. finger4\n\t59. sad5\n\t60. sad6\n### Changed\n- `random` mode added to `decor` function\n- `both` parameter added to `decor` function\n- `art` function modified\n- `indirect_font` function modified\n## [4.9] - 2020-10-16\n### Added\n- 10 new fonts\n\t1. foxy\n\t2. fancy109\n\t3. fancy110\n\t4. fancy111\n\t5. fancy112\n\t6. fancy113\n\t7. fancy114\n\t8. fancy115\n\t9. sheqi\n\t10. fari\n### Changed\n- `font_wizard.py` script updated\n- `README.md` modified\n## [4.8] - 2020-09-16\n### Added\n- 96 new art\n\t1. angry birds\n\t2. angry face2\n \t3. angry troll\n \t4. at what cost\n \t5. barf\n \t6. basking in glory\n \t7. bear GTFO\n\t8. bear squiting\n\t9. boxing\n\t10. breakdown\n\t11. careless\n\t12. chasing\n\t13. cheers\n\t14. chicken\n\t15. confused scratch\n\t16. crazy\n\t17. creeper\n\t18. cry face\n\t19. cry troll\n\t20. cute face\n\t21. dance2\n\t22. dancing\n\t23. dear god why\n\t24. devious smile\n\t25. disagree\n\t26. discombobulated\n\t27. dislike1\n\t28. dislike2\n\t29. do you even lift bro?\n\t30. double flip\n\t31. emo dance\n\t32. excited\n\t33. exorcism\n\t34. eye roll\n\t35. feel perky\n\t36. fido\n\t37. fight\n\t38. fisticuffs\n\t39. flip friend\n\t40. fly away\n\t41. flying\n\t42. fuck you2\n\t43. happy face\n\t44. happy hug\n\t45. hitchhicking\n\t46. hugger\n\t47. im a hugger\n\t48. injured\n\t49. innocent face\n\t50. japanese lion face\n\t51. judgemental\n\t52. judging\n\t53. kissing\n\t54. kitty emote\n\t55. listening to headphones\n\t56. looking down\n\t57. love3\n\t58. meow\n\t59. no support\n\t60. opera\n\t61. peepers\n\t62. pretty eyes\n\t63. put the table back\n\t64. resting my eyes\n\t65. robot3\n\t66. running\n\t67. sad and confused\n\t68. sad and crying\n\t69. sad face\n\t70. satisfied\n\t71. seal\n\t72. shark face\n\t73. shy\n\t74. sleepy\n\t75. staring\n\t76. stranger danger\n\t77. strut\n\t78. stunna shades\n\t79. surprised2\n\t80. taking a dump\n\t81. tgif\n\t82. things that can_t be unseen\n\t83. tidy up\n\t84. tired\n\t85. touchy feely\n\t86. tripping out\n\t87. trolling\n\t88. wave dance\n\t89. whisling\n\t90. winnie the pooh\n\t91. winning\n\t92. wizard2\n\t93. worried\n\t94. yun\n\t95. zombie2\n\t96. zoned\n### Changed\n- `surprised2` 1-line art renamed to `surprised3`\n- `art_decor_check.py` script updated\n- `font_check.py` script updated \n- `font_wizard.py` script updated\n## [4.7] - 2020-05-20\n### Added\n- `art_decor_check.py` file\n- Greeting GitHub actions\n- 185 new decorations\n\t1. angry1\n\t2. arrow1\n\t3. arrow2\n\t4. arrow3\n\t5. arrow4\n\t6. arrow5\n\t7. arrow6\n\t8. arrow7\n\t9. arrow8\n\t10. arrow_wave1\n\t11. arrow_wave2\n\t12. ball1\n\t13. ball2\n\t14. ball3\n\t15. bazar1\n\t16. block1\n\t17. block2\n\t18. bow1\n\t19. bubble\n\t20. cat1\n\t21. cat2\n\t22. cat3\n\t23. cell1\n\t24. confused1\n\t25. confused2\n\t26. cross1\n\t27. depressed\n\t28. diamon3\n\t29. diamond1\n\t30. diamond2\n\t31. egypt1\n\t32. emotions1\n\t33. fancy1\n\t34. fancy2\n\t35. fancy3\n\t36. fancy4\n\t37. fancy5\n\t38. fancy6\n\t39. fancy7\n\t40. fancy8\n\t41. fancy9\n\t42. fancy10\n\t43. fancy11\n\t44. fancy12\n\t45. fancy13\n\t46. fancy14\n\t47. fancy15\n\t48. fancy16\n\t49. fancy17\n\t50. fancy18\n\t51. fancy19\n\t52. fancy20\n\t53. fancy21\n\t54. fancy22\n\t55. fancy23\n\t56. fancy24\n\t57. fancy25\n\t58. fancy26\n\t59. fancy27\n\t60. fancy28\n\t61. fancy29\n\t62. fancy30\n\t63. fancy31\n\t64. fancy32\n\t65. fancy33\n\t66. fancy34\n\t67. fancy35\n\t68. fancy36\n\t69. fancy37\n\t70. fancy38\n\t71. fancy39\n\t72. fancy40\n\t73. fancy41\n\t74. fancy42\n\t75. fancy43\n\t76. fancy44\n\t77. fancy45\n\t78. fancy46\n\t79. fancy47\n\t80. fancy48\n\t81. fancy49\n\t82. fancy50\n\t83. fancy51\n\t84. fancy52\n\t85. fancy53\n\t86. fancy54\n\t87. fancy55\n\t88. fancy56\n\t89. fancy57\n\t90. fancy58\n\t91. fancy59\n\t92. fancy60\n\t93. fancy61\n\t94. fancy62\n\t95. fancy63\n\t96. fancy64\n\t97. fancy65\n\t98. fancy66\n\t99. fancy67\n\t100. fancy68\n\t101. fancy69\n\t102. fancy70\n\t103. fancy71\n\t104. fancy72\n\t105. fancy73\n\t106. fancy74\n\t107. fancy75\n\t108. fancy76\n\t109. fancy77\n\t110. fancy78\n\t111. fancy79\n\t112. fancy80\n\t113. fancy81\n\t114. fancy82\n\t115. fancy83\n\t116. fancy84\n\t117. fancy85\n\t118. fancy86\n\t119. flame1\n\t120. flower1\n\t121. food1\n\t122. food2\n\t123. haha\n\t124. happy1\n\t125. happy_new_year\n\t126. hawaii1\n\t127. hawaii2\n\t128. heart1\n\t129. heart2\n\t130. heart3\n\t131. heart4\n\t132. heart5\n\t133. heart6\n\t134. heart7\n\t135. heart8\n\t136. heart9\n\t137. line1\n\t138. line2\n\t139. line3\n\t140. line4\n\t141. love_music\n\t142. missile1\n\t143. mountain1\n\t144. mountain2\n\t145. mountain3\n\t146. music1\n\t147. music2\n\t148. music3\n\t149. pencil1\n\t150. poker1\n\t151. puzzle1\n\t152. puzzle2\n\t153. puzzle3\n\t154. sad2\n\t155. sad3\n\t156. sad4\n\t157. smile1\n\t158. snow1\n\t159. snow2\n\t160. star3\n\t161. star4\n\t162. star5\n\t163. star6\n\t164. star7\n\t165. star8\n\t166. star9\n\t167. star10\n\t168. star11\n\t169. star12\n\t170. star13\n\t171. star14\n\t172. star15\n\t173. star16\n\t174. star17\n\t175. temple1\n\t176. title1\n\t177. tree1\n\t178. wall1\n\t179. wave3\n\t180. wave4\n\t181. wave5\n\t182. wave6\n\t183. wave7\n\t184. wave8\n\t185. wave9\n### Changed\n- `text` parameter removed from `art` and `aprint` functions\n- `README.md` modified\n- `CONTRIBUTING.md` modified\n- MATLAB examples updated\n- `kitty2` 1-line art renamed to `kitty`\n### Removed\n- 5 bipartite 1-line art\n\t1. love you\n\t2. message1\n\t3. message2\n\t4. musical\n\t5. text decoration\n- 12 duplicate 1-line art\n\t1. dog\n\t2. human\n\t3. mis mujeres\n\t4. 100$\n\t5. worm2\n\t6. stars in my eyes\n\t7. chainsword\n\t8. badass\n\t9. aliens\n\t10. this guy\n\t11. kitty1\n\t12. don fuller\n## [4.6] - 2020-03-30\n### Added\n- `NON_ASCII_ARTS` list\n- `decor_dic.py` file\n- `codecov.yml` file\n- `decor` function\n- `decor_list` function\n- `DecorList.ipynb` notebook\n- 10 new decorations\n\t1. barcode1\n\t2. champion1\n\t3. chess1\n\t4. lucky1\n\t5. sad1\n\t6. soccer1\n\t7. star1\n\t8. star2\n\t9. wave1\n\t10. wave2\n- 20 new fonts\n\t1. scammer\n\t2. strikethrough\n\t3. drako\n\t4. celtic\n\t5. fasion\n\t6. curly\n\t7. russian\n\t8. messletters\n\t9. swirly\n\t10. dotted\n\t11. parenthesized\n\t12. strange\n\t13. wiggly\n\t14. hazy\n\t15. hyves\n\t16. awcute\n\t17. slammer\n\t18. coptic1\n\t19. coptic2\n\t20. fancy108\n### Changed\n- `README.md` modified\n- `CONTRIBUTING.md` modified\n- MATLAB examples updated\n- `setup.py` modified\n- `coverage` dependency moved to `extras_require`\n- Test system modified\n- `random` mode modified\n- `test` parameter removed from `font_list` function\n- `mode` parameter added to `font_list` and `art_list` functions\n- `decoration` parameter added to `text2art`, `tprint` and `tsave` functions\n- `\\n` support bug fixed\n- `tsave` function bug in Windows fixed\n### Removed\n- `requirements.txt`\n## [4.5] - 2020-01-29\n### Added\n- 35 new fonts\n\t1. smooth1\n\t2. smooth2\n\t3. carrier1\n\t4. carrier2\n\t5. cute1\n\t6. cute2\n\t7. cute3\n\t8. cjk\n\t9. malayalam\n\t10. lilia\n\t11. dwarf\n\t12. awesome\n\t13. lopioo\n\t14. cranky\n\t15. fancy87\n\t16. fancy88\n\t17. fancy89\n\t18. fancy90\n\t19. fancy91\n\t20. fancy92\n\t21. fancy93\n\t22. fancy94\n\t23. fancy95\n\t24. fancy96\n\t25. fancy97\n\t26. fancy98\n\t27. fancy99\n\t28. fancy100\n\t29. fancy101 \n\t30. fancy102\n\t31. fancy103\n\t32. fancy104\n\t33. fancy105\n\t34. fancy106\n\t35. fancy107\n- 43 new 1-line art\n\t1. fish6\n\t2. loch ness monster\n\t3. mouse5\n\t4. mouse6\n\t5. mouse7\n\t6. sheep\n\t7. pie fight\n\t8. rose5\n\t9. rose6\n\t10. rose7\n\t11. concerned\n\t12. happy4\n\t13. happy5\n\t14. coffee2\n\t15. coffee3\n\t16. coffee4\n\t17. headphone3\n\t18. carpet roll\n\t19. infinity\n\t20. computer mouse\n\t21. volcano1\n\t22. volcano2\n\t23. volcano3\n\t24. squigle with spirals\n\t25. palm tree\n\t26. crotch shot\n\t27. vagina\n\t28. stealth fighter\n\t29. tent1\n\t30. tent2\n\t31. power lines\n\t32. tree stump\n\t33. hammer\n\t34. arrow2\n\t35. sword10\n\t36. fish skeleton2\n\t37. fork\n\t38. pipe\n\t39. dead guy\n\t40. dead girl\n\t41. dead child\n\t42. dude glasses1\n\t43. dude glasses2\n### Changed\n- `README.md` modified\n- `INSTALL.md` modified\n- `coffee` 1-line art renamed to `coffee1`\n- `arrow` 1-line art renamed to `arrow1`\n- `fish skeleton` 1-line art renamed to `fish skeleton1`\n## [4.4] - 2019-12-26\n### Added\n- 68 new 1-line art\n\t1. smile\n\t2. toungue out1\n\t3. toungue out2\n\t4. bad hair1\n\t5. bad hair2\n\t6. woops\n\t7. screaming\n\t8. full mouth\n\t9. cussing\n\t10. ready to cry\n\t11. crying2\n\t12. druling1\n\t13. druling2\n\t14. big kiss\n\t15. french kiss\n\t16. wink\n\t17. big smile\n\t18. smirk\n\t19. confused1\n\t20. confused2\n\t21. pursing lips\n\t22. shocked2\n\t23. really sad\n\t24. baseball fan\n\t25. angel2\n\t26. really mad\n\t27. licking lips\n\t28. buck teeth\n\t29. surprised1\n\t30. alien\n\t31. sunglasses2\n\t32. don king\n\t33. devilish smile\n\t34. devilish grin\n\t35. clowning\n\t36. bugs bunny\n\t37. kitty2\n\t38. fish skeleton\n\t39. snowman2\n\t40. marshmallows\n\t41. nerd\n\t42. mouse4\n\t43. pistols3\n\t44. rock on2\n\t45. love in my eye2\n\t46. love in my eye3\n\t47. sad3\n\t48. sad4\n\t49. headphone2\n\t50. cigarette1\n\t51. spider3\n\t52. barcode2\n\t53. equalizer\n\t54. boombox2\n\t55. surprised2\n\t56. playing cards\n\t57. playing cards hearts\n\t58. playing cards diamonds\n\t59. playing cards spades\n\t60. playing cards clubs\n\t61. spade bold\n\t62. heart bold\n\t63. diamond bold\n\t64. club bold\n\t65. spade regular\n\t66. heart regular\n\t67. diamond regular\n\t68. club regular\n- MATLAB examples\n### Changed\n- Bipartite art deprecated\n- `crying` 1-line art renamed to `crying1`\n- `shocked` 1-line art renamed to `shocked1`\n- `angel` 1-line art renamed to `angel1`\n- `sunglasses` 1-line art renamed to `sunglasses1`\n- `kitty` 1-line art renamed to `kitty1`\n- `snowman` 1-line art renamed to `snowman1`\n- `barcode` 1-line art renamed to `barcode1`\n- `cigaret` 1-line art renamed to `cigarette3`\n- `cigarette` 1-line art renamed to `cigarette2`\n- `headphone` 1-line art renamed to `headphone1`\n- `rock on` 1-line art renamed to `rock on1`\n- `boom box` 1-line art renamed to `boombox1`\n- `love in my eye` 1-line art renamed to `love in my eye1`\n- `CONTRIBUTING.md` modified\n- `TEST_FILTERED_FONTS` renamed to `NON_ASCII_FONTS`\n- `RANDOM_FILTERED_FONTS` and `NON_ASCII_FONTS` lists optimized\n- `README.md` modified\n- `appveyor.yml` modified\n- `INSTALL.md` modified\n- `wizard` mode modified\n## [4.3] - 2019-12-05\n### Added\n- 35 new 1-line art\n\t1. cup1\n\t2. cup2\n\t3. gun2\n\t4. gun3\n\t5. fish3\n\t6. fish4\n\t7. fish5\n\t8. sword6\n\t9. sword7\n\t10. sword8\n\t11. sword9\n\t12. knife2\n\t13. barcode\n\t14. loading1\n\t15. loading3\n\t16. loading4\n\t17. loading5\n\t18. loading6\n\t19. bat2\n\t20. band aid\n\t21. mouse2\n\t22. mouse3\n\t23. cat3\n\t24. needle2\n\t25. rose4\n\t26. electrocardiogram1\n\t27. electrocardiogram2\n\t28. electrocardiogram3\n\t29. electrocardiogram4\n\t30. snail2\n\t31. american money2\n\t32. american money3\n\t33. american money4\n\t34. american money5\n\t35. cassette2\n- 10 new fonts\n\t1. sarah\n\t2. hippie\n\t3. minion\n\t4. greek_legends\n\t5. funky_fresh\n\t6. atlantic\n\t7. foreign_friends\n\t8. native_lands\n\t9. sunday_cuddle\n\t10. chinese_mafia\n### Changed\n- `gun` 1-line art renamed to `gun1`\n- `knife` 1-line art renamed to `knife1`\n- `loading` 1-line art renamed to `loading2`\n- `bat` 1-line art renamed to `bat1`\n- `mouse` 1-line art renamed to `mouse1`\n- `needle` 1-line art renamed to `needle2`\n- `snail` 1-line art renamed to `snail1`\n- `american money` 1-line art renamed to `american money1`\n- `cassette` 1-line art renamed to `cassette1`\n- Test system modified\n## [4.2] - 2019-10-30\n### Added\n- 14 new fonts\n\t1. smallcaps3\n\t2. fraktur2\n\t3. bold_fraktur\n\t4. bold_script\n\t5. handwriting1\n\t6. handwriting2\n\t7. rusify\n\t8. monospace\n\t9. dirty2\n\t10. knight2\n\t11. h4k3r\n\t12. thin3\n\t13. tiny2\n\t14. upside_down\n- `FONT_NAMES` variable\n- `ART_NAMES` variable\n### Changed\n- Namespace optimized\n- Website changed to https://www.4r7.ir\n## [4.1] - 2019-09-26\n### Added\n- 20 new fonts\n\t1. fancy75\n\t2. fancy76\n\t3. fancy77\n\t4. fancy78\n\t5. love1\n\t6. fancy79\n\t7. fancy80\n\t8. fancy81\n\t9. fancy82\n\t10. fancy83\n\t11. fancy84\n\t12. fancy85\n\t13. fancy86\n\t14. contouring3\n\t15. contouring4\n\t16. love2\n\t17. black_square\n\t18. white_square\n\t19. black_bubble\n\t20. paranormal\n- `get_font_dic` function\n### Changed\n- `font_check.py` modified\n- `font_wizard.py` modified\n- `CONTRIBUTING.md` modified\n## [4.0] - 2019-09-12\n### Added\n- `install.sh`\n- `autopep8.sh`\n- 21 new fonts\n\t1. fancy56\n\t2. fancy57\n\t3. fancy58\n\t4. fancy59\n\t5. fancy60\n\t6. fancy61\n\t7. fancy62\n\t8. fancy63\n\t9. fanyc64\n\t10. fancy65\n\t11. fancy66\n\t12. fancy67\n\t13. fancy68\n\t14. fancy69\n\t15. fanyc70\n\t16. fancy71\n\t17. fancy72\n\t18. fancy73\n\t19. fancy74\n\t20. contouring1\n\t21. contouring2\n### Changed\n- `test.sh` moved to `.travis` folder\n- `font_wizard.py` updated\n- `font_check.py` updated\n- `tsave` function bugs fixed\n- `aprint` and `tprint` functions modified\n- Test system modified\n- `overwrite` parameter added to `tsave` and `set_default` functions\n- `README.md` modified\n- `CONTRIBUTING.md` modified\n## [3.9] - 2019-08-21\n### Added\n- `__version__` variable\n- `font_wizard.py`\n- 15 new fonts\n\t1. fancy41\n\t2. fancy42\n\t3. fancy43\n\t4. fancy44\n\t5. fancy45\n\t6. fancy46\n\t7. fancy47\n\t8. fancy48\n\t9. fancy49\n\t10. fancy50\n\t11. fancy51\n\t12. fancy52\n\t13. fancy53\n\t14. fancy54\n\t15. fancy55\n### Changed\n- `VERSION` variable renamed to `ART_VERSION`\n- Some fonts moved to `text_dic3.py`\n- `ISSUE_TEMPLATE.md` modified\n- `CONTRIBUTING.md` modified\n## [3.8] - 2019-07-19\n### Added\n- 11 new fonts\n\t1. fancy31\n\t2. fancy32\n\t3. fancy33\n\t4. fancy34\n\t5. symbols\n\t6. fancy35\n\t7. fancy36\n\t8. fancy37\n\t9. fancy38\n\t10. fancy39\n\t11. fancy40\n- 20 new 1-line art\n\t1. acid\n\t2. arrowhead\n\t3. awkward\n\t4. because\n\t5. blackeye\n\t6. catlenny\n\t7. dab\n\t8. damnyou\n\t9. depressed\n\t10. dunno\n\t11. eeriemob\n\t12. envelope\n\t13. fart\n\t14. finn\n\t15. frown\n\t16. glitter\n\t17. gotit\n\t18. hello\n\t19. loading\n\t20. meep\n### Changed\n- `dev-requirements.txt` modified\n## [3.7] - 2019-06-24\n### Added\n- 3 new fonts\n\t1. fancy28\n\t2. fancy29\n\t3. fancy30\n- `mix` mode\n### Changed\n- Duplication test added to`font_check.py`\n- `README.md` modified\n- fancy11 and fancy14 fonts updated\n- `indirect_font` function modified\n### Removed\n- 9 duplicate fonts\n\t1. magical\n\t2. morse2\n\t3. fire_font-k\n\t4. paranormal\n\t5. battle_s\n\t6. ntgreek\n\t7. peaksslant\n\t8. sorcerer\n\t9. nancyj-improved\n## [3.6] - 2019-05-15\n### Added\n- 20 new fonts\n\t1. fancy8\n\t2. fancy9\n\t3. fancy10\n\t4. fancy11\n\t5. fancy12\n\t6. fancy13\n\t7. fancy14\n\t8. fancy15\n\t9. fancy16\n\t10. fancy17\n\t11. fancy18\n\t12. fancy19\n\t13. fancy20\n\t14. fancy21\n\t15. fancy22\n\t16. fancy23\n\t17. fancy24\n\t18. fancy25\n\t19. fancy26\n\t20. fancy27\n### Changed\n- Drop Python 3.3 support\n## [3.5] - 2019-05-04\n### Added\n- 15 new fonts\n\t1. magical\n\t2. paranormal\n\t3. sorcerer\n\t4. special\n\t5. dirty\n\t6. knight\n\t7. thin2\n\t8. tiny\n\t9. fancy1\n\t10. fancy2\n\t11. fancy3\n\t12. fancy4\n\t13. fancy5\n\t14. fancy6\n\t15. fancy7\n## [3.4] - 2019-04-20\n### Added\n- 7 new fonts\n\t1. white_bubble\n\t2. smallcaps2\n\t3. superscript\n\t4. subscript\n\t5. full_width\n\t6. currency\n\t7. antrophobia\n- `text2art` function support of `\\n`\n- `rnd-na` mode\n### Changed\n- `tprint` function modified\n- `tsave` function modified\n- `README.md` modified\n- `random` mode modified\n## [3.3] - 2019-04-10\n### Added\n- 3 new fonts\n\t1. mirror\n\t2. flip\n\t3. mirror_flip\n- 40 new 1-line art\n\t1. dead eyes\n\t2. satan\n\t3. bomb\n\t4. sleepy coffee\n\t5. high five\n\t6. wtf dude?\n\t7. fungry\n\t8. derp\n\t9. drwoning\n\t10. almost cared\n\t11. yessir\n\t12. coffee now\n\t13. round cat\n\t14. squee\n\t15. round bird\n\t16. hoxom\n\t17. squid\n\t18. man spider\n\t19. spell cast\n\t20. jazz musician\n\t21. myan cat\n\t22. gimme\n\t23. crab\n\t24. playing in snow\n\t25. sunglasses\n\t26. mini penis\n\t27. victory\n\t28. don fuller\n\t29. dgaf\n\t30. ryans dick\n\t31. eds dick\n\t32. point\n\t33. afraid\n\t34. laughing\n\t35. energy\n\t36. drunkenness\n\t37. error\n\t38. penis2\n\t39. exchange\n\t40. singing2\n- `test2.py`\n- `font_check.py`\n### Changed\n- `test_mode` parameter added to `font_list` function\n- `all` flag bug fixed\n- `__main__.py` modified\n- Warnings and errors messages moved to `art_param.py`\n- Art random mode modified\n## [3.2] - 2019-04-02\n### Added\n- 30 new 1-line art\n\t1. shrug\n\t2. flex\n\t3. this guy\n\t4. why\n\t5. meditation\n\t6. kitty\n\t7. pac man\n\t8. emo\n\t9. shark attack\n\t10. shocked\n\t11. monocle\n\t12. piggy\n\t13. camera\n\t14. what??\n\t15. neo\n\t16. lenny\n\t17. snowing\n\t18. dick\n\t19. wizard\n\t20. wat \n\t21. chu\n\t22. butt\n\t23. sophie\n\t24. joy\n\t25. bautista\n\t26. smooth\n\t27. fuckall\n\t28. penis\n\t29. wat-wat\n\t30. fail\n- `pydocstyle` test\n### Changed\n- Docstrings modified\n- Some fonts lowercase bug fixed\n- Font random modes modified\n- `test_mode` parameter removed from `font_list` function\n\n## [3.1] - 2019-03-06\n### Added\n- 30 new 1-line art\n\t1. rose3\n\t2. cigaret\n\t3. oar\n\t4. sword5\n\t5. car\n\t6. hacksaw\n\t7. canoe\n\t8. spider1\n\t9. machinegun\n\t10. roadblock\n\t11. aliens\n\t12. marge simpson\n\t13. homer simpson\n\t14. bat\n\t15. superman logo\n\t16. dna sample\n\t17. mail box\n\t18. ufo1\n\t19. ufo2\n\t20. spider2\n\t21. american money\n\t22. british money\n\t23. teepee\n\t24. heart3\n\t25. angel\n\t26. shark\n\t27. regular ass\n\t28. fat ass\n\t29. kiss my ass\n\t30. devil\n- 15 new fonts\n\t1. future_1\n\t2. future_2\n\t3. future_3\n\t4. future_4\n\t5. future_5\n\t6. future_6\n\t7. future_7\n\t8. future_8\n\t9. gauntlet\n\t10. ghost_bo\n\t11. grand_pr\n\t12. green_be\n\t13. hades\n\t14. heavy_me\n\t15. nfi1\n### Changed\n- `README.md` modified\n- `art` function typo-tolerance threshold modified\n\n## [3.0] - 2019-02-11\n### Added\n- 20 new fonts\n\t1. druid\n\t2. e_fist\n\t3. ebbs_1\n\t4. ebbs_2\n\t5. eca\n\t6. faces_of\n\t7. fair_mea\n\t8. fairligh\n\t9. fantasy\n\t10. fbr12\n\t11. fbr1\n\t12. fbr2\n\t13. fbr_stri\n\t14. fbr_tilt\n\t15. finalass\n\t16. fireing\n\t17. flyn_sh\n\t18. fp1\n\t19. fp2\n\t20. funky_dr\n- `CODE_OF_CONDUCT.md`\n- `PULL_REQUEST_TEMPLATE.md`\n- `ISSUE_TEMPLATE.md`\n- `vulture` test\n- `bandit` test\n### Changed\n- `README.md` modified\n- `CONTRIBUTING.md` modified\n- `font_map` renamed to `FONT_MAP`\n- `font_counter` renamed to `FONT_COUNTER`\n- `art_counter` renamed to `ART_COUNTER`\n- Constants and parameters moved to `art_param.py`\n\n\n## [2.9] - 2019-01-24\n### Added\n- 20 new fonts\n\t1. aquaplan\n\t2. ascii\n\t3. c_consen\n\t4. clb6x10\n\t5. clb8x10\n\t6. clb8x8\n\t7. cli8x8\n\t8. clr4x6\n\t9. clr5x10\n\t10. clr5x6\n\t11. clr5x8\n\t12. clr6x10\n\t13. clr6x6\n\t14. clr6x8\n\t15. clr7x8\n\t16. clr8x10\n\t17. clr8x8\n\t18. coil_cop\n\t19. com_sen\n\t20. c_ascii\n- `wizard` mode\n- Interactive notebooks section (binder)\n- `.coveragerc`\n- `version_check.py`\n### Changed\n- `README.md` modified\n- Minor bug in coverage system fixed\n- `.travis.yml` modified\n- `font_size_splitter` function thresholds fixed\n\n## [2.8] - 2019-01-01\n### Added\n- 20 new fonts\n\t1. zone7\n\t2. zig_zag\n\t3. yie_ar_k\n\t4. yie-ar\n\t5. xtty\n\t6. war_of_w\n\t7. vortron\n\t8. utopia\n\t9. utopiai\n\t10. utopiabi\n\t11. utopiab\n\t12. usa_pq\n\t13. usa\n\t14. unarmed\n\t15. ugalympi\n\t16. ucf_fan\n\t17. type_set\n\t18. twin_cob\n\t19. tsn_base\n\t20. z-pilot\n- `rnd-small` mode\n- `rnd-medium` mode\n- `rnd-large` mode\n- `rnd-xlarge` mode\n### Changed\n- `README.md` modified\n\n## [2.7] - 2018-12-23\n### Added\n- 30 new fonts\n\t1. heroboti\n\t2. high_noo\n\t3. hills\n\t4. home_pak\n\t5. house_of\n\t6. hypa_bal\n\t7. hyper\n\t8. inc_raw\n\t9. italics\n\t10. kgames_i\n\t11. kik_star\n\t12. krak_out\n\t13. 4x4_offr\n\t14. 5x7\n\t15. 5x8\n\t16. 64f1\n\t17. 6x10\n\t18. 6x9\n\t19. a_zooloo\n\t20. asc\n\t21. assalt_m\n\t22. asslt_m\n\t23. atc\n\t24. atc_gran\n\t25. battle_s\n\t26. battlesh\n\t27. baz_bil\n\t28. beer_pub\n\t29. c1\n\t30. c2\n- `art_profile.py`\n### Changed\n- Docstring modified\n- `B1FF` font bug fixed\n- `ICL-1900` font bug fixed\n- `AK-47` 1-line art bug fixed\n- `I kill you` 1-line art bug fixed\n\n## [2.6] - 2018-12-05\n### Added\n- 20 new fonts\n\t1. xbrite\n\t2. xbriteb\n\t3. xbritei\n\t4. xbritebi\n\t5. xchartr\n\t6. xchartri\n\t7. xcour\n\t8. xcourb\n\t9. xcourbi\n\t10. xcouri\n\t11. xhelv\n\t12. xhelvb\n\t13. xhelvbi\n\t14. xhelvi\n\t15. xsans\n\t16. xsansb\n\t17. xsansbi\n\t18. xsansi\n\t19. xtimes\n\t20. xttyb\n- CLI `testcov` flag\n### Changed\n- `requirements.txt` modified\n- `INSTALL.md` modified\n- CLI `test` flag modified\n\n## [2.5] - 2018-12-02\n### Added\n- 15 new fonts\n\t1. char1\n\t2. char2\n\t3. char3\n\t4. char4\n\t5. charact1\n\t6. charact2\n\t7. charact3\n\t8. charact4\n\t9. charact5\n\t10. charact6\n\t11. characte\n\t12. chartr\n\t13. chartri\n\t14. 1943\n\t15. advenger\n- `dev-requirements.txt`\n\n### Changed\n- `Python 3.7` added to `.travis.yml` & `appveyor.yml`\n- `font_list` modified\n- `README.md` modified\n- `INSTALL.md` modified\n\n## [2.4] - 2018-10-30\n### Added\n- 10 new fonts\n\t1. alpha\n\t2. alligator3\n\t3. amc3liv1\n\t4. ascii_new_roman\n\t5. B1FF\n\t6. dwhistled\n\t7. eftiwall\n\t8. fire_font-k\n\t9. fire_font-s\n\t10. gradient\n### Changed\n- `requirements.txt` modified\n\n## [2.3] - 2018-09-30\n### Added\n- 35 new fonts\n\t1. nancyj-improved\n\t2. nscript\n\t3. ntgreek\n\t4. nvscript\n\t5. octal\n\t6. oldbanner\n\t7. os2\n\t8. peaksslant\n\t9. puzzle\n\t10. rammstein\n\t11. red_phoenix\n\t12. runyc\n\t13. santaclara\n\t14. shimrod\n\t15. smallcaps\n\t16. smpoison\n\t17. soft\n\t18. spliff\n\t19. stacey\n\t20. stampate\n\t21. stforek\n\t22. sub-zero\n\t23. swampland\n\t24. sweet\n\t25. ticks\n\t26. ticksslant\n\t27. tiles\n\t28. tsalagi\n\t29. tubular\n\t30. twisted\n\t31. varsity\n\t32. wavy\n\t33. wetletter\n\t34. whimsy\n\t35. wow\n\n## [2.2] - 2018-09-24\n### Added\n- 15 new fonts\n\t1. ICL-1900\n\t2. impossible\n\t3. jacky\n\t4. katakana\n\t5. keyboard\n\t6. knob\n\t7. lildevil\n\t8. lineblocks\n\t9. merlin1\n\t10. merlin2\n\t11. modular\n\t12. morse\n\t13. morse2\n\t14. moscow\n\t15. muzzle\n- `set_default` function\n- `randart` function\n\n## [2.1] - 2018-09-18\n### Added\n- 15 new fonts\n\t1. fraktur\n\t2. funface\n\t3. funfaces\n\t4. georgi16\n\t5. georgia11\n\t6. ghost\n\t7. ghoulish\n\t8. glenyn\n\t9. graceful\n\t10. greek\n\t11. heartleft\n\t12. heartright\n\t13. henry3d\n\t14. horizontalleft\n\t15. horizontalright\n### Changed\n- `setuptools` removed from `requirements.txt`\n- `OSX` env added to `.travis.yml`\n- Test cases modified\n- `text2art` bug in OSX fixed\n\n## [2.0] - 2018-08-30\n### Added\n- 20 new fonts\n\t1. bigfig\n\t2. bolger\n\t3. braced\n\t4. bright\n\t5. broadway\n\t6. cards\n\t7. chiseled\n\t8. cola\n\t9. crawford\n\t10. cricket\n\t11. DANC4\n\t12. dancingfont\n\t13. decimal\n\t14. defleppard\n\t15. dietcola\n\t16. flipped\n\t17. double\n\t18. doubleshorts\n\t19. eftipiti\n\t20. filter\n- Font list HTML page\n- Art list HTML page\n\n## [1.9] - 2018-08-23\n### Added\n- 20 new fonts\n\t1. cybersmall\n\t2. gothic\n\t3. rev\n\t4. smtengwar\n\t5. term\n\t6. 1row\n\t7. 3d_diagonal\n\t8. 4max\n\t9. amc3line\n\t10. amcrazor\n\t11. amcaaa01\n\t12. amcneko\n\t13. amcrrazo2\n\t14. amcslash\n\t15. amcthin\n\t16. amctubes\n\t17. amcun1\n\t18. arrows\n\t19. bear\n\t20. benjamin\n\n## [1.8] - 2018-08-06\n### Added\n- 30 new 1-line art\n\t1. westbound fish\n\t2. telephone\n\t3. 9/11 truth\n\t4. spear\n\t5. srs face\n\t6. this is areku\n\t7. robot boy\n\t8. med man\n\t9. angry\n\t10. badass\n\t11. zoidberg\n\t12. eastbound fish\n\t13. kilroy was here\n\t14. gtalk fit\n\t15. thanks\n\t16. dalek\n\t17. sean the sheep\n\t18. kablewee\n\t19. i dont care\n\t20. slenderman\n\t21. john lennon\n\t22. peace yo\n\t23. punch\n\t24. russian boobs\n\t25. fuck off\n\t26. man tears\n\t27. robber\n\t28. facepalm\n\t29. yo\n\t30. party time\n\n## [1.7] - 2018-08-01\n### Added\n- 30 new 1-line art\n\t1. crayons\n\t2. stars in my eyes\n\t3. fish invasion\n\t4. bender\n\t5. musical\n\t6. sunny day\n\t7. happy birthday 1\n\t8. line brack\n\t9. med\n\t10. melp1\n\t11. happy3\n\t12. happy square\n\t13. snowman\n\t14. melp2\n\t15. i kill you\n\t16. jaymz\n\t17. text decoration\n\t18. long rose\n\t19. kirbay dance\n\t20. death star defense team\n\t21. chainsword\n\t22. boobies\n\t23. dancing people\n\t24. dance\n\t25. pictou\n\t26. polar bear\n\t27. go away bear\n\t28. charly\n\t29. train\n\t30. spot\n### Changed\n- `car race` 1-line art fixed\n\n## [1.6] - 2018-07-10\n### Added\n- 30 new 1-line art\n\t1. sexy symbol\n\t2. barbell\n\t3. sniper rifle\n\t4. being draged\n\t5. possessed\n\t6. jokeranonimous\n\t7. epic gun\n\t8. love\n\t9. love2\n\t10. eric\n\t11. puls\n\t12. sky free\n\t13. smug bastard\n\t14. tie-fighter\n\t15. kyubey\n\t16. dancee\n\t17. mtmtika\n\t18. ak-47\n\t19. eaten apple\n\t20. huhu\n\t21. faydre\n\t22. domino\n\t23. honeycute\n\t24. superman\n\t25. worm2\n\t26. jokeranonimous2\n\t27. kyubey2\n\t28. nose2\n\t29. hell yeah\n\t30. roke\n\n## [1.5] - 2018-06-18\n### Added\n- 30 new 1-line art\n\t1. sorreh bro\n\t2. yolo\n\t3. formula 1 car\n\t4. dummy\n\t5. rope\n\t6. rare\n\t7. chess pieces\n\t8. sparkling heart\n\t9. weather\n\t10. stars2\n\t11. upsidedown\n\t12. nathan\n\t13. cat smile\n\t14. old lady boobs\n\t15. glasses2\n\t16. religious\n\t17. sniperstars\n\t18. kokain\n\t19. bagel\n\t20. crying\n\t21. angry2\n\t22. 3\n\t23. 5\n\t24. fuck you\n\t25. head shot\n\t26. metal\n\t27. killer\n\t28. fu\n\t29. ankush\n\t30. owlkin\n### Changed\n- CLI `art` flag\n- CLI `list` flag\n## [1.4] - 2018-06-14\n### Added\n- 15 new fonts\n\t1. letters\n\t2. lockergnome\n\t3. madrid\n\t4. marquee\n\t5. mike\n\t6. mini\n\t7. nancyj-fancy\n\t8. nancyj-underlined\n\t9. pepper\n\t10. poison\n\t11. rot13\n\t12. short\n\t13. small\n\t14. tengwar\n\t15. big\n- 11 new 1-line art\n\t1. teddy\n\t2. dice\n\t3. bee\n\t4. ukulele\n\t5. perky\n\t6. snail\n\t7. decorate\n\t8. kirby\n\t9. mango\n\t10. bunny\n\t11. kiss\n- `random` 1-line art mode\n### Changed\n- Minor bug in `text2art` random range fixed\n- `README.md` modified\n- `aprint_test` function renamed to `art_list`\n- `setup.py` modified\n\n## [1.3] - 2018-06-08\n### Added\n- 10 new fonts\n\t1. eftitalic\n\t2. eftiwater\n\t3. fourtops\n\t4. goofy\n\t5. hollywood\n\t6. invita\n\t7. italic\n\t8. jazmine\n\t9. lcd\n\t10. lean\n- `random` font mode\n\n## [1.2] - 2018-06-04\n### Added\n- 8 new fonts\n\t1. barbwire\n\t2. bigchief\n\t3. binary\n\t4. bubble\n\t5. calgphy2\n\t6. cygnet\n\t7. diamond\n\t8. eftifont\n### Changed\n- Test cases modified\n\n## [1.1] - 2018-05-25\n### Added\n- 5 new fonts\n\t1. peaks\n\t2. pawp\n\t3. o8\n\t4. nipples\n\t5. maxfour\n- 15 new 1-line art\n\t1. guitar\n\t2. rocket\n\t3. ghost\n\t4. hal\n\t5. cthulhu\n\t6. sat\n\t7. what\n\t8. king\n\t9. tron\n\t10. homer\n\t11. fox\n\t12. singing\n\t13. atish\n\t14. zable\n\t15. trumpet\n- CLI description\n### Changed\n- `README.md` modified\n- Test cases modified\n- File name bug in UNIX fixed\n- `CHANGELOG.md` modified\n\n## [1.0] - 2018-05-20\n### Added\n- 15 new fonts\t\t\t\t\t\t\t\t\t\t\n\t1. tinker-toy\n\t2. straight\n\t3. stampatello\n\t4. smslant\n\t5. smshadow\n\t6. smscript\n\t7. smkeyboard\n\t8. smisome1\n\t9. slscript\n\t10. slide\n\t11. sblood\n\t12. rozzo\n\t13. pyramid\n\t14. puffy\n\t15. pebbles\n- Typo-tolerance system\n### Changed\n- `README.md` modified\n- Test cases modified\n\n## [0.9] - 2018-05-08\n### Added\n- 10 new fonts\t\t\t\n\t1. weird\n\t2. univers\n\t3. twopoint\n\t4. trek\n\t5. tombstone\n\t6. threepoint\n\t7. thick\n\t8. tanja\n\t9. swan\n\t10. stellar \n\n### Changed\n- `MANIFEST.in` modified\n- `INSTALL.md` modified\n\n## [0.8] - 2018-03-13\n### Added\n- `CHANGELOG.md`\n\n### Changed\n- Functions error response\n- `README.md` modified\n- `tsave` function extension bug fixed\n- `text2art` response bug fixed (\"\\r\\n\")\n- `setup.py` modified\n\n## [0.7] - 2018-01-20\n### Added\n- 10 new fonts\t\t\n\t1. acrobatic\n\t2. alligator\n\t3. alligator2\n\t4. block2\n\t5. caligraphy\n\t6. computer\n\t7. digital\n\t8. doh\n\t9. eftirobot\n\t10. graffiti\n\n## [0.6] - \t2018-01-09\n### Added\n- `all` flag\n\n## [0.5] - 2017-12-05\n### Added\n- 10 new fonts\n\t1. 3-d\n\t2. 3x5\n\t3. 5lineoblique\n\t4. alphabet\n\t5. banner3-D\n\t6. banner3\n\t7. banner4\n\t8. bell\n\t9. catwalk\n\t10. colossal\n\n## [0.4] - 2017-11-11\n### Added\n- Telegram bot\n\n\n### Changed\n- Universal text format added for Unix & Windows\n\n\n\n## [0.3] - \t2017-10-28\n### Added\n- Save function (tsave)\n- `chr_ignore` flag\n- 10 new fonts\n\t1. banner\n\t2. avatar\n\t3. basic\n\t4. bulbhead\n\t5. chunky\n\t6. coinstak\n\t7. contessa\n\t8. contrast\n\t9. cyberlarge\n\t10. cybermedium\n\t11. doom\n\t12. dotmatrix\n\t13. drpepper\n\t14. epic\n\t15. fuzzy\n\t16. isometric1\n\t17. isometric2\n\t18. isometric3\n\t19. isometric4\n\t20. larry3d\n\t21. nancyj\n\t22. ogre\n\t23. rectangles\n\t24. roman\n\t25. rounded\n\t26. rowancap\n\t27. script\n\t28. serifcap\n\t29. shadow\n\t30. slant\n\t31. speed\n\t32. starwars\n\t33. stop\n\t34. thin\n\t35. usaflag\n### Changed\n- Space bug fixed\n\n\n## [0.2] - \t2017-10-10\n### Added\n- Standard font\n### Changed\n- Minor bugs fixed\n\n## [0.1] - 2017-10-04\n### Added\n- Block font\n- 1-Line art\n- CLI commands\n\n[Unreleased]: https://github.com/sepandhaghighi/art/compare/v6.3...dev\n[6.3]: https://github.com/sepandhaghighi/art/compare/v6.2...v6.3\n[6.2]: https://github.com/sepandhaghighi/art/compare/v6.1...v6.2\n[6.1]: https://github.com/sepandhaghighi/art/compare/v6.0...v6.1\n[6.0]: https://github.com/sepandhaghighi/art/compare/v5.9...v6.0\n[5.9]: https://github.com/sepandhaghighi/art/compare/v5.8...v5.9\n[5.8]: https://github.com/sepandhaghighi/art/compare/v5.7...v5.8\n[5.7]: https://github.com/sepandhaghighi/art/compare/v5.6...v5.7\n[5.6]: https://github.com/sepandhaghighi/art/compare/v5.5...v5.6\n[5.5]: https://github.com/sepandhaghighi/art/compare/v5.4...v5.5\n[5.4]: https://github.com/sepandhaghighi/art/compare/v5.3...v5.4\n[5.3]: https://github.com/sepandhaghighi/art/compare/v5.2...v5.3\n[5.2]: https://github.com/sepandhaghighi/art/compare/v5.1...v5.2\n[5.1]: https://github.com/sepandhaghighi/art/compare/v5.0...v5.1\n[5.0]: https://github.com/sepandhaghighi/art/compare/v4.9...v5.0\n[4.9]: https://github.com/sepandhaghighi/art/compare/v4.8...v4.9\n[4.8]: https://github.com/sepandhaghighi/art/compare/v4.7...v4.8\n[4.7]: https://github.com/sepandhaghighi/art/compare/v4.6...v4.7\n[4.6]: https://github.com/sepandhaghighi/art/compare/v4.5...v4.6\n[4.5]: https://github.com/sepandhaghighi/art/compare/v4.4...v4.5\n[4.4]: https://github.com/sepandhaghighi/art/compare/v4.3...v4.4\n[4.3]: https://github.com/sepandhaghighi/art/compare/v4.2...v4.3\n[4.2]: https://github.com/sepandhaghighi/art/compare/v4.1...v4.2\n[4.1]: https://github.com/sepandhaghighi/art/compare/v4.0...v4.1\n[4.0]: https://github.com/sepandhaghighi/art/compare/v3.9...v4.0\n[3.9]: https://github.com/sepandhaghighi/art/compare/v3.8...v3.9\n[3.8]: https://github.com/sepandhaghighi/art/compare/v3.7...v3.8\n[3.7]: https://github.com/sepandhaghighi/art/compare/v3.6...v3.7\n[3.6]: https://github.com/sepandhaghighi/art/compare/v3.5...v3.6\n[3.5]: https://github.com/sepandhaghighi/art/compare/v3.4...v3.5\n[3.4]: https://github.com/sepandhaghighi/art/compare/v3.3...v3.4\n[3.3]: https://github.com/sepandhaghighi/art/compare/v3.2...v3.3\n[3.2]: https://github.com/sepandhaghighi/art/compare/v3.1...v3.2\n[3.1]: https://github.com/sepandhaghighi/art/compare/v3.0...v3.1\n[3.0]: https://github.com/sepandhaghighi/art/compare/v2.9...v3.0\n[2.9]: https://github.com/sepandhaghighi/art/compare/v2.8...v2.9\n[2.8]: https://github.com/sepandhaghighi/art/compare/v2.7...v2.8\n[2.7]: https://github.com/sepandhaghighi/art/compare/v2.6...v2.7\n[2.6]: https://github.com/sepandhaghighi/art/compare/v2.5...v2.6\n[2.5]: https://github.com/sepandhaghighi/art/compare/v2.4...v2.5\n[2.4]: https://github.com/sepandhaghighi/art/compare/v2.3...v2.4\n[2.3]: https://github.com/sepandhaghighi/art/compare/v2.2...v2.3\n[2.2]: https://github.com/sepandhaghighi/art/compare/v2.1...v2.2\n[2.1]: https://github.com/sepandhaghighi/art/compare/v2.0...v2.1\n[2.0]: https://github.com/sepandhaghighi/art/compare/v1.9...v2.0\n[1.9]: https://github.com/sepandhaghighi/art/compare/v1.8...v1.9\n[1.8]: https://github.com/sepandhaghighi/art/compare/v1.7...v1.8\n[1.7]: https://github.com/sepandhaghighi/art/compare/v1.6...v1.7\n[1.6]: https://github.com/sepandhaghighi/art/compare/v1.5...v1.6\n[1.5]: https://github.com/sepandhaghighi/art/compare/v1.4...v1.5\n[1.4]: https://github.com/sepandhaghighi/art/compare/v1.3...v1.4\n[1.3]: https://github.com/sepandhaghighi/art/compare/v1.2...v1.3\n[1.2]: https://github.com/sepandhaghighi/art/compare/v1.1...v1.2\n[1.1]: https://github.com/sepandhaghighi/art/compare/v1.0...v1.1\n[1.0]: https://github.com/sepandhaghighi/art/compare/v0.9...v1.0\n[0.9]: https://github.com/sepandhaghighi/art/compare/v0.8...v0.9\n[0.8]: https://github.com/sepandhaghighi/art/compare/v0.7...v0.8\n[0.7]: https://github.com/sepandhaghighi/art/compare/v0.6...v0.7\n[0.6]: https://github.com/sepandhaghighi/art/compare/v0.5...v0.6\n[0.5]: https://github.com/sepandhaghighi/art/compare/v0.4...v0.5\n[0.4]: https://github.com/sepandhaghighi/art/compare/v0.3...v0.4\n[0.3]: https://github.com/sepandhaghighi/art/compare/v0.2...v0.3\n[0.2]: https://github.com/sepandhaghighi/art/compare/v0.1...v0.2\n[0.1]: https://github.com/sepandhaghighi/art/compare/1e238cd...v0.1\n\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "ASCII Art Library For Python",
"version": "6.3",
"project_urls": {
"Discord": "https://discord.com/invite/FAAyq3QJqP",
"Homepage": "https://github.com/sepandhaghighi/art",
"Source": "https://github.com/sepandhaghighi/art",
"Tracker": "https://github.com/sepandhaghighi/art/issues",
"Webpage": "https://www.ascii-art.site"
},
"split_keywords": [
"ascii",
"art",
"python3",
"python",
"text",
"font",
"non-ascii",
"printing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b02e2ad0cca2345e5bff23b979602917f39e844951dafe3b541935cc2850ee36",
"md5": "0129cbcbf00c61a6df1533a81ad72b0f",
"sha256": "707ccb5d9c1da33225385e77fbc93a52bedf73a3cb288939979ed709226c4c27"
},
"downloads": -1,
"filename": "art-6.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0129cbcbf00c61a6df1533a81ad72b0f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 606332,
"upload_time": "2024-09-19T15:42:42",
"upload_time_iso_8601": "2024-09-19T15:42:42.957615Z",
"url": "https://files.pythonhosted.org/packages/b0/2e/2ad0cca2345e5bff23b979602917f39e844951dafe3b541935cc2850ee36/art-6.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f5499d40caffc16ab712bef515afd19dc069d36c47c86ef54e22e73068cfcfea",
"md5": "726ee8489ab7fbf8942903d61cd9da66",
"sha256": "0fbc28864583ba54bcdc17ec24ef6c51a1fc81729a5c68d9b38658bc0afbc598"
},
"downloads": -1,
"filename": "art-6.3.tar.gz",
"has_sig": false,
"md5_digest": "726ee8489ab7fbf8942903d61cd9da66",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 668231,
"upload_time": "2024-09-19T15:42:41",
"upload_time_iso_8601": "2024-09-19T15:42:41.210450Z",
"url": "https://files.pythonhosted.org/packages/f5/49/9d40caffc16ab712bef515afd19dc069d36c47c86ef54e22e73068cfcfea/art-6.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-19 15:42:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sepandhaghighi",
"github_project": "art",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "art"
}