CFonts: Sexy fonts for the console

https://img.shields.io/pypi/v/python-cfonts.svg https://img.shields.io/pypi/pyversions/python-cfonts.svg _images/example.png

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

This project supports Python 2.7+ and 3.5+

Installation

Recommended way: use pipx:

$ pipx install python-cfonts

Or alternatively, install using Pip:

$ pip install python-cfonts

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.

Examples

_images/demos.png

API References

cfonts.render(text, font='block', size=(80, 24), colors=None, background='transparent', align='left', letter_spacing=None, line_height=1, space=True, max_length=0, gradient=None, independent_gradient=False, transition=False)

Main function to get the colored output for a string.

Parameters:
  • text – the string you want to render
  • font – use to define the font
  • size – a (width, height) tuple to define the window size
  • colors – a list of color names to render sequentially
  • background – background color name
  • align – the alignment method: left/center/right
  • letter_spacing – the amount of spacing inserted between letters
  • line_height – the height of each line
  • space – whether to wrap the output with blank lines
  • max_length – define the max length of per line, use 0 to disable
  • gradient – define the gradient color sequence
  • independent_gradient – whether to apply gradient to each line independently
  • transition – If set to True, will generate transition gradient colors
Returns:

the colored output string

cfonts.say(text, **options)

Render and write the output to stout.

Parameters:
  • text – the string you want to render
  • options – options passed as same as cfonts.render()
Returns:

None