python-cfonts

by frostming

frostming / python-cfonts

Sexy fonts for the console

135 Stars 4 Forks Last release: Not found MIT License 60 Commits 11 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

  ██████╗ ███████╗  ██████╗  ███╗   ██╗ ████████╗ ███████╗
 ██╔════╝ ██╔════╝ ██╔═══██╗ ████╗  ██║ ╚══██╔══╝ ██╔════╝
 ██║      █████╗   ██║   ██║ ██╔██╗ ██║    ██║    ███████╗
 ██║      ██╔══╝   ██║   ██║ ██║╚██╗██║    ██║    ╚════██║
 ╚██████╗ ██║      ╚██████╔╝ ██║ ╚████║    ██║    ███████║
  ╚═════╝ ╚═╝       ╚═════╝  ╚═╝  ╚═══╝    ╚═╝    ╚══════╝

Tests

This is a Python port of cfonts. Thanks for the original code and beautiful console fonts!

NOTE: This project supports Python 2.7+ and 3.5+

Installation

$ pip install python-cfonts

Usage

Documentation

Command line interface:

usage: cfonts [-h] [-V]
              [-f {console,block,simpleBlock,simple,3d,simple3d,chrome,huge,grid,pallet,shade,slick}]
              [-c COLORS] [-b BACKGROUND] [-a {left,center,right}]
              [-l LETTER_SPACING] [-z LINE_HEIGHT] [-s] [-m MAX_LENGTH]
              [-g GRADIENT] [-i] [-t]
              text

positional arguments: text

optional arguments: -h, --help show this help message and exit -V, --version show program's version number and exit -f {console,block,simpleBlock,simple,3d,simple3d,chrome,huge,grid,pallet,shade,slick}, --font {console,block,simpleBlock,simple,3d,simple3d,chrome,huge,grid,pallet,shade,slick} Use to define the font face -c COLORS, --colors COLORS Use to define the font color -b BACKGROUND, --background BACKGROUND Use to define the background color -a {left,center,right}, --align {left,center,right} Use to align the text output -l LETTER_SPACING, --letter-spacing LETTER_SPACING Use to define the letter spacing -z LINE_HEIGHT, --line-height LINE_HEIGHT Use to define the line height -s, --spaceless Use to define the background color -m MAX_LENGTH, --max-length MAX_LENGTH Use to define the amount of maximum characters per line -g GRADIENT, --gradient GRADIENT Define gradient colors(separated by comma) -i, --independent-gradient Set this option to re-calculate the gradient colors for each new line.Only works in combination with the gradient option. -t, --transition-gradient Set this option to generate your own gradients. Each color set in the gradient option will then be transitioned to directly.

Or generate the fonts pragramatically:

from cfonts import render, say

output = render('Hello world', colors=['red', 'yellow'], align='center') print(output)

Supported Characters

| | | | | | | --- | --- | --- | --- | ---------- | |

A
|
O
|
2
|
2
|
=
| |
B
|
P
|
3
|
3
|
@
| |
C
|
Q
|
4
|
4
|
#
| |
D
|
R
|
5
|
5
|
$
| |
E
|
S
|
6
|
6
|
%
| |
F
|
T
|
7
|
7
|
&
| |
G
|
U
|
8
|
8
|
(
| |
H
|
V
|
9
|
9
|
)
| |
I
|
W
|
!
|
!
|
/
| |
J
|
X
|
?
|
?
|
:
| |
K
|
Y
|
.
|
.
|
;
| |
L
|
Z
|
+
|
+
|
,
| |
M
|
0
|
-
|
-
|
'
| |
N
|
1
|
_
|
_
| `
(space) |
|
"` |

Contributing

python-cfonts
is managed by pdm, first install it:
pipx install pdm

Then, install a dependencies:

pdm install -d

Run tests:

$ pdm run pytest tests

License

The project is originated by @dominikwilkowski, under GPLv2 license. Ported by @frostming, under MIT license. See LICENSE for details

Changelog

  • v1.3.0 Relicense to MIT.
  • v1.2.0 Add font
    tiny
    .
  • v1.1.0 Switch to
    argparse
    to drop dependency
    click
    .
  • v1.0.0 Support gradient colors and transition gradient.
  • v0.5.0 Add four new fonts and double quote as supported charater.
  • v0.3.1 Fix a bug that the background doesn't span the full width.
  • v0.3.0 Supports Python 2.7.
  • v0.2.0 Initial commit and testing.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.