Skip to content

Repository files navigation

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

Tests

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

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:

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

Supported Characters

AO22=
BP33@
CQ44#
DR55$
ES66%
FT77&
GU88(
HV99)
IW!!/
JX??:
KY..;
LZ++,
M0--'
N1__`` (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 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.

Releases

Sponsor this project

Packages

Contributors

Languages