โโโโโโโ โโโโโโโโ โโโโโโโ โโโโ โโโ โโโโโโโโโ โโโโโโโโ
โโโโโโโโ โโโโโโโโ โโโโโโโโโ โโโโโ โโโ โโโโโโโโโ โโโโโโโโ
โโโ โโโโโโ โโโ โโโ โโโโโโ โโโ โโโ โโโโโโโโ
โโโ โโโโโโ โโโ โโโ โโโโโโโโโโ โโโ โโโโโโโโ
โโโโโโโโ โโโ โโโโโโโโโ โโโ โโโโโโ โโโ โโโโโโโโ
โโโโโโโ โโโ โโโโโโโ โโโ โโโโโ โโโ โโโโโโโโ
This is a Python port of cfonts. Thanks for the original code and beautiful console fonts!
NOTE: This project supports Python 3.6+
Installation
$ pip install python-cfonts
Usage
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.5.2 Fix the RGB color codes for truecolor system.
- v1.5.1
- Fix the truecolor display on Windows.
- Enable truecolor by default for Windows Terminal.
- Add type hints for the codebase.
- v1.5.0 Officially drop support of Python 2.7
- v1.4.0 Officially drop support of Python 3.5
- v1.3.1 Fix the sdist.
- v1.3.0 Relicense to MIT.
- v1.2.0 Add font
tiny
. - v1.1.0 Switch to
argparse
to drop dependencyclick
. - 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.